gitextract_z4w9ccys/ ├── .babelrc.js ├── .eslintrc ├── .flowconfig ├── .github/ │ ├── CODEOWNERS │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── ci.yml │ └── lock.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .travis.yml ├── LICENSE ├── MIGRATION_V7.md ├── README.md ├── docs/ │ ├── api/ │ │ ├── Field.md │ │ ├── Form.md │ │ ├── FormSpy.md │ │ ├── useField.md │ │ ├── useForm.md │ │ └── useFormState.md │ ├── api.md │ ├── examples/ │ │ ├── chakra.md │ │ ├── field-level-validation.md │ │ ├── record-level-validation.md │ │ ├── simple.md │ │ ├── submission-errors.md │ │ ├── subscriptions.md │ │ └── wizard.md │ ├── examples.md │ ├── faq.md │ ├── getting-started.md │ ├── migration/ │ │ ├── formik.md │ │ └── redux-form.md │ ├── philosophy.md │ └── types/ │ ├── FieldProps.md │ ├── FieldRenderProps.md │ ├── FormProps.md │ ├── FormRenderProps.md │ ├── FormSpyProps.md │ └── FormSpyRenderProps.md ├── eslint.config.mjs ├── examples/ │ ├── async-field-level-validation/ │ │ ├── Spinner.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── async-redux-submission/ │ │ ├── Styles.js │ │ ├── asyncSubmissionMiddleware.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ ├── registrationDuck.js │ │ └── store.js │ ├── async-typeahead-redux/ │ │ ├── GithubUserTypeahead.jsx │ │ ├── Styles.js │ │ ├── actions.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ ├── store.js │ │ └── useKeyword.js │ ├── auto-save-field-blur/ │ │ ├── AutoSave.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── auto-save-selective-debounce/ │ │ ├── AutoSave.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── auto-save-with-debounce/ │ │ ├── AutoSave.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── calculated-fields/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── chakra/ │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── validate.js │ ├── conditional-fields/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ ├── pickupTimes.js │ │ └── readme.md │ ├── credit-card/ │ │ ├── Card.js │ │ ├── Styles.js │ │ ├── cardUtils.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── sandbox.config.json │ ├── custom-validation-engine/ │ │ ├── OnBlurValidation.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── debounced-record-level-validation/ │ │ ├── ErrorWithDelay.js │ │ ├── README.md │ │ ├── Styles.js │ │ ├── index.js │ │ └── package.json │ ├── declarative-form-rules/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── downshift-typeahead/ │ │ ├── DownshiftInput.js │ │ ├── Styles.js │ │ ├── fruit.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── external-submit/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── field-arrays/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── field-level-validation/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── field-warnings/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── warning-engine.js │ ├── fields-component/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── focus-first-error/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── validate.js │ ├── format-on-blur/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── format-string-by-pattern/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── hybrid-sync-async-record-level-validation/ │ │ ├── Spinner.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── independent-error-component-render-props/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── independent-error-component-with-hooks/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── listening-for-external-changes/ │ │ ├── BooleanDecay.js │ │ ├── ExternalModificationDetector.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── loading-initializing-values/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── loading-saving-reinitializing/ │ │ ├── LoadSaveReinitializeForm.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── material-ui/ │ │ ├── .prettierrc │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── parse-format/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── prefixed-fields/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── readme.md │ ├── record-level-validation/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── redux/ │ │ ├── FormStateFromRedux.js │ │ ├── FormStateToRedux.js │ │ ├── Styles.js │ │ ├── finalFormDuck.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── store.js │ ├── reusable-field-groups/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── simple/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── strongly-typed-values-typescript/ │ │ ├── Styles.tsx │ │ ├── components/ │ │ │ ├── CheckboxInput.tsx │ │ │ ├── MultiCheckboxInput.tsx │ │ │ ├── MultiSelectInput.tsx │ │ │ ├── NumberInput.tsx │ │ │ ├── RadioInput.tsx │ │ │ ├── SelectInput.tsx │ │ │ ├── TextAreaInput.tsx │ │ │ └── TextInput.tsx │ │ ├── index.tsx │ │ └── readme.md │ ├── styling-with-smooth-ui/ │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── submission-errors/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── subscriptions/ │ │ ├── RenderCount.js │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── third-party-components/ │ │ ├── Styles.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.md │ │ └── states.js │ └── wizard/ │ ├── Styles.js │ ├── Wizard.js │ ├── index.js │ ├── package.json │ └── readme.md ├── package-scripts.js ├── package.json ├── rollup.config.mjs ├── src/ │ ├── Field.test.js │ ├── Field.tsx │ ├── FormSpy.test.js │ ├── FormSpy.tsx │ ├── ReactFinalForm.test.js │ ├── ReactFinalForm.tsx │ ├── context.test.js │ ├── context.ts │ ├── getValue.test.js │ ├── getValue.ts │ ├── getters.ts │ ├── index.ts │ ├── isReactNative.ts │ ├── isSyntheticEvent.ts │ ├── renderComponent.test.js │ ├── renderComponent.ts │ ├── shallowEqual.test.js │ ├── shallowEqual.ts │ ├── testUtils.ts │ ├── types.ts │ ├── useConstant.ts │ ├── useConstantCallback.test.js │ ├── useConstantCallback.ts │ ├── useField.dynamic-name-869.test.js │ ├── useField.test.js │ ├── useField.ts │ ├── useForm.test.js │ ├── useForm.ts │ ├── useFormState.test.js │ ├── useFormState.ts │ ├── useLatest.ts │ └── useWhenValueChanges.ts ├── tsconfig.build.json ├── tsconfig.json ├── tslint.json └── typescript/ ├── Field.test.tsx ├── FormSpy.test.tsx ├── ReactFinalForm.test.tsx ├── index.d.ts ├── tsconfig.json ├── useField.test.tsx └── useFormState.test.tsx