{"_id":"@atomic-router/react","name":"@atomic-router/react","dist-tags":{"latest":"0.0.0-this-version-will-be-set-from-ci"},"versions":{"0.0.0-this-version-will-be-set-from-ci":{"name":"@atomic-router/react","publishConfig":{"access":"public"},"version":"0.0.0-this-version-will-be-set-from-ci","author":{"name":"Anton Kosykh"},"repository":{"type":"git","url":"git+https://github.com/atomic-router/react.git"},"license":"MIT","main":"dist/atomic-router.cjs.js","module":"dist/atomic-router.esm.js","unpkg":"dist/atomic-router.umd.js","types":"dist/atomic-router.d.ts","exports":{".":{"import":"./dist/atomic-router.esm.js","require":"./dist/atomic-router.cjs.js","default":"./dist/atomic-router.esm.js"},"./package.json":"./package.json","./scope":{"import":"./dist/scope/atomic-router.esm.js","require":"./dist/scope/atomic-router.cjs.js","default":"./dist/scope/atomic-router.esm.js"}},"engines":{"node":">=10"},"scripts":{"test":"jest -i","test:watch":"jest --watch -i","build":"rollup -c","prepare":"yarn build"},"dependencies":{"clsx":"^1.1.1"},"peerDependencies":{"atomic-router":"^0.6.0","effector":"^22","effector-react":"^22","react":"^17 || ^18"},"devDependencies":{"@babel/cli":"^7.18.10","@babel/core":"^7.18.10","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.18.9","@babel/plugin-proposal-optional-chaining":"^7.18.9","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-babel":"^5.3.1","@rollup/plugin-commonjs":"^22.0.2","@rollup/plugin-node-resolve":"^13.3.0","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@types/jest":"^28.1.6","@types/react":"^17 || ^18","atomic-router":"^0.6.1","effector":"^22.3.0","effector-react":"^22.1.6","history":"^5.3.0","jest":"^28.1.0","jest-environment-jsdom":"^28.1.3","prettier":"^2.7.1","react":"^18.2.0","react-dom":"^18.2.0","rollup":"^2.77.2","rollup-plugin-dts":"^4.2.2","rollup-plugin-terser":"^7.0.2","ts-jest":"^28.0.1","tslib":"^2.4.0","typescript":"^4.6.3"},"gitHead":"2ba6307e6ceb2f4865fef8e9b6aef85911bd0d30","description":"React bindings for [atomic-router](https://github.com/kelin2025/atomic-router)","bugs":{"url":"https://github.com/atomic-router/react/issues"},"homepage":"https://github.com/atomic-router/react#readme","_id":"@atomic-router/react@0.0.0-this-version-will-be-set-from-ci","_nodeVersion":"18.1.0","_npmVersion":"8.8.0","dist":{"integrity":"sha512-4nuebpEejJvLF9oz0bLPnU1lQJ/2lRTttcpTqNVGY/kwzc7AyBVYy0QjdXZwqYyIrprAV+HrMn1IQo0Qvb8duQ==","shasum":"67b66a513a36abd0f2fcee152bb3ad98bd17c729","tarball":"https://registry.npmjs.org/@atomic-router/react/-/react-0.0.0-this-version-will-be-set-from-ci.tgz","fileCount":16,"unpackedSize":248053,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnme/2f6NIDeHGuK6rbgWwP7AmiiEwtcBxFassr/u3AgIhAKyG8gJBHRgdS0S14ijgoWggbDRqMeTYHTsMZMPjv8Er"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7XYRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFgw//bt3WfiUj7c/IeGE93S2kdLdjDDFFp4SqAnri2/qP5xjEh+IS\r\n0OTC244I3VwnRcBpKkAhjtIJxflzF4fE39oUT7gLiRNEERBNBN9AVkmL++Yv\r\nudTXvCDGp4m6f1pHD5qM3XBt5rFXvj96Cd6QlcZlYMmk+oWYt7K8Za/UjSRD\r\nKBBdDO1g7P9BsRNzcDeHRPT+/zqwS9z6PCe94MxTC9uF+ahYy5JBFvEoGNFU\r\nmskrm74fy0/c4/ex8yzwiX4/BzdNJPSSt0HXJR8vCxb6KxBmokQ0DaUJC0qJ\r\nCf73Le7+wQBt2UUot/MFC6XLlKaw5QZGJ+wfCNveGKWLSiNBmp8ejFWJ2J65\r\nuZRpGXK4Uh2JWIKZHibCx7rrkSQGN/W/+N0vMxm2PUrN1ABEMGfCwZjCmiDy\r\nj5KuBVeYjBv6dg0OYmeeL5igaPnA5DPPFgkkTDtruFOUey1ni9trGulFbjQj\r\nCXoBUE8RMb3ixEmT9jgo/wSxqvbPG+igNsWaHZrU3yAoV/8HW1lUV0Ir83Gy\r\nHHUQKrdvuwmdfI+5PegFIIC3wZZiIlz+dldKWC6rQmQHx07zG9Oc/fkAVlds\r\nUJI7mvtI0hxbAH+sLdT5OgptxHJOz6pUiQ9Bz3w8AAwEB9q2oseCJS/NMLhp\r\n8R27h7nncbGnBn0lwW2lFxCMDArJOmZUhK0=\r\n=c+i5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"sergeysova","email":"mail@sergeysova.com"},"directories":{},"maintainers":[{"name":"sergeysova","email":"mail@sergeysova.com"},{"name":"drevoed","email":"vetrokm@gmail.com"},{"name":"kelin2025","email":"vasya-petruha@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react_0.0.0-this-version-will-be-set-from-ci_1659729424905_0.9941702488567659"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-05T19:57:04.852Z","0.0.0-this-version-will-be-set-from-ci":"2022-08-05T19:57:05.088Z","modified":"2022-08-05T19:57:05.303Z"},"maintainers":[{"name":"sergeysova","email":"mail@sergeysova.com"},{"name":"drevoed","email":"vetrokm@gmail.com"},{"name":"kelin2025","email":"vasya-petruha@yandex.ru"}],"description":"React bindings for [atomic-router](https://github.com/kelin2025/atomic-router)","homepage":"https://github.com/atomic-router/react#readme","repository":{"type":"git","url":"git+https://github.com/atomic-router/react.git"},"author":{"name":"Anton Kosykh"},"bugs":{"url":"https://github.com/atomic-router/react/issues"},"license":"MIT","readme":"# Atomic-router-react\n\nReact bindings for [atomic-router](https://github.com/kelin2025/atomic-router)\n\n[Example on StackBlitz](https://stackblitz.com/edit/react-fglswy)\n\n## Installation\n\nInstall core and react bindings:\n\n```bash\nnpm i atomic-router atomic-router-react\n```\n\nDon't forget about peer dependencies, if you haven't installed them yet:\n\n```bash\nnpm i effector effector-react react\n```\n\n## Usage\n\n### `RouterProvider` - provides router instance\n\nWrap your app into this:\n\n```tsx\nimport { createHistoryRouter } from 'atomic-router'\nimport { RouterProvider, Route } from 'atomic-router-react'\n\nimport { HomePage } from './routes'\n\nconst router = createHistoryRouter({ routes });\n\nconst App = () => {\n  return (\n    <RouterProvider router={router}>\n      <Route route={homeRoute} view={HomePage} />\n    </RouterProvider>\n  );\n};\n```\n\n### `Link` - render a link\n\nSimple usage:\n\n```tsx\nimport { createRoute } from 'atomic-router'\nimport { Link } from 'atomic-router-react'\n\nconst homeRoute = createRoute<{postId:string}>()\nconst postRoute = createRoute<{postId:string}>()\n\n<Link to={homeRoute}>Route link</Link>\n<Link to={postRoute} params={{ postId:1 }}>Route link with params</Link>\n<Link to=\"https://example.com\">External link</Link>\n```\n\nAll params:\n\n```tsx\nimport { Link } from 'atomic-router-react'\n\n<Link\n  to={route}\n  params={{ foo: 'bar' }}\n  query={{ bar: 'baz' }}\n  activeClassName=\"font-semibold text-red-400\"\n  inactiveClassName=\"opacity-80\"\n/>\n```\n\n### `Route` - render route\n\n```tsx\nimport { Route } from 'atomic-router-react'\n\n<Route route={homeRoute} view={HomePage} />\n```\n\n### `useLink` — resolve path from route\n\n```tsx\nimport { useLink } from 'atomic-router-react'\nimport { createRoute } from 'atomic-router'\n\n// example path: /some/route/:someId\nconst someRoute = createRoute<{ someId: number }>()\n\nfunction SomeComponent() {\n  const path = useLink(someRoute, { someId: 1 })\n  // -> /some/route/1\n}\n```\n\nBe sure, route is passed into `routes` for `createHistoryRoutes`.\nElse hook will throw `[useLink] Route not found`.\n","readmeFilename":"README.md"}