diff --git a/.eslintrc b/.eslintrc index 0c776ec027a..d7611546e75 100644 --- a/.eslintrc +++ b/.eslintrc @@ -85,16 +85,9 @@ }, { "files": [ - "app/javascript/packages/address-search/components/in-person-locations.spec.tsx", - "app/javascript/packages/components/spinner-dots.jsx", "app/javascript/packages/document-capture/components/acuant-capture.tsx", - "app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.jsx", - "app/javascript/packages/document-capture/components/document-side-acuant-capture.jsx", "app/javascript/packages/document-capture/components/file-image.jsx", "app/javascript/packages/document-capture/components/file-input.tsx", - "app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx", - "app/javascript/packages/document-capture/components/in-person-location-post-office-search-step.tsx", - "app/javascript/packages/document-capture/components/in-person-prepare-step.tsx", "app/javascript/packages/document-capture/components/submission-interstitial.jsx", "app/javascript/packages/document-capture/components/submission.jsx", "spec/javascript/packages/document-capture/context/failed-capture-attempts-spec.jsx", diff --git a/app/javascript/packages/address-search/components/in-person-locations.spec.tsx b/app/javascript/packages/address-search/components/in-person-locations.spec.tsx index 89971bc062b..99767f8bb59 100644 --- a/app/javascript/packages/address-search/components/in-person-locations.spec.tsx +++ b/app/javascript/packages/address-search/components/in-person-locations.spec.tsx @@ -5,7 +5,7 @@ import sinon from 'sinon'; import type { FormattedLocation } from './in-person-locations'; import InPersonLocations from './in-person-locations'; -function NoLocationsViewMock({ address }) { +function NoLocationsViewMock({ address }: { address: string }) { return (
No PO found
diff --git a/app/javascript/packages/components/spinner-dots.jsx b/app/javascript/packages/components/spinner-dots.tsx similarity index 59% rename from app/javascript/packages/components/spinner-dots.jsx rename to app/javascript/packages/components/spinner-dots.tsx index 3389d817aa6..a20d2ec1701 100644 --- a/app/javascript/packages/components/spinner-dots.jsx +++ b/app/javascript/packages/components/spinner-dots.tsx @@ -1,15 +1,14 @@ -/** - * @typedef SpinnerDotsProps - * - * @prop {boolean=} isCentered Whether to absolutely-position the element at its container's center. - * Defaults to false. - * @prop {string=} className Optional class name. - */ +interface SpinnerDotsProps { + // Optional whether to absolutely-position the element at its container's center. Defaults to false. + isCentered?: boolean; + // Optional class name. + className?: string; +} /** * @param {SpinnerDotsProps} props */ -function SpinnerDots({ isCentered, className }) { +function SpinnerDots({ isCentered, className }: SpinnerDotsProps) { const classes = ['spinner-dots', isCentered && 'spinner-dots--centered', className] .filter(Boolean) .join(' '); diff --git a/app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.jsx b/app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.tsx similarity index 83% rename from app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.jsx rename to app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.tsx index 86dab1889a2..56886449313 100644 --- a/app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.jsx +++ b/app/javascript/packages/document-capture/components/acuant-selfie-capture-canvas.tsx @@ -15,7 +15,15 @@ function LoadingSpinner() { ); } -function AcuantSelfieCaptureCanvas({ imageCaptureText, onSelfieCaptureClosed }) { +interface AcuantSelfieCaptureCanvasProps { + imageCaptureText: string; + onSelfieCaptureClosed: () => void; +} + +function AcuantSelfieCaptureCanvas({ + imageCaptureText, + onSelfieCaptureClosed, +}: AcuantSelfieCaptureCanvasProps) { const { isReady } = useContext(AcuantContext); const { t } = useI18n(); // The Acuant SDK script AcuantPassiveLiveness attaches to whatever element has diff --git a/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.spec.tsx b/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.spec.tsx index 5c4adab0d17..86143471f18 100644 --- a/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.spec.tsx +++ b/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.spec.tsx @@ -39,7 +39,7 @@ const USPS_RESPONSE = [ const DEFAULT_PROPS = { toPreviousStep() {}, onChange() {}, - registerField() {}, + registerField: (_string) => undefined, }; describe('InPersonLocationFullAddressEntryPostOfficeSearchStep', () => { diff --git a/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx b/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx index fca72bf0a9c..f4f2e97c616 100644 --- a/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx +++ b/app/javascript/packages/document-capture/components/in-person-location-full-address-entry-post-office-search-step.tsx @@ -3,16 +3,23 @@ import { request } from '@18f/identity-request'; import { forceRedirect } from '@18f/identity-url'; import { FullAddressSearch, transformKeys, snakeCase } from '@18f/identity-address-search'; import type { FormattedLocation } from '@18f/identity-address-search/types'; +import type { RegisterFieldCallback } from '@18f/identity-form-steps'; import BackButton from './back-button'; import AnalyticsContext from '../context/analytics'; import { InPersonContext } from '../context'; import UploadContext from '../context/upload'; +interface InPersonLocationFullAddressEntryPostOfficeSearchStepProps { + onChange: ({ selectedLocationAddress }: { selectedLocationAddress: string }) => void; + toPreviousStep: () => void; + registerField: RegisterFieldCallback; +} + function InPersonLocationFullAddressEntryPostOfficeSearchStep({ onChange, toPreviousStep, registerField, -}) { +}: InPersonLocationFullAddressEntryPostOfficeSearchStepProps) { const { inPersonURL, locationsURL, usStatesTerritories } = useContext(InPersonContext); const [inProgress, setInProgress] = useState