{"_id":"@baethon/polaris-form-hook","_rev":"8-31453b3433f43aed0d39f47f1c9e1773","name":"@baethon/polaris-form-hook","dist-tags":{"latest":"1.2.0"},"versions":{"0.1.0":{"name":"@baethon/polaris-form-hook","version":"0.1.0","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"bd4714bca696fd34be8e1b640048d33c3e9875f1","_id":"@baethon/polaris-form-hook@0.1.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-x38gbSOUhjEWbO5mQPl6bR0yXyHUb9WoXuwaepPRqqQFe6bJ7G502aCiuSjGs6gaqTrd/jSUdcMyNTSGlMyNiw==","shasum":"4bccb337e202758b6c07d3cb717e52a28553bfa3","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.0.tgz","fileCount":6,"unpackedSize":3810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPOsAU+hdJttaqFOhv750Ood4v8eIgSmHlrofQnlTtaAiEAwb+BxgAzHb6AmqDm/APF0JaPF3rqTiRE+o3sB3a7fAc="}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.0_1688937172054_0.5441191109870971"},"_hasShrinkwrap":false},"0.1.1":{"name":"@baethon/polaris-form-hook","version":"0.1.1","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"8f0065ebac8b5ca915fd3163f4ca28e552f86a90","_id":"@baethon/polaris-form-hook@0.1.1","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-a9xWBeFFWqQTXU4B575wGA2BvcbplR+wk6c9LZbhlZm/WYBPAnWdEMG/p8/IPWM/e0/R3nFIBU8qTLUKJXHq4w==","shasum":"aab1b8760fb17c8dc179d5408020b7e3e86615ee","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.1.tgz","fileCount":6,"unpackedSize":3810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDveFPCzdkzfHeW+mCggiiw3rjsgchHuyGGn0TlK8Zo+AIhALj2wSpyGEJVpibPtoEZc3LssbowvDrnGVX9rTh43JVC"}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.1_1688938198057_0.9058286358846359"},"_hasShrinkwrap":false},"0.1.2":{"name":"@baethon/polaris-form-hook","version":"0.1.2","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"123b98c9bf987bf970ccd7b89cd6097017751fda","_id":"@baethon/polaris-form-hook@0.1.2","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-s3nYJ6i5E6Rd8U8ub99+WG/nLNl2HT4SgjjMM7ZskOLkuu4fInSmZjod8ManQT7SD1UaeGb9oDnjh+yNQm1nJg==","shasum":"e419fd8a0b1abe681fff1c0d1beaf081a9f6a396","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.2.tgz","fileCount":6,"unpackedSize":3848,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFwRMqXeOXUhakdpTTTlhkvzk5bTvPE+N80kvYLvkFAAiAi/9lHPQ0VpeJmSej6p3UD8h19EdVR3abfkbVoAZqEZg=="}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.2_1688938372866_0.6867163275077219"},"_hasShrinkwrap":false},"0.1.3":{"name":"@baethon/polaris-form-hook","version":"0.1.3","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"f8d687b9f7bcc8b194ee02a7c4fd3ee9f5695c3f","_id":"@baethon/polaris-form-hook@0.1.3","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-XTQOXYDGqenjQv8BwWpw9gQ/JRa4N7wU9GHC5CMlq8FlEMW+IB1CLZf/2tIqdtWBzXruj4yDBIqoipfBm7v/gg==","shasum":"13564ca18499457f434952b4ce2929d42759f5b7","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.3.tgz","fileCount":6,"unpackedSize":3676,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC47Uj1e4hEgbpZ1POnYF1RXEfrsBrbInxNKJCoVSBL1QIhAIN8Utknpx4yaExQVY2xO1cQAfTwIQQqcAk/jWTLpj14"}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.3_1688939159232_0.04683211272570609"},"_hasShrinkwrap":false},"0.1.4":{"name":"@baethon/polaris-form-hook","version":"0.1.4","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"842af6176756806fbdfc150988bc39b7a9eee8cc","_id":"@baethon/polaris-form-hook@0.1.4","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-nNBrJVGNIDJ+D2LXQf7t35NRtTwbgjbN5yPteHhS5Ivv69K5OQwl5z8nA6fr2OPZXrTcpQbCPyULgqtMTR7kTQ==","shasum":"a4ad249c2f5fca1fff5614b12decab3c2bfd43dc","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.4.tgz","fileCount":6,"unpackedSize":3607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4IUVHw3zy4wBRa0kYs6OLKYtexKfUtnB4Guu4/pR7KAIhAMFg6voCL0+YoJICmtDCtUv5gaunmDKAcm6ikLxb3F6D"}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.4_1688939927198_0.4932093738263772"},"_hasShrinkwrap":false},"0.1.5":{"name":"@baethon/polaris-form-hook","version":"0.1.5","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"e973c59a11f4828a189b1b28526f961ce2a32e69","_id":"@baethon/polaris-form-hook@0.1.5","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-QKyxMuAL8YORIUJKqReiZONmJjiFmPjcQvEBWufnYLB/rXRp4GMjd1TWSBejlG92FYkoer6twEfpoRQ0utqdPA==","shasum":"16f1354795f2c94707e67a855a926c54340278d7","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-0.1.5.tgz","fileCount":6,"unpackedSize":3783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoZhXk2yaLMQjXFdfhx65BAWGyIyUyDmnEWCuOaj6IUAIgQdCDzEJ8csZ1gpBMm5GQHJfQaQoiV1rfCfzRYImmym8="}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_0.1.5_1688940714169_0.5218892981598082"},"_hasShrinkwrap":false},"1.0.0":{"name":"@baethon/polaris-form-hook","version":"1.0.0","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"97d7ca62a3cfb8896960bbf31665e74b7adf41df","_id":"@baethon/polaris-form-hook@1.0.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-diLbJWnA+O935DpVPCBzxSXS1rSUPQHWlXXPIRrEiW/vKmaa0E2m7YJ/i5Ev+G60+8etaMEztcSvRPD+RoWBGA==","shasum":"c48fe055d0a976c143edb99ad5981fb7b4202539","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-1.0.0.tgz","fileCount":7,"unpackedSize":7536,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIUhPPCagdGTUilPsBD9xQs+YjfMw7ZJL2PIth5UbTyQIhAPWkw7BTmt3x5XA5O5AkE+9AQTLqTaAJEQmyF+R3dAc4"}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_1.0.0_1689196754161_0.7163298177268209"},"_hasShrinkwrap":false},"1.1.0":{"name":"@baethon/polaris-form-hook","version":"1.1.0","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"c7326de84a0e21652990dcc2a16381b0020d96a1","_id":"@baethon/polaris-form-hook@1.1.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Paf4SeQOpmp6+K6NtSFaVNLT/+JwdGtRYjWebERRgF8+KrxKMzPtHJH5WO8LuTfUX98qrZhAr/R5Cq12kvqL7Q==","shasum":"42a38a1d30b555267299a5dd78c19c33a2710ff2","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-1.1.0.tgz","fileCount":9,"unpackedSize":7693,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBiHuAol6HnDHO8KXzNMg6BfImE/N0esZVkL3ZcdY8oyAiBelV0UU6pLLT7zvZo0+VSbKY8bWtGn3J9j+5XLtirz4w=="}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_1.1.0_1689350073310_0.9937365159019724"},"_hasShrinkwrap":false},"1.2.0":{"name":"@baethon/polaris-form-hook","version":"1.2.0","description":"Simple form hook for @shopify/polaris","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","prepare":"husky install","prepublish":"npx tsc"},"keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","peerDependencies":{"@types/react":"^18.2.14","react":"^18.2.0"},"devDependencies":{"@babel/preset-env":"^7.22.6","@babel/preset-typescript":"^7.22.5","@jest/globals":"^29.6.0","@testing-library/react":"^14.0.0","@types/react":"^18.2.14","husky":"^8.0.3","jest":"^29.6.0","jest-environment-jsdom":"^29.6.0","lint-staged":"^13.2.3","prettier":"^2.8.8","react":"^18.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"lint-staged":{"*.ts":"npx prettier --write"},"gitHead":"d8b7e43112bc1c8029a6de5a6babf0ebcf1454a0","_id":"@baethon/polaris-form-hook@1.2.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-qzu4Ncl5p27qsN6jXbgaD63nCawbgtAYXCqtmC/CyDO2FIJYuUXuusZ41Ms7yEgGGBAPkTeNzvYMEaQTuOiiFQ==","shasum":"5c5a7c3f299bb9b47b9d19638df6e73a06084edc","tarball":"https://registry.npmjs.org/@baethon/polaris-form-hook/-/polaris-form-hook-1.2.0.tgz","fileCount":9,"unpackedSize":7443,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQC4/B+3561/TT5RGFDgRDnoaGWLGCjqpbjHVmh2FZlMHAIfeRqroX6SjsU8rf60DoJ+RHcT7ehziWQPaObpk3gRIg=="}]},"_npmUser":{"name":"radmen","email":"radmen+npmjs@gmail.com"},"directories":{},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/polaris-form-hook_1.2.0_1689371982077_0.2803980064289102"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-09T21:12:51.990Z","0.1.0":"2023-07-09T21:12:52.243Z","modified":"2023-07-14T21:59:42.476Z","0.1.1":"2023-07-09T21:29:58.239Z","0.1.2":"2023-07-09T21:32:53.007Z","0.1.3":"2023-07-09T21:45:59.408Z","0.1.4":"2023-07-09T21:58:47.376Z","0.1.5":"2023-07-09T22:11:54.332Z","1.0.0":"2023-07-12T21:19:14.337Z","1.1.0":"2023-07-14T15:54:33.545Z","1.2.0":"2023-07-14T21:59:42.246Z"},"maintainers":[{"name":"radmen","email":"radmen+npmjs@gmail.com"}],"description":"Simple form hook for @shopify/polaris","keywords":["polaris","hook","react"],"author":{"name":"Radoslaw Mejer","email":"radmen@baethon.com"},"license":"MIT","readme":"# @baethon/polaris-form-hook\n\nReact hook for form state management in [@shopify/polaris](https://github.com/Shopify/polaris). It eliminates the necessity for individual `useState` and `useCallback` for each form field and simplifies form data management.\n\n## Example ([codesandbox](https://codesandbox.io/s/nervous-paper-5gwtq5?file=/App.tsx))\n\nBased on the [original example](https://codesandbox.io/s/fjq5vy?module=App.tsx) from Polaris docs.\n\n```js\nimport {Form, FormLayout, Checkbox, TextField, Button} from '@shopify/polaris';\nimport {useCallback} from 'react';\nimport {useForm} from '@baethon/polaris-form-hook';\n\nfunction FormOnSubmitExample() {\n  const form = useForm({\n    newsletter: false,\n    email: '',\n  );\n  \n  const handleSubmit = useCallback(() => {\n    form.reset();\n  }, []);\n\n  return (\n    <Form onSubmit={handleSubmit}>\n      <FormLayout>\n        <Checkbox\n          label=\"Sign up for the Polaris newsletter\"\n          {...form.register.checked('newsletter')}\n        />\n\n        <TextField\n          {...form.register.value('email')}\n          label=\"Email\"\n          type=\"email\"\n          autoComplete=\"email\"\n          helpText={\n            <span>\n              We’ll use this email address to inform you on future changes to\n              Polaris.\n            </span>\n          }\n        />\n\n        <Button submit>Submit</Button>\n      </FormLayout>\n    </Form>\n  );\n}\n```\n\n## Installation\n\n```bash\nnpm i @baethon/polaris-form-hook\n```\n\n## Usage\n\n### Initializing the form\n\nImport `useForm` from `@baethon/polaris-form-hook`:\n\n```js\nimport {useForm} from '@baethon/polaris-form-hook';\n```\n\nThe function takes one argument - object with initial form data:\n\n```js\nconst form = useForm({\n    first_name: '',\n    last_name: '',\n});\n```\n\nYou have to pass all fields that will be used in the form.\n\n### Binding with Polaris\n\nThe `form` object (created by `useForm()`) contains a `register` property.  \nIt's an object containing factory methods that should be used to bind a field with Polaris component.\n\nPolaris is inconsistent in names of the value properties. Depending on the component, it will use `value`, `selected`, or `checked` properties to pass the values. The `register` object will have a method for each of them. \n\nThe factory method will generate two properties: `value` (or `selected`, `checked`) and `onChange()`.\n\n```js\nconst form = useForm({\n    first_name: '',\n    accept_terms: false,\n    company_name: [],\n});\n\n(\n  <TextField label=\"First name\" {...form.register.value('first_name')} />\n  <Checkbox label=\"Accept Terms\" {...form.register.checked('accept_terms')} />\n  <ChoiceList\n      title=\"Company name\"\n      choices={[\n        {label: 'Hidden', value: 'hidden'},\n        {label: 'Optional', value: 'optional'},\n        {label: 'Required', value: 'required'},\n      ]}\n      {...form.register.selected('company_name')\n    />\n)\n```\n\n### Accessing form data\n\nTo access the form data, use `form.data`.\n\n```js\nconst form = useForm({\n    first_name: '',\n    accept_terms: false,\n    company_name: [],\n});\n\nconsole.log(form.data.first_name);\n```\n\n### Updating fields\n\nYou can update a single field using:\n\n```js\nform.setField('first_name', 'Jon');\n```\n\nOr by passing an object that will be merged with the form data:\n\n```js\nform.update({ last_name: 'Snow' });\n```\n\nTo reset the form use:\n\n```js\nform.reset();\n```\n\n`reset()` will use the initial form data.\n\n## Testing\n\n```bash\nnpm test\n```\n","readmeFilename":"README.md"}