{"_id":"react-hook-form-next-ui","_rev":"71-6cde12191ed0064d14e77f9ee9a7448e","name":"react-hook-form-next-ui","dist-tags":{"latest":"3.0.50"},"versions":{"3.0.7":{"name":"react-hook-form-next-ui","version":"3.0.7","keywords":["tailwind react components","nextui","heroui","react-hook-form-next-ui","react-components","components-react","nextui-components-rhf","heroui-components-rhf","RHF","react-hook-form","React Hook Form"],"author":{"name":"Nicolas Chamorro Giron"},"license":"MIT","_id":"react-hook-form-next-ui@3.0.7","maintainers":[{"name":"nichagiro","email":"nichagiro@gmail.com"}],"dist":{"shasum":"80844ecaaa5ffe243f3712c36680cba8a1371b4d","tarball":"https://registry.npmjs.org/react-hook-form-next-ui/-/react-hook-form-next-ui-3.0.7.tgz","fileCount":4,"integrity":"sha512-waYTKzzTfC3Owje/QztKYz+aCff7REUe6wj6AWgRzJ7Pv+7S168DRpbBHwCnjY4d3k6e4EF2zpgJkJIfGyRCdg==","signatures":[{"sig":"MEUCIQCYPDKTqJnVNE9XyR0IsYzpz7UHI3kePmxVeLKdf9WrrQIgKoSmiA5WIsg6t/htem4MUIwa3mg672OwuXTKgC+nz8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58909},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"scripts":{"dev":"vite","lint":"eslint .","build":"tsc -b && vite build","preview":"vite preview"},"_npmUser":{"name":"nichagiro","email":"nichagiro@gmail.com"},"_npmVersion":"10.9.2","description":"React Components with React Hook Form and HeroUI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"globals":"^16.0.0"},"eslintConfig":{"extends":[]},"_hasShrinkwrap":false,"devDependencies":{"yup":"^1.5.0","vite":"^6.0.3","react":"^19.0.0","eslint":"^9.16.0","postcss":"^8.4.49","react-dom":"^19.0.0","@eslint/js":"^9.9.0","typescript":"^5.7.2","@types/node":"^22.10.1","tailwindcss":"^3.4.16","@types/react":"^19.0.1","autoprefixer":"^10.4.20","@heroui/react":"^2.6.14","framer-motion":"^12.0.1","@formkit/tempo":"^0.1.2","@faker-js/faker":"^9.3.0","react-hook-form":"^7.54.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^19.0.2","typescript-eslint":"^8.18.0","@hookform/devtools":"^4.3.1","@hookform/resolvers":"^4.1.3","vite-bundle-analyzer":"^0.16.0","eslint-plugin-storybook":"^0.11.1","eslint-plugin-react-hooks":"^5.1.0","eslint-plugin-react-refresh":"^0.4.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"yup":">=1.0.0","react":">=18.0.0","react-dom":">=18.0.0","@heroui/react":">=2.6.7","framer-motion":">=11.0.0","react-hook-form":">=7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-hook-form-next-ui_3.0.7_1769658512634_0.29925354239930746","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"react-hook-form-next-ui","version":"2.1.1","keywords":["tailwind react components","nextui","react-hook-form-next-ui","react-components","components-react","nextui-components-rhf","RHF","react-hook-form","React Hook Form"],"author":{"name":"Nicolas Chamorro Giron"},"license":"MIT","_id":"react-hook-form-next-ui@2.1.1","maintainers":[{"name":"nichagiro","email":"nichagiro@gmail.com"}],"dist":{"shasum":"3af9876faaf5b2a4ce2a16faab578c026041de83","tarball":"https://registry.npmjs.org/react-hook-form-next-ui/-/react-hook-form-next-ui-2.1.1.tgz","fileCount":4,"integrity":"sha512-0ymI0qn2fVJOLCg8Cik4bRv8R+w5ZcFudbjQISDgziQ+vEw3ptwRu3Fw6KUcj/TH0a0QVNRoQizFBF18S6/AIA==","signatures":[{"sig":"MEQCIE2DB/WBd6aeKKKM/cI7fD0B1GedGgIK5b5+IwKpx8DTAiAm6/mnY2vAmzrg6adtW8X1gvwqCW56QNdihpZc/HEekg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58587},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"scripts":{"dev":"vite","lint":"eslint .","build":"tsc -b && vite build","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build"},"_npmUser":{"name":"nichagiro","email":"nichagiro@gmail.com"},"_npmVersion":"10.9.2","description":"React Components with React Hook Form and NextUI","directories":{},"_nodeVersion":"22.14.0","eslintConfig":{"extends":["plugin:storybook/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"npm":"^10.9.2","yup":"^1.5.0","vite":"^6.0.3","react":"^19.0.0","eslint":"^9.16.0","globals":"^15.13.0","install":"^0.13.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","@eslint/js":"^9.9.0","typescript":"^5.7.2","@types/node":"^22.10.1","tailwindcss":"^3.4.16","@types/react":"^19.0.1","autoprefixer":"^10.4.20","framer-motion":"^11.13.5","@formkit/tempo":"^0.1.2","@faker-js/faker":"^9.3.0","@storybook/test":"^8.4.0","react-hook-form":"^7.54.0","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.0","@types/react-dom":"^19.0.2","@nextui-org/react":"^2.6.7","@storybook/blocks":"^8.4.0","typescript-eslint":"^8.18.0","@hookform/devtools":"^4.3.1","@hookform/resolvers":"^3.9.1","vite-bundle-analyzer":"^0.16.0","@storybook/react-vite":"^8.4.7","eslint-plugin-storybook":"^0.11.1","@chromatic-com/storybook":"^3.2.2","eslint-plugin-react-hooks":"^5.1.0","@storybook/addon-essentials":"^8.4.7","@storybook/addon-onboarding":"^8.4.7","eslint-plugin-react-refresh":"^0.4.16","@storybook/addon-interactions":"^8.4.7","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"yup":">=1.0.0","react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=11.0.0","react-hook-form":">=7.0.0","@nextui-org/react":">=2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/react-hook-form-next-ui_2.1.1_1769661225143_0.3684429729884058","host":"s3://npm-registry-packages-npm-production"}},"1.3.30":{"name":"react-hook-form-next-ui","version":"1.3.30","keywords":["tailwind react components","nextui","react-hook-form-next-ui","react-components","components-react","nextui-components-rhf","RHF","react-hook-form","React Hook Form"],"author":{"name":"Nicolas Chamorro Giron"},"license":"MIT","_id":"react-hook-form-next-ui@1.3.30","maintainers":[{"name":"nichagiro","email":"nichagiro@gmail.com"}],"dist":{"shasum":"55869a46fa5d58165a46712128e6d0716a48bbeb","tarball":"https://registry.npmjs.org/react-hook-form-next-ui/-/react-hook-form-next-ui-1.3.30.tgz","fileCount":4,"integrity":"sha512-QHsCyvNK9KXJJzK64ME2n9+C6v5RlryQ2IORYkArbIQoShx7IJO5lQEpf5raq9ZCkPzFd090nZl0FmIls1P9Bg==","signatures":[{"sig":"MEQCIBGH/humx47aavLUKu2l4FFLjpmhwAioQDov0c9vFXNBAiAtL5ZAMx1tAJmTiE/FwLtK9I+yZgrcoazaLnHsfC8oLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js"}},"scripts":{"dev":"vite","lint":"eslint .","build":"tsc -b && vite build","preview":"vite preview"},"_npmUser":{"name":"nichagiro","email":"nichagiro@gmail.com"},"_npmVersion":"10.9.2","description":"React Components with React Hook Form and NextUI","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"yup":"^1.4.0","vite":"^5.4.1","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"^18.3.1","eslint":"^9.9.0","globals":"^15.9.0","postcss":"^8.4.41","react-dom":"^18.3.1","@eslint/js":"^9.9.0","typescript":"^5.5.3","@types/node":"^22.5.0","tailwindcss":"^3.4.10","@types/react":"^18.3.3","autoprefixer":"^10.4.20","framer-motion":"^11.5.4","@formkit/tempo":"^0.1.2","@faker-js/faker":"^8.4.1","react-hook-form":"^7.53.0","vite-plugin-dts":"^4.2.1","@types/react-dom":"^18.3.0","@nextui-org/react":"^2.4.6","typescript-eslint":"^8.0.1","@hookform/devtools":"^4.3.1","@hookform/resolvers":"^3.9.0","vite-bundle-analyzer":"^0.10.6","@vitejs/plugin-react-swc":"^3.5.0","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.9"},"peerDependencies":{"xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"^18.3.1","react-dom":"^18.3.1","framer-motion":"^11.5.4","@formkit/tempo":"^0.1.2","react-hook-form":"^7.53.0","@nextui-org/react":"^2.4.6","@hookform/resolvers":"^3.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-hook-form-next-ui_1.3.30_1770917189930_0.976667387042885","host":"s3://npm-registry-packages-npm-production"}},"3.0.50":{"name":"react-hook-form-next-ui","type":"module","version":"3.0.50","main":"./dist/index.js","module":"./dist/index.js","keywords":["tailwind react components","nextui","heroui","react-hook-form-next-ui","react-components","components-react","nextui-components-rhf","heroui-components-rhf","RHF","react-hook-form","React Hook Form"],"author":{"name":"Nicolas Chamorro Giron"},"description":"React Components with React Hook Form and HeroUI","license":"MIT","exports":{".":{"import":"./dist/index.js"}},"scripts":{"dev":"vite","build":"tsc -b && vite build","lint":"eslint .","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build"},"peerDependencies":{"@heroui/react":">=2.6.7","framer-motion":">=11.0.0","react":">=18.0.0","react-dom":">=18.0.0","react-hook-form":">=7.0.0","yup":">=1.0.0"},"devDependencies":{"@chromatic-com/storybook":"^3.2.2","@eslint/js":"^9.9.0","@faker-js/faker":"^9.3.0","@formkit/tempo":"^0.1.2","@heroui/react":"^2.6.14","@hookform/devtools":"^4.3.1","@hookform/resolvers":"^4.1.3","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7","@storybook/addon-onboarding":"^8.4.7","@storybook/blocks":"^8.4.0","@storybook/react":"^8.4.0","@storybook/react-vite":"^8.4.7","@storybook/test":"^8.4.0","@types/node":"^22.10.1","@types/react":"^19.0.1","@types/react-dom":"^19.0.2","@typescript-eslint/eslint-plugin":"^8.18.0","autoprefixer":"^10.4.20","eslint":"^9.16.0","eslint-plugin-react-hooks":"^5.1.0","eslint-plugin-react-refresh":"^0.4.16","eslint-plugin-storybook":"^0.11.1","framer-motion":"^12.0.1","postcss":"^8.4.49","react":"^19.0.0","react-dom":"^19.0.0","react-hook-form":"^7.54.0","storybook":"^8.4.7","tailwindcss":"^3.4.16","typescript":"^5.7.2","typescript-eslint":"^8.18.0","vite":"^6.0.3","vite-bundle-analyzer":"^0.16.0","vite-plugin-dts":"^4.3.0","yup":"^1.5.0"},"eslintConfig":{"extends":["plugin:storybook/recommended"]},"dependencies":{"globals":"^16.0.0"},"_id":"react-hook-form-next-ui@3.0.50","gitHead":"b21689b5f34acf97118f303c5e67f8e7fbe295f6","types":"./dist/index.d.ts","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-p0pJAGTzMGxh0lhiQZP4Ezhkopn3LDV6jaZwK9HlfZjSUD/XDmcLdLfLnzR482NrwLpM5Dcz1Mt4P+/fzO9nqA==","shasum":"f4aa8255d3b637936ddacd1adc546428cdbd01fd","tarball":"https://registry.npmjs.org/react-hook-form-next-ui/-/react-hook-form-next-ui-3.0.50.tgz","fileCount":4,"unpackedSize":59298,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDP1vdaD4iM8mQ78kCrxmyMg/V7o2z15mBX44w+jay9QwIhALB7gNon/CB9kf5YhiT59wIG5tuQTzGI4BBrsbV2s6El"}]},"_npmUser":{"name":"nichagiro","email":"nichagiro@gmail.com"},"directories":{},"maintainers":[{"name":"nichagiro","email":"nichagiro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-hook-form-next-ui_3.0.50_1773242437514_0.5731584480439622"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-29T03:48:32.548Z","modified":"2026-03-11T15:20:37.765Z","1.0.0":"2024-08-22T03:23:06.472Z","1.0.1":"2024-08-22T04:10:15.461Z","1.0.2":"2024-08-22T13:14:44.335Z","1.0.3":"2024-08-23T14:11:49.282Z","1.0.4":"2024-08-23T20:40:40.977Z","1.0.5":"2024-08-26T01:56:22.852Z","1.0.6":"2024-08-26T14:12:30.752Z","1.0.7":"2024-08-26T14:48:52.011Z","1.0.8":"2024-08-26T19:47:32.611Z","1.0.9":"2024-08-26T20:02:44.351Z","1.0.10":"2024-08-26T20:05:08.975Z","1.0.11":"2024-08-26T20:32:39.920Z","1.0.12":"2024-08-26T20:59:05.931Z","1.0.13":"2024-08-27T01:53:21.413Z","1.0.14":"2024-08-27T02:14:08.114Z","1.0.15":"2024-08-27T02:17:07.851Z","1.0.16":"2024-08-27T23:16:56.421Z","1.0.17":"2024-08-27T23:42:21.254Z","1.0.18":"2024-08-28T16:46:51.043Z","1.0.19":"2024-08-28T21:04:03.455Z","1.0.20":"2024-08-29T22:57:17.371Z","1.0.21":"2024-08-30T23:32:44.640Z","1.0.22":"2024-09-02T20:30:22.762Z","1.0.23":"2024-09-02T23:36:26.818Z","1.0.24":"2024-09-04T01:07:52.690Z","1.0.25":"2024-09-04T01:44:03.958Z","1.1.0":"2024-09-09T22:41:29.953Z","1.1.1":"2024-09-12T14:32:18.597Z","1.1.2":"2024-09-13T02:10:58.866Z","1.1.3":"2024-09-13T14:24:58.855Z","1.1.4":"2024-09-13T15:16:14.076Z","1.3.0":"2024-09-14T00:48:49.768Z","1.3.1":"2024-09-14T01:07:13.109Z","1.3.2":"2024-09-17T13:31:42.695Z","1.3.3":"2024-09-18T18:00:22.543Z","1.3.4":"2024-09-20T13:26:32.867Z","1.3.5":"2024-09-20T14:16:27.960Z","1.3.6":"2024-09-20T14:58:06.621Z","1.4.0":"2024-10-17T21:11:06.053Z","1.4.1":"2024-10-17T21:21:15.578Z","1.4.2":"2024-10-21T16:25:21.470Z","1.4.3":"2024-10-22T20:20:09.630Z","1.4.4":"2024-10-23T15:38:37.200Z","1.4.5":"2024-10-23T22:04:52.893Z","1.4.6":"2024-10-25T20:10:33.014Z","1.4.7":"2024-10-25T21:01:38.340Z","1.4.8":"2024-10-25T21:07:55.285Z","1.5.0":"2024-11-20T22:07:02.918Z","1.6.0":"2024-11-22T22:05:39.382Z","1.6.1":"2024-11-25T18:38:19.681Z","1.6.2":"2024-11-25T19:38:02.567Z","1.6.3":"2024-11-25T20:58:09.405Z","1.6.4":"2024-12-02T21:30:54.809Z","1.6.5":"2024-12-03T14:16:51.833Z","2.0.0":"2024-12-10T17:17:00.619Z","2.0.4":"2024-12-10T19:30:54.512Z","2.0.5":"2024-12-16T20:12:02.395Z","2.1.0":"2025-01-13T21:38:10.492Z","3.0.0":"2025-01-21T19:01:07.432Z","3.0.1":"2025-01-21T19:19:43.236Z","3.0.2":"2025-03-13T20:52:03.570Z","3.0.3":"2025-03-13T23:24:08.525Z","3.0.4":"2025-03-25T16:06:46.531Z","3.0.5":"2025-04-04T00:04:59.114Z","3.0.6":"2025-05-01T00:34:16.103Z","3.0.7":"2026-01-29T03:48:32.787Z","2.1.1":"2026-01-29T04:33:45.306Z","1.3.30":"2026-02-12T17:26:30.140Z","3.0.50":"2026-03-11T15:20:37.666Z"},"author":{"name":"Nicolas Chamorro Giron"},"license":"MIT","keywords":["tailwind react components","nextui","heroui","react-hook-form-next-ui","react-components","components-react","nextui-components-rhf","heroui-components-rhf","RHF","react-hook-form","React Hook Form"],"description":"React Components with React Hook Form and HeroUI","maintainers":[{"name":"nichagiro","email":"nichagiro@gmail.com"}],"readme":"# Configure your project\r\n\r\nThis library is based on NextUI and React-hook-form. Here you will find form components where we combine these two libraries for easier and faster use. There is also refactoring of components (currently modal and table) for faster and more complete use of all functions.\r\n\r\n\r\n## Demo\r\n[Storybook - Demo](https://storybook-rhfnextui.web.app)\r\n\r\n## Install the library\r\n\r\n```bash\r\nnpm i react-hook-form-next-ui\r\n```\r\n\r\n## Update tailwind file *(tailwind.config.js)*\r\n\r\n\r\nIt is important to import the styles from NextUI and this library.\r\n\r\n```js\r\n//tailwind.config.js\r\nimport { heroui } from \"@heroui/react\";\r\n\r\nexport default {\r\n  content: [\r\n    \"./node_modules/react-hook-form-next-ui/dist/**/*.{js,ts,jsx,tsx}\",\r\n    \"./node_modules/@heroui/theme/dist/**/*.{js,ts,jsx,tsx}\",\r\n  ],\r\n  theme: {\r\n    extend: {},\r\n  },\r\n  plugins: [\r\n    heroui()\r\n  ]\r\n}\r\n```\r\n\r\n## Example \r\n\r\n```js\r\nimport { FormProvider, SubmitHandler, useForm } from \"react-hook-form\"\r\nimport { Button } from \"@heroui/react\";\r\nimport RHFInput from \"../components/RHFInput\";\r\nimport schema from \"../static/schema\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { IForm } from \"../types/app\";\r\n\r\nconst App = () => {\r\n  const methods = useForm<IForm>({\r\n    resolver: yupResolver(schema),\r\n  });\r\n\r\n  const onSubmit: SubmitHandler<IForm> = async data => {\r\n    console.log(\"🚀 ~ Event ~ data:\", data)\r\n  }\r\n\r\n  return (\r\n    <FormProvider {...methods}>\r\n      <Panel title=\"Contact Form\" collapse>\r\n        <form onSubmit={methods.handleSubmit(onSubmit)}>\r\n          <RHFInput name=\"user\" label=\"User Name\" color=\"primary\" />\r\n          <Button type=\"submit\">Submit</Button>\r\n        </form>\r\n      </Panel>\r\n    </FormProvider>\r\n  )\r\n}\r\n```\r\n\r\n# Yup Schema Helpers (Helper)\r\n\r\nThis documentation provides an overview of custom helpers for validating dates and times, as well as their integration with `yup`.\r\n\r\n## Summary\r\n\r\nThis set of utilities includes:\r\n\r\n- **`dateMinMaxValidate`**: Validates a date within a minimum and maximum range.\r\n- **`dualDateValidate`**: Generates rules to validate date pairs (start and end) with range restrictions.\r\n- **`dualTimeValidate`**: Validates time pairs (start and end) with range restrictions.\r\n\r\n## Example\r\n\r\n```js\r\nimport * as yup  from \"yup\";\r\nimport { dateMinMaxValidate, dualDateValidate, dualTimeValidate } from \"../helpers/yup/dates\";\r\n\r\nconst { endDateRule, startDateRule } = dualDateValidate({\r\n  startDate: \"date1\",\r\n  endDate: \"date2\",\r\n  range: 2,\r\n  type: \"months\",\r\n  maxEndDate: \"2024-09-28\",\r\n  minEndDate: \"2024-09-01\",\r\n  maxStartDate: \"2024-09-28\",\r\n  minStartDate: \"2024-09-01\"\r\n});\r\n\r\nconst { endTimeRule, startTimeRule } = dualTimeValidate({\r\n  endTime: \"dualtime2\",\r\n  startTime: \"dualtime1\",\r\n  range: 1,\r\n  type: \"hours\",\r\n})\r\n\r\nconst rangeValue = dateMinMaxValidate({\r\n  maxDate: \"2024-09-05\",\r\n  minDate: \"2024-09-02\"\r\n})\r\n\r\nconst schema = yup\r\n  .object({\r\n    date: rangeValue.required(),\r\n    date1: startDateRule.required(),\r\n    date2: endDateRule.required(),\r\n    dualtime1: startTimeRule.required(),\r\n    dualtime2: endTimeRule.required(),\r\n  }).required();\r\n\r\nexport default schema\r\n```\r\n\r\n","readmeFilename":"README.md"}