UNPKG

fielder

Version:

A field-first form library for React and React Native

274 lines (169 loc) 13.4 kB
# Changelog ## [v2.2.0](https://github.com/andyrichardson/fielder/tree/v2.2.0) (2022-09-12) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v2.1.1...v2.2.0) **Additions:** - Add support for persisting state [\#12](https://github.com/andyrichardson/fielder/issues/12) **Merged pull requests:** - Update docs dependencies [\#336](https://github.com/andyrichardson/fielder/pull/336) ([andyrichardson](https://github.com/andyrichardson)) - Add "fromState" to docs [\#335](https://github.com/andyrichardson/fielder/pull/335) ([andyrichardson](https://github.com/andyrichardson)) - Fix formatting [\#334](https://github.com/andyrichardson/fielder/pull/334) ([andyrichardson](https://github.com/andyrichardson)) - Move to Github Actions [\#333](https://github.com/andyrichardson/fielder/pull/333) ([andyrichardson](https://github.com/andyrichardson)) - Fix e2e tests [\#321](https://github.com/andyrichardson/fielder/pull/321) ([andyrichardson](https://github.com/andyrichardson)) - Add value restoration \(optional\) [\#320](https://github.com/andyrichardson/fielder/pull/320) ([andyrichardson](https://github.com/andyrichardson)) ## [v2.1.1](https://github.com/andyrichardson/fielder/tree/v2.1.1) (2021-11-02) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v2.1.0...v2.1.1) **Closed issues:** - useLayoutEffect warning when server side rendering [\#317](https://github.com/andyrichardson/fielder/issues/317) **Merged pull requests:** - Fix next.js support [\#318](https://github.com/andyrichardson/fielder/pull/318) ([andyrichardson](https://github.com/andyrichardson)) - Update dev deps [\#302](https://github.com/andyrichardson/fielder/pull/302) ([andyrichardson](https://github.com/andyrichardson)) ## [2.1.0](https://github.com/andyrichardson/fielder/tree/2.1.0) (2021-01-13) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v2.0.0...2.1.0) **Additions:** - Add preact support [\#299](https://github.com/andyrichardson/fielder/issues/299) **Merged pull requests:** - Add preact support [\#300](https://github.com/andyrichardson/fielder/pull/300) ([andyrichardson](https://github.com/andyrichardson)) ## [v2.0.0](https://github.com/andyrichardson/fielder/tree/v2.0.0) ### A new major release! That's right, a new major release jam packed full of new features and with a side helping of breaking changes. ### New docs site Technically not part of this release but definitely worth a visit to check out the new guides! [Visit the docs!](https://fielder.andyrichardson.dev) ### Event driven validation Validation is now tailored to specific events (`mount`, `blur`, `submit`, etc). This provides extra flexibility to tweak validation for specific scenarios - such as triggering async validation only on submit (see example below). ```tsx useField({ validate: useCallback(({ trigger, value }) { // Validation for all events if (!value) { throw Error("Value is required."); } // Validation for blur only events if (trigger == "blur" && value.length < 4) { throw Error("Value must be at least 4 characters."); } // Async validation only on submit if (trigger == "submit") { return serverSideValidation(value).then((isValid) => { if (!isValid) { throw Error("Server side validation failed"); } }); } }, []) }) ``` More info on event driven validation can be [found here](https://fielder.andyrichardson.dev/guides/validation#validation-events). ### useSubmit hook There's a new `useSubmit` hook which: - triggers the new `submit` validation event - aggregates field values into a single object - tracks state of async submission validation - guards submission logic until validation succeeds ```tsx const { isValidating, hasSubmitted, handleSubmit } = useSubmit(() => { console.log('This is only called if submission validation succeeds!'); }); handleSubmit(); // Trigger submission ``` More info on submission can be [found here](https://fielder.andyrichardson.dev/guides/submission). ### Breaking changes - `initialValue` argument on the `useField` hook is now required [(more info)](https://fielder.andyrichardson.dev/api/useField#initialvalue-required) - `validate` argument on the `useField` hook now receives only a single argument [(more info)](https://fielder.andyrichardson.dev/guides/validation#basic-validation) - removed deprecated properties `touched` and `initalTouched` on the `useField` hook [(more info)](https://fielder.andyrichardson.dev/api/useField#arguments) - removed `initialValid` and `initialError` arguments on the `useField` hook in favor of validation events [(more info)](https://fielder.andyrichardson.dev/guides/validation#validation-events) - removed `validateOnBlur`, `validateOnChange`, and `validateOnUpdate` arguments on the `useField` hook in favor of validation events [(more info)](https://fielder.andyrichardson.dev/guides/validation#validation-events) - removed support for returning validation errors as strings without throwing [(more info)](https://fielder.andyrichardson.dev/api/useField#validate) ### Breaking changes #### [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.3.1...v2.0.0) ## [v1.3.1](https://github.com/andyrichardson/fielder/tree/v1.3.1) (2020-07-30) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.3.0...v1.3.1) **Fixed bugs:** - Changes to validation arg doesn't update validation function [\#235](https://github.com/andyrichardson/fielder/issues/235) **Merged pull requests:** - Add setFieldState call to useField on validation change [\#278](https://github.com/andyrichardson/fielder/pull/278) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.3.0](https://github.com/andyrichardson/fielder/tree/v1.3.0) (2020-06-14) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.2.1...v1.3.0) **Additions:** - Add support for providing value to `onChange` [\#41](https://github.com/andyrichardson/fielder/issues/41) - Add support for React Native [\#35](https://github.com/andyrichardson/fielder/issues/35) - Add non DOM event support to onChange [\#123](https://github.com/andyrichardson/fielder/pull/123) ([andyrichardson](https://github.com/andyrichardson)) **Closed issues:** - Add sitemap to docs [\#49](https://github.com/andyrichardson/fielder/issues/49) - Update branching example to use consistent theming [\#47](https://github.com/andyrichardson/fielder/issues/47) **Merged pull requests:** - Add native example [\#124](https://github.com/andyrichardson/fielder/pull/124) ([andyrichardson](https://github.com/andyrichardson)) - Update readme with video [\#122](https://github.com/andyrichardson/fielder/pull/122) ([andyrichardson](https://github.com/andyrichardson)) - Add e2e for example 3 [\#84](https://github.com/andyrichardson/fielder/pull/84) ([andyrichardson](https://github.com/andyrichardson)) - Add sitemap generation on build [\#83](https://github.com/andyrichardson/fielder/pull/83) ([andyrichardson](https://github.com/andyrichardson)) - Keep styling consistent between examples [\#48](https://github.com/andyrichardson/fielder/pull/48) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.2.1](https://github.com/andyrichardson/fielder/tree/v1.2.1) (2020-02-25) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.2.0...v1.2.1) **Fixed bugs:** - Duplicate field - add warning instead of error [\#45](https://github.com/andyrichardson/fielder/pull/45) ([andyrichardson](https://github.com/andyrichardson)) **Closed issues:** - Add docs for `branching` [\#26](https://github.com/andyrichardson/fielder/issues/26) **Merged pull requests:** - Add example branching [\#46](https://github.com/andyrichardson/fielder/pull/46) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.2.0](https://github.com/andyrichardson/fielder/tree/v1.2.0) (2020-02-05) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.1.2...v1.2.0) **Breaking changes:** - Revert checked state managment using ref [\#39](https://github.com/andyrichardson/fielder/issues/39) - Remove checkbox refs [\#40](https://github.com/andyrichardson/fielder/pull/40) ([andyrichardson](https://github.com/andyrichardson)) **Additions:** - Add tracking of 'hasChanged' and 'hasBlurred' states [\#21](https://github.com/andyrichardson/fielder/issues/21) **Merged pull requests:** - Use 'latest' tag for dependencies examples [\#43](https://github.com/andyrichardson/fielder/pull/43) ([andyrichardson](https://github.com/andyrichardson)) - Update checkbox docs [\#42](https://github.com/andyrichardson/fielder/pull/42) ([andyrichardson](https://github.com/andyrichardson)) - Add cypress integration [\#38](https://github.com/andyrichardson/fielder/pull/38) ([andyrichardson](https://github.com/andyrichardson)) - Add hasChanged and hasBlurred props to useField [\#37](https://github.com/andyrichardson/fielder/pull/37) ([andyrichardson](https://github.com/andyrichardson)) - Update examples [\#36](https://github.com/andyrichardson/fielder/pull/36) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.1.2](https://github.com/andyrichardson/fielder/tree/v1.1.2) (2020-01-21) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.1.1...v1.1.2) **Fixed bugs:** - Fix initial value for radio inputs [\#30](https://github.com/andyrichardson/fielder/issues/30) - Fix initial value for checkbox inputs [\#28](https://github.com/andyrichardson/fielder/issues/28) - Textarea onChange error [\#24](https://github.com/andyrichardson/fielder/issues/24) **Closed issues:** - Add examples for validation and conditional rendering [\#33](https://github.com/andyrichardson/fielder/issues/33) - Add documentation for checkbox inputs [\#23](https://github.com/andyrichardson/fielder/issues/23) - Explain how to handle submission of field values [\#22](https://github.com/andyrichardson/fielder/issues/22) **Merged pull requests:** - Add conditional examples for validation [\#34](https://github.com/andyrichardson/fielder/pull/34) ([andyrichardson](https://github.com/andyrichardson)) - Add docs for radio / checkbox usage [\#32](https://github.com/andyrichardson/fielder/pull/32) ([andyrichardson](https://github.com/andyrichardson)) - Fix radio input [\#31](https://github.com/andyrichardson/fielder/pull/31) ([andyrichardson](https://github.com/andyrichardson)) - Add mutation of checkbox element on ref and value change [\#29](https://github.com/andyrichardson/fielder/pull/29) ([andyrichardson](https://github.com/andyrichardson)) - Add textarea support [\#27](https://github.com/andyrichardson/fielder/pull/27) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.1.1](https://github.com/andyrichardson/fielder/tree/v1.1.1) (2020-01-10) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.1.0...v1.1.1) **Fixed bugs:** - Handle destroy on unmount changing value [\#18](https://github.com/andyrichardson/fielder/issues/18) **Merged pull requests:** - Update deps [\#20](https://github.com/andyrichardson/fielder/pull/20) ([andyrichardson](https://github.com/andyrichardson)) - Add detection for destroyOnUnmount change [\#19](https://github.com/andyrichardson/fielder/pull/19) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.1.0](https://github.com/andyrichardson/fielder/tree/v1.1.0) (2020-01-09) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.0.3...v1.1.0) **Breaking changes:** - Fields without validation should be valid by default [\#11](https://github.com/andyrichardson/fielder/issues/11) **Closed issues:** - Add docs [\#4](https://github.com/andyrichardson/fielder/issues/4) **Merged pull requests:** - Setup linting [\#16](https://github.com/andyrichardson/fielder/pull/16) ([andyrichardson](https://github.com/andyrichardson)) - Default to valid when no validation is set [\#15](https://github.com/andyrichardson/fielder/pull/15) ([andyrichardson](https://github.com/andyrichardson)) - Add docs [\#5](https://github.com/andyrichardson/fielder/pull/5) ([andyrichardson](https://github.com/andyrichardson)) ## [v1.0.3](https://github.com/andyrichardson/fielder/tree/v1.0.3) (2019-12-22) [Full Changelog](https://github.com/andyrichardson/fielder/compare/v1.0.2...v1.0.3) **Fixed bugs:** - Error thrown when using checkboxes [\#6](https://github.com/andyrichardson/fielder/issues/6) - No `dist` in published version 1.0.0 [\#1](https://github.com/andyrichardson/fielder/issues/1) **Closed issues:** - Remove unnecessary dependency "react-dom" [\#8](https://github.com/andyrichardson/fielder/issues/8) **Merged pull requests:** - Changelog guide + version bump [\#10](https://github.com/andyrichardson/fielder/pull/10) ([andyrichardson](https://github.com/andyrichardson)) - Remove react-dom [\#9](https://github.com/andyrichardson/fielder/pull/9) ([andyrichardson](https://github.com/andyrichardson)) - Fix checkbox issue [\#7](https://github.com/andyrichardson/fielder/pull/7) ([andyrichardson](https://github.com/andyrichardson)) - Remove `;` [\#2](https://github.com/andyrichardson/fielder/pull/2) ([jontansey](https://github.com/jontansey)) ## [v1.0.2](https://github.com/andyrichardson/fielder/tree/v1.0.2) (2019-11-27) [Full Changelog](https://github.com/andyrichardson/fielder/compare/bc3999d02980d5028bd094ca0afc59f9d72f1340...v1.0.2)