Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
c17cc0a
remove in map legend
flacoman91 Apr 9, 2026
16b3857
update gride, update tooltip
flacoman91 Apr 9, 2026
ddfb4f4
restore correct icons
flacoman91 Apr 9, 2026
a7aea0c
dist
flacoman91 Apr 10, 2026
f5606bc
fixing test
flacoman91 Apr 10, 2026
7445965
save work
flacoman91 Apr 10, 2026
ed3de05
clean up style
flacoman91 Apr 10, 2026
23f5c9d
save some work
flacoman91 Apr 10, 2026
dee6e7c
save work
flacoman91 Apr 10, 2026
9a56b1d
cleanup stuff, fixing widths
flacoman91 Apr 10, 2026
eef8af5
alternate tooltip work
flacoman91 Apr 10, 2026
e623977
update map
flacoman91 Apr 10, 2026
2af2f98
update test, update chart text
flacoman91 Apr 10, 2026
77c3d37
remove per capita test
flacoman91 Apr 10, 2026
93c4cfb
remove Per1000 Calculation and unused functions
flacoman91 Apr 11, 2026
a11d3fd
update style when keyboard, also update interactivity
flacoman91 Apr 13, 2026
42145ab
update styling, fix cut off map
flacoman91 Apr 13, 2026
d4ad5c2
save work
flacoman91 Apr 14, 2026
8a0c37f
fixing unit tests
flacoman91 Apr 14, 2026
c2f6b65
update dist
flacoman91 Apr 14, 2026
d7497eb
update dist
flacoman91 Apr 14, 2026
5882c51
update dist
flacoman91 Apr 14, 2026
8d2dfba
update css
flacoman91 Apr 14, 2026
c4e1634
fix test
flacoman91 Apr 14, 2026
c483836
update dist
flacoman91 Apr 14, 2026
c9a5540
update dist
flacoman91 Apr 14, 2026
830eb10
update packge depends
flacoman91 Apr 14, 2026
d205866
update dist
flacoman91 Apr 14, 2026
a8436fc
update deps
flacoman91 Apr 14, 2026
1eacb0d
downgrade versions
flacoman91 Apr 14, 2026
375cbf3
fix cypress
flacoman91 Apr 14, 2026
976625c
troubleshooting cypress
flacoman91 Apr 14, 2026
53ac3ed
update cypress proxy
flacoman91 Apr 14, 2026
92a1d66
one function to rule them all, update pills to match
flacoman91 Apr 14, 2026
7268748
update tile map and popup
flacoman91 Apr 14, 2026
a3561fa
dist
flacoman91 Apr 14, 2026
45f9052
mobile legend
flacoman91 Apr 14, 2026
6cc43d2
clean up styles, update open close button
flacoman91 Apr 14, 2026
3a6bdfb
fixing threshold
flacoman91 Apr 14, 2026
08cd65a
update test
flacoman91 Apr 15, 2026
ac69e8c
adjust row chart width
flacoman91 Apr 15, 2026
ff56322
update dist
flacoman91 Apr 15, 2026
d2db95f
mobile tooltip
flacoman91 Apr 15, 2026
1e3f3c9
fix unit test
flacoman91 Apr 15, 2026
efea913
update tile map, legend, text
flacoman91 Apr 15, 2026
12f9c45
tile map
flacoman91 Apr 15, 2026
b291088
mobile tip
flacoman91 Apr 15, 2026
034b1da
fix test
flacoman91 Apr 15, 2026
f0d39f8
fix desktop tip
flacoman91 Apr 15, 2026
7914a5d
clean up margins, use o-well component
flacoman91 Apr 15, 2026
1ac2a7e
action bar
flacoman91 Apr 15, 2026
bd2eefa
save work. udpate highlighting
flacoman91 Apr 15, 2026
4350666
flex grow
flacoman91 Apr 15, 2026
35fac50
update border
flacoman91 Apr 15, 2026
951d350
fix issue
flacoman91 Apr 15, 2026
02a83bb
update well container
flacoman91 Apr 15, 2026
a0f3662
clean up margins
flacoman91 Apr 15, 2026
012ab8d
update flex
flacoman91 Apr 15, 2026
07c2ed6
update build to use latest DSR
flacoman91 Apr 16, 2026
d98f8f7
update map and chart styling, mobile margins
flacoman91 Apr 16, 2026
4bc0dd1
update style
flacoman91 Apr 16, 2026
7d833be
deprecate device widths, update map
flacoman91 Apr 16, 2026
51bae4d
adjust print timeout to let it build
flacoman91 Apr 16, 2026
9137d4c
update dist
flacoman91 Apr 16, 2026
9d29732
update print style
flacoman91 Apr 16, 2026
4122ed8
update legend
flacoman91 Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 13 additions & 9 deletions cypress/e2e/common/filters.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ describe('Filter Panel', () => {
cy.url().should('include', `date_received_max=202`);
cy.log('can expand/collapse/apply filter group');
// default date Filter pills
cy.get('.pill-panel .pill').should('have.length', 1);
cy.get('.pill-panel .a-tag-filter').should('have.length', 1);
waitForLoading();

cy.log('close simple filter, as it is open by default');
Expand All @@ -86,13 +86,13 @@ describe('Filter Panel', () => {

cy.url().should('include', 'timely=Yes');
// Filter pill
cy.get('.pill-panel .pill').contains('Timely: Yes').should('exist');
cy.get('.pill-panel .a-tag-filter').contains('Timely: Yes').should('exist');

// Filter clear button
cy.get('li.clear-all').should('exist');
cy.get('li.clear-all').click();
cy.get('li.pill-panel__clear button').should('exist');
cy.get('li.pill-panel__clear button').click();

cy.get('.pill-panel .pill').should('not.exist');
cy.get('.pill-panel .a-tag-filter').should('not.exist');

// Product/Sub-product
cy.log('can collapse/expand a complex filter');
Expand Down Expand Up @@ -134,7 +134,7 @@ describe('Filter Panel', () => {
cy.get('input#product-mortgage').click({ force: true });
waitForLoading();

cy.get('.pill-panel .pill').contains('Mortgage').should('exist');
cy.get('.pill-panel .a-tag-filter').contains('Mortgage').should('exist');
cy.url().should('include', 'product=Mortgage');
cy.log('remove filter');
cy.get('input#product-mortgage').click({ force: true });
Expand All @@ -157,13 +157,17 @@ describe('Filter Panel', () => {

cy.url().should('include', '&product=Mortgage%E2%80%A2FHA%20mortgage');

cy.get('.pill-panel .pill').contains('FHA mortgage').should('exist');
cy.get('.pill-panel .a-tag-filter')
.contains('FHA mortgage')
.should('exist');

cy.log('remove sub-filter when applying parent filter');
cy.get('input#product-mortgage').click({ force: true });
waitForLoading();

cy.get('.pill-panel .pill').contains('FHA mortgage').should('not.exist');
cy.get('.pill-panel .a-tag-filter')
.contains('FHA mortgage')
.should('not.exist');

cy.url().should('not.include', '&product=Mortgage%E2%80%A2FHA%20mortgage');
cy.url().should('include', 'product=Mortgage');
Expand Down Expand Up @@ -194,6 +198,6 @@ describe('Filter Panel', () => {

cy.get('.state .typeahead-selector li').contains('Texas').click();

cy.get('.pill-panel .pill').contains('TX').should('exist');
cy.get('.pill-panel .a-tag-filter').contains('TX').should('exist');
});
});
4 changes: 2 additions & 2 deletions cypress/e2e/document/document.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ describe('Document View', () => {
'Relevance',
);

cy.contains('.pill', 'Has narrative').should('be.visible');
cy.contains('.a-tag-filter', 'Has narrative').should('be.visible');

cy.get('#filterHasNarrative').should('be.checked');
cy.get('.cards-panel .card-container a').first().click();
Expand All @@ -58,7 +58,7 @@ describe('Document View', () => {
'Relevance',
);

cy.contains('.pill', 'Has narrative').should('be.visible');
cy.contains('.a-tag-filter', 'Has narrative').should('be.visible');

cy.get('#filterHasNarrative').should('be.checked');
});
Expand Down
2 changes: 1 addition & 1 deletion dist/ccdb5.css

Large diffs are not rendered by default.

24 changes: 21 additions & 3 deletions dist/ccdb5.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/ccdb5.js.LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
*/

/**
* react-router v7.13.1
* react-router v7.14.1
*
* Copyright (c) Remix Software Inc.
*
Expand Down
2 changes: 1 addition & 1 deletion dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Development Harness</title>
<script defer src="/ccdb5.js"></script><link href="/ccdb5.css" rel="stylesheet"></head>
<body>
<body class="ccdb-dev-harness">
<div id="ccdb-ui-root"></div>
</body>
</html>
8 changes: 4 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ module.exports = {
],
coverageThreshold: {
global: {
branches: 86,
functions: 93,
lines: 94,
statements: 94,
branches: 81,
functions: 91,
lines: 91,
statements: 90,
},
},
coverageReporters: ['lcov', 'text', 'html', 'text-summary'],
Expand Down
40 changes: 20 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,27 +34,27 @@
"preview": "rsbuild preview"
},
"dependencies": {
"@cfpb/cfpb-design-system": "^4.4.0",
"@cfpb/design-system-react": "^1.0.0",
"@cfpb/cfpb-design-system": "^5.3.1",
"@cfpb/design-system-react": "^1.0.2",
"@reduxjs/toolkit": "^2.11.2",
"britecharts": "git+https://github.com/cfpb/cfpb-britecharts.git#v2.5",
"britecharts": "git+https://github.com/cfpb/cfpb-britecharts.git#v2.6",
"d3": "^7.9.0",
"d3-array": "3.2.4",
"dayjs": "^1.11.20",
"highcharts": "12.5.0",
"highcharts": "12.6.0",
"history": "^5.3.0",
"intro.js": "7.2.0",
"intro.js-react": "1.0.0",
"prop-types": "^15.8.1",
"query-string": "^9.3.1",
"react": "^19.2.4",
"react": "^19.2.5",
"react-bootstrap": "^2.10.10",
"react-bootstrap-typeahead": "^6.4.1",
"react-dom": "^19.2.4",
"react-dom": "^19.2.5",
"react-fast-compare": "^3.2.2",
"react-modal": "^3.16.3",
"react-redux": "^9.2.0",
"react-router": "^7.13.1"
"react-router": "^7.14.1"
},
"devDependencies": {
"@babel/core": "^7.29.0",
Expand All @@ -64,7 +64,7 @@
"@babel/preset-react": "^7.28.5",
"@cfpb/browserslist-config": "^0.0.6",
"@eslint/js": "^9.39.4",
"@rsbuild/core": "^1.7.3",
"@rsbuild/core": "^1.7.5",
"@rsbuild/plugin-react": "^1.4.6",
"@rsbuild/plugin-sass": "^1.5.1",
"@rsbuild/plugin-svgr": "^1.3.1",
Expand All @@ -74,40 +74,40 @@
"@testing-library/react": "^16.3.2",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "^14.6.1",
"autoprefixer": "^10.4.27",
"autoprefixer": "^10.5.0",
"babel-jest": "^30.3.0",
"babel-plugin-module-resolver": "^5.0.3",
"coveralls-next": "^6.0.1",
"cypress": "^15.12.0",
"cypress": "^15.13.1",
"eslint": "^9.39.4",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-cypress": "^5.3.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^29.15.0",
"eslint-plugin-jest": "^29.15.2",
"eslint-plugin-jest-dom": "^5.5.0",
"eslint-plugin-jsdoc": "^62.8.0",
"eslint-plugin-jsdoc": "^62.9.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-redux": "^4.2.2",
"eslint-plugin-testing-library": "^7.16.1",
"globals": "^17.4.0",
"eslint-plugin-testing-library": "^7.16.2",
"globals": "^17.5.0",
"husky": "^9.1.7",
"identity-obj-proxy": "3.0.0",
"jest": "^30.3.0",
"jest-environment-jsdom": "^30.3.0",
"jest-fetch-mock": "^3.0.3",
"lint-staged": "^16.4.0",
"lodash": "^4.17.23",
"postcss": "^8.5.8",
"prettier": "^3.8.1",
"lodash": "^4.18.1",
"postcss": "^8.5.10",
"prettier": "^3.8.3",
"release-it": "^19.2.4",
"sass": "^1.98.0",
"sass": "^1.99.0",
"string-replace-loader": "^3.3.0",
"stylelint": "^17.5.0",
"stylelint": "^17.8.0",
"stylelint-config-standard": "^40.0.0",
"stylelint-config-standard-scss": "^17.0.0",
"webpack": "^5.105.4"
"webpack": "^5.106.2"
},
"lint-staged": {
"src/**/*.{css,scss}": [
Expand Down
2 changes: 1 addition & 1 deletion public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Development Harness</title>
</head>
<body>
<body class="ccdb-dev-harness">
<div id="ccdb-ui-root"></div>
</body>
</html>
2 changes: 2 additions & 0 deletions rsbuild.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ export default defineConfig({
proxy: {
// http://localhost:3000/api -> http://localhost:3000/api
// http://localhost:3000/api/foo -> http://localhost:3000/api/foo
// swap for local development when the API is down.
// https://www.consumerfinance.gov -> http://localhost:8000/
'/data-research': 'https://www.consumerfinance.gov',
},
},
Expand Down
24 changes: 3 additions & 21 deletions src/api/params/params.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,7 @@ export function extractAggregationParams(filters, query) {
!['frm', 'page', 'search_after', 'size', 'sort'].includes(key),
);

const filterParams = Object.keys(filters).filter(
(key) =>
// exclude these from query
!['dataNormalization', 'enablePer1000', 'mapWarningEnabled'].includes(
key,
),
);
const filterParams = Object.keys(filters);

// Grab specific attributes from the reducers
return Object.assign(
Expand All @@ -42,13 +36,7 @@ export function extractAggregationParams(filters, query) {
* @returns {object} a dictionary of strings
*/
export function extractBasicParams(filterState, queryState) {
const filterParams = Object.keys(filterState).filter(
(key) =>
// exclude these from query
!['dataNormalization', 'enablePer1000', 'mapWarningEnabled'].includes(
key,
),
);
const filterParams = Object.keys(filterState);

// Grab specific attributes from the reducers
return Object.assign(
Expand Down Expand Up @@ -166,13 +154,7 @@ export function extractTrendsParams(filters, query, trends) {
!['frm', 'page', 'search_after', 'size', 'sort'].includes(key),
);

const filterParams = Object.keys(filterState).filter(
(key) =>
// exclude these from query
!['dataNormalization', 'enablePer1000', 'mapWarningEnabled'].includes(
key,
),
);
const filterParams = Object.keys(filterState);

// Grab specific attributes from the reducers
return Object.assign(
Expand Down
4 changes: 2 additions & 2 deletions src/components/ActionBar/ActionBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const ActionBar = () => {
dispatch(updatePrintModeOn());
};
return (
<div>
<>
<div className="action-bar" id="search-summary">
{total === docCount ? (
<Heading type="2">
Expand Down Expand Up @@ -65,6 +65,6 @@ export const ActionBar = () => {
)}
</div>
<StaleDataWarnings />
</div>
</>
);
};
44 changes: 16 additions & 28 deletions src/components/ActionBar/ActionBar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,25 @@
@use 'css/base' as *;

.action-bar {
border: 1px solid var(--gray-40);
border-left: 0; // Don't double the border with the filters
border-left: 1px solid transparent;
border-right: 1px solid var(--gray-40);
border-bottom: 1px solid var(--gray-40);
background-color: var(--green-20);
padding: $gutter-normal $grid-gutter-width;
margin-left: -15px;

h2 {
margin: 0;

@media screen and (max-width: $layout-breakpoint-phone-max) {
@media screen and (max-width: $bp-xs-max) {
padding: $gutter-normal;
}
}

.export-results {
padding-top: $gutter-minimum;
margin: 0;
margin-bottom: $gutter-minimum;
margin: 0 0 $gutter-minimum;

.a-btn {
margin-right: $gutter-normal;
font-size: $size-v;
Expand All @@ -30,33 +32,19 @@
}
}

.a-btn--link {
color: var(--pacific-dark);

&:hover {
color: var(--navy);
}

&:focus {
color: var(--pacific-dark);
border: 1px dotted var(--pacific-dark);
}

&:active {
color: var(--navy);
border: 1px dotted var(--navy);
}
}

@media screen and (max-width: $layout-breakpoint-phone-max) {
padding-left: 0;
@media screen and (max-width: $bp-xs-max) {
margin: 0;
padding-left: $gutter-normal;
padding-right: $gutter-normal;
border: 1px solid var(--gray-40);
width: 100%;
box-sizing: border-box;
.export-results {
margin-left: 15px;
margin-left: 0;
}
}

@media screen and (min-width: $layout-breakpoint-superwide-min){
padding-left: 40px;
@media screen and (max-width: 749px) {
border-left: 1px solid var(--gray-40);
}
}
5 changes: 3 additions & 2 deletions src/components/Charts/ChartWrapper/ChartWrapper.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import './ChartWrapper.scss';
import PropTypes from 'prop-types';
import { Paragraph } from '@cfpb/design-system-react';

export const ChartWrapper = ({ domId, hasKey }) => (
<section className={`${hasKey ? 'ext-tooltip' : ''}`}>
<div className="chart-wrapper">
<p className="y-axis-label">Complaints</p>
<Paragraph className="y-axis-label">Complaints</Paragraph>
<div id={domId} />
<p className="x-axis-label">Date received by the CFPB</p>
<Paragraph className="x-axis-label">Date received by the CFPB</Paragraph>
</div>
</section>
);
Expand Down
Loading
Loading