Sorry for the large PR. I have added tests to try to ensure existing functionality. Given the large number of changes, I will plan to do a lot of testing on the dev server.
Summary of changes:
Convert and refactor several class components to functional components.
Create new ExpandedView option to help with analyzing records with a large number of cases/charges and includes a charge filtering option.
Provide alternative labeling for charge status.
Create CasesSummary as an alternative RecordSummary display.
Create SummaryStats as an alternative to CountyFines display.
Create CasesNavList to help navigate cases/charges displayed in Record.
Create AssumptionsNew as an alternative Assumptions display.
Create ExpungmentFormsInfo as an alternative FillForms display.
Provide summary PDF download button at the bottom of the page.
Provide the UserDataForm without redirecting.
Provide a button to start over.
Create general use components:
Aside
IconButton
Link
RadioGroup
Create useRadioGroup hook.
Create Redux slices to help separate different Redux logic:
demoSlice - handles demo state.
editingSlice - handles record editing state.
searchFormSlice - handles SearchPanel aliases and date states.
statsSlice - handles case/charge statistics.
summarySlice - handles state for summary PDF download.
Add shortLabel and isExcluded attributes to charges.
Add additional form validation functions.
Add additional component tests.
Add integration tests to test server request generation.
Sorry for the large PR. I have added tests to try to ensure existing functionality. Given the large number of changes, I will plan to do a lot of testing on the dev server.
Summary of changes: