From 66a178482e46018797aa7b373b641670e9dbcb12 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Fri, 26 Jan 2024 07:57:43 +1100 Subject: [PATCH] docs: Re-organise for new docs layout (v3) (#6765) --- docs/.gitignore | 8 - docs/README.md | 30 - docs/config.json | 163 +- .../react/community/tkdodos-blog.md | 0 docs/{ => framework}/react/comparison.md | 0 docs/{ => framework}/react/devtools.md | 0 .../react/examples/auto-refetching.mdx | 0 .../react/examples/basic-graphql-request.mdx | 0 docs/{ => framework}/react/examples/basic.mdx | 0 .../react/examples/custom-hooks.mdx | 0 .../react/examples/default-query-function.mdx | 0 .../react/examples/focus-refetching.mdx | 0 .../examples/load-more-infinite-scroll.mdx | 0 .../{ => framework}/react/examples/nextjs.mdx | 0 .../optimistic-updates-typescript.mdx | 0 .../react/examples/optimistic-updates.mdx | 0 .../react/examples/pagination.mdx | 0 .../react/examples/playground.mdx | 0 .../react/examples/prefetching.mdx | 0 .../react/examples/react-native.mdx | 0 .../react/examples/rick-morty.mdx | 0 .../{ => framework}/react/examples/simple.mdx | 0 .../react/examples/star-wars.mdx | 0 .../react/examples/suspense.mdx | 0 docs/{ => framework}/react/graphql.md | 0 .../guides/background-fetching-indicators.md | 0 docs/{ => framework}/react/guides/caching.md | 0 .../react/guides/default-query-function.md | 0 .../react/guides/dependent-queries.md | 0 .../react/guides/disabling-queries.md | 0 .../guides/does-this-replace-client-state.md | 0 docs/{ => framework}/react/guides/filters.md | 0 .../react/guides/important-defaults.md | 0 .../react/guides/infinite-queries.md | 0 .../react/guides/initial-query-data.md | 0 .../guides/invalidations-from-mutations.md | 0 .../guides/migrating-to-react-query-3.md | 0 .../{ => framework}/react/guides/mutations.md | 0 .../react/guides/optimistic-updates.md | 0 .../react/guides/paginated-queries.md | 0 .../react/guides/parallel-queries.md | 0 .../react/guides/placeholder-query-data.md | 0 .../react/guides/prefetching.md | 0 docs/{ => framework}/react/guides/queries.md | 0 .../react/guides/query-cancellation.md | 0 .../react/guides/query-functions.md | 0 .../react/guides/query-invalidation.md | 0 .../react/guides/query-keys.md | 0 .../react/guides/query-retries.md | 0 .../react/guides/scroll-restoration.md | 0 docs/{ => framework}/react/guides/ssr.md | 0 docs/{ => framework}/react/guides/suspense.md | 0 docs/{ => framework}/react/guides/testing.md | 0 .../guides/updates-from-mutation-responses.md | 0 .../react/guides/window-focus-refetching.md | 0 docs/{ => framework}/react/installation.md | 0 docs/{ => framework}/react/overview.md | 0 .../react/plugins/broadcastQueryClient.md | 0 .../plugins/createAsyncStoragePersistor.md | 0 .../plugins/createWebStoragePersistor.md | 0 .../react/plugins/persistQueryClient.md | 0 docs/{ => framework}/react/quick-start.md | 0 docs/{ => framework}/react/react-native.md | 0 .../react/reference/InfiniteQueryObserver.md | 0 .../react/reference/MutationCache.md | 0 .../react/reference/QueriesObserver.md | 0 .../react/reference/QueryCache.md | 0 .../react/reference/QueryClient.md | 0 .../react/reference/QueryClientProvider.md | 0 .../reference/QueryErrorResetBoundary.md | 0 .../react/reference/QueryObserver.md | 0 .../react/reference/focusManager.md | 0 .../react/reference/hydration.md | 0 .../react/reference/onlineManager.md | 0 .../react/reference/setLogger.md | 0 .../react/reference/useInfiniteQuery.md | 0 .../react/reference/useIsFetching.md | 0 .../react/reference/useIsMutating.md | 0 .../react/reference/useMutation.md | 0 .../react/reference/useQueries.md | 0 .../react/reference/useQuery.md | 0 .../react/reference/useQueryClient.md | 0 .../reference/useQueryErrorResetBoundary.md | 0 docs/{ => framework}/react/typescript.md | 0 docs/{ => framework}/react/videos.md | 0 docs/jsconfig.json | 5 - docs/next.config.js | 100 - docs/package.json | 82 - docs/postcss.config.js | 3 - docs/public/images/bytes-logo.png | Bin 93989 -> 0 bytes docs/public/robots.txt | 2 - docs/src/components/ArrowRight.js | 10 - docs/src/components/Banner.js | 12 - docs/src/components/BytesForm.js | 49 - docs/src/components/CarbonAds.js | 45 - docs/src/components/CodeBlock.js | 125 - docs/src/components/Container.js | 6 - docs/src/components/DocsPageFooter.js | 76 - docs/src/components/ExternalLink.js | 4 - docs/src/components/Footer.js | 141 - docs/src/components/Highlight.js | 140 - docs/src/components/Highlight2.js | 100 - docs/src/components/LayoutDocs.js | 228 - docs/src/components/LazyImage.js | 25 - docs/src/components/Logo.js | 0 docs/src/components/MDXComponents.js | 8 - docs/src/components/Markdown.js | 10 - docs/src/components/Nav.js | 73 - docs/src/components/PPPBanner.js | 69 - docs/src/components/ProgressiveImage.js | 99 - docs/src/components/Search.js | 56 - docs/src/components/Seo.js | 80 - docs/src/components/Sidebar.js | 52 - docs/src/components/SidebarCategory.js | 126 - docs/src/components/SidebarHeading.js | 23 - docs/src/components/SidebarMobile.js | 112 - docs/src/components/SidebarNavLink.js | 75 - docs/src/components/SidebarPost.js | 46 - docs/src/components/Sticky.js | 26 - docs/src/components/TWButton.js | 97 - docs/src/components/Toc.js | 60 - docs/src/components/Toc.module.css | 13 - docs/src/components/TocNotion.js | 41 - docs/src/components/blog-markdown.module.css | 176 - docs/src/components/blog/ExternalLink.js | 4 - docs/src/components/blog/Heading.js | 37 - docs/src/components/blog/Image.js | 190 - docs/src/components/blog/dynamic.js | 14 - .../blog/intersection-observer/index.js | 1 - .../intersection-observer.js | 105 - .../blog/intersection-observer/manager.js | 65 - .../blog/intersection-observer/utils.js | 53 - docs/src/components/clients/Client.js | 13 - docs/src/components/clients/ClientsMarquee.js | 44 - docs/src/components/clients/Filters.js | 41 - docs/src/components/forwardRefWithAs.js | 66 - docs/src/components/markdown.module.css | 181 - docs/src/components/useBytesSubmit.js | 32 - docs/src/components/useClipboard.js | 26 - docs/src/components/useIsMobile.js | 29 - docs/src/components/useLocalStorage.js | 39 - docs/src/components/useOverScroll.js | 46 - docs/src/components/useSearch.js | 105 - docs/src/components/useTocHighlight.js | 83 - docs/src/components/utils/throttle.js | 14 - docs/src/images/emblem-light.svg | 13 - docs/src/images/favicon.png | Bin 1880 -> 0 bytes docs/src/images/logo.svg | 23 - docs/src/images/logos/walmart.svg | 1 - docs/src/images/react-query-og.png | Bin 202595 -> 0 bytes docs/src/images/react-query-twitter.png | Bin 202595 -> 0 bytes docs/src/lib/docs/findRouteByPath.js | 13 - docs/src/lib/docs/md-loader.js | 22 - docs/src/lib/docs/remark-paragraph-alerts.js | 45 - docs/src/lib/docs/utils.js | 4 - docs/src/lib/fs-utils.js | 4 - docs/src/lib/get-route-context.js | 51 - docs/src/manifests/getManifest.js | 8 - docs/src/manifests/manifest.json | 450 - docs/src/pages/404.js | 11 - docs/src/pages/_app.js | 43 - docs/src/pages/_document.js | 22 - docs/src/pages/community/tkdodos-blog.md | 55 - docs/src/pages/comparison.md | 125 - docs/src/pages/devtools.md | 78 - docs/src/pages/examples/auto-refetching.mdx | 25 - .../pages/examples/basic-graphql-request.mdx | 23 - docs/src/pages/examples/basic.mdx | 23 - docs/src/pages/examples/custom-hooks.mdx | 23 - .../pages/examples/default-query-function.mdx | 23 - docs/src/pages/examples/focus-refetching.mdx | 23 - .../examples/load-more-infinite-scroll.mdx | 23 - docs/src/pages/examples/nextjs.mdx | 23 - .../optimistic-updates-typescript.mdx | 23 - .../src/pages/examples/optimistic-updates.mdx | 23 - docs/src/pages/examples/pagination.mdx | 23 - docs/src/pages/examples/playground.mdx | 23 - docs/src/pages/examples/prefetching.mdx | 23 - docs/src/pages/examples/react-native.mdx | 23 - docs/src/pages/examples/rick-morty.mdx | 23 - docs/src/pages/examples/simple.mdx | 23 - docs/src/pages/examples/star-wars.mdx | 23 - docs/src/pages/examples/suspense.mdx | 23 - docs/src/pages/graphql.md | 16 - .../guides/background-fetching-indicators.md | 47 - docs/src/pages/guides/caching.md | 32 - .../pages/guides/default-query-function.md | 50 - docs/src/pages/guides/dependent-queries.md | 26 - docs/src/pages/guides/disabling-queries.md | 56 - .../guides/does-this-replace-client-state.md | 56 - docs/src/pages/guides/filters.md | 72 - docs/src/pages/guides/important-defaults.md | 41 - docs/src/pages/guides/infinite-queries.md | 192 - docs/src/pages/guides/initial-query-data.md | 140 - .../guides/invalidations-from-mutations.md | 30 - .../guides/migrating-to-react-query-3.md | 596 - docs/src/pages/guides/mutations.md | 285 - docs/src/pages/guides/optimistic-updates.md | 84 - docs/src/pages/guides/paginated-queries.md | 80 - docs/src/pages/guides/parallel-queries.md | 41 - .../pages/guides/placeholder-query-data.md | 59 - docs/src/pages/guides/prefetching.md | 25 - docs/src/pages/guides/queries.md | 97 - docs/src/pages/guides/query-cancellation.md | 197 - docs/src/pages/guides/query-functions.md | 76 - docs/src/pages/guides/query-invalidation.md | 81 - docs/src/pages/guides/query-keys.md | 77 - docs/src/pages/guides/query-retries.md | 53 - docs/src/pages/guides/scroll-restoration.md | 8 - docs/src/pages/guides/ssr.md | 209 - docs/src/pages/guides/suspense.md | 103 - docs/src/pages/guides/testing.md | 187 - .../guides/updates-from-mutation-responses.md | 41 - .../pages/guides/window-focus-refetching.md | 95 - docs/src/pages/index.js | 427 - docs/src/pages/installation.md | 32 - docs/src/pages/overview.md | 88 - .../src/pages/plugins/broadcastQueryClient.md | 59 - .../plugins/createAsyncStoragePersistor.md | 85 - .../plugins/createWebStoragePersistor.md | 76 - docs/src/pages/plugins/persistQueryClient.md | 136 - docs/src/pages/quick-start.md | 74 - docs/src/pages/react-native.md | 73 - .../pages/reference/InfiniteQueryObserver.md | 26 - docs/src/pages/reference/MutationCache.md | 91 - docs/src/pages/reference/QueriesObserver.md | 24 - docs/src/pages/reference/QueryCache.md | 115 - docs/src/pages/reference/QueryClient.md | 538 - .../pages/reference/QueryClientProvider.md | 24 - .../reference/QueryErrorResetBoundary.md | 29 - docs/src/pages/reference/QueryObserver.md | 21 - docs/src/pages/reference/focusManager.md | 65 - docs/src/pages/reference/hydration.md | 135 - docs/src/pages/reference/onlineManager.md | 58 - docs/src/pages/reference/setLogger.md | 43 - docs/src/pages/reference/useInfiniteQuery.md | 68 - docs/src/pages/reference/useIsFetching.md | 24 - docs/src/pages/reference/useIsMutating.md | 24 - docs/src/pages/reference/useMutation.md | 106 - docs/src/pages/reference/useQueries.md | 21 - docs/src/pages/reference/useQuery.md | 248 - docs/src/pages/reference/useQueryClient.md | 12 - .../reference/useQueryErrorResetBoundary.md | 28 - docs/src/pages/typescript.md | 29 - docs/src/pages/videos.mdx | 66 - docs/src/siteConfig.js | 14 - docs/src/styles/blog.module.css | 55 - docs/src/styles/index.css | 247 - docs/src/styles/post.module.css | 42 - docs/src/styles/shared.module.css | 6 - docs/src/users.js | 23 - docs/tailwind.config.js | 62 - docs/yarn.lock | 10614 ---------------- 253 files changed, 82 insertions(+), 22146 deletions(-) delete mode 100644 docs/.gitignore delete mode 100644 docs/README.md rename docs/{ => framework}/react/community/tkdodos-blog.md (100%) rename docs/{ => framework}/react/comparison.md (100%) rename docs/{ => framework}/react/devtools.md (100%) rename docs/{ => framework}/react/examples/auto-refetching.mdx (100%) rename docs/{ => framework}/react/examples/basic-graphql-request.mdx (100%) rename docs/{ => framework}/react/examples/basic.mdx (100%) rename docs/{ => framework}/react/examples/custom-hooks.mdx (100%) rename docs/{ => framework}/react/examples/default-query-function.mdx (100%) rename docs/{ => framework}/react/examples/focus-refetching.mdx (100%) rename docs/{ => framework}/react/examples/load-more-infinite-scroll.mdx (100%) rename docs/{ => framework}/react/examples/nextjs.mdx (100%) rename docs/{ => framework}/react/examples/optimistic-updates-typescript.mdx (100%) rename docs/{ => framework}/react/examples/optimistic-updates.mdx (100%) rename docs/{ => framework}/react/examples/pagination.mdx (100%) rename docs/{ => framework}/react/examples/playground.mdx (100%) rename docs/{ => framework}/react/examples/prefetching.mdx (100%) rename docs/{ => framework}/react/examples/react-native.mdx (100%) rename docs/{ => framework}/react/examples/rick-morty.mdx (100%) rename docs/{ => framework}/react/examples/simple.mdx (100%) rename docs/{ => framework}/react/examples/star-wars.mdx (100%) rename docs/{ => framework}/react/examples/suspense.mdx (100%) rename docs/{ => framework}/react/graphql.md (100%) rename docs/{ => framework}/react/guides/background-fetching-indicators.md (100%) rename docs/{ => framework}/react/guides/caching.md (100%) rename docs/{ => framework}/react/guides/default-query-function.md (100%) rename docs/{ => framework}/react/guides/dependent-queries.md (100%) rename docs/{ => framework}/react/guides/disabling-queries.md (100%) rename docs/{ => framework}/react/guides/does-this-replace-client-state.md (100%) rename docs/{ => framework}/react/guides/filters.md (100%) rename docs/{ => framework}/react/guides/important-defaults.md (100%) rename docs/{ => framework}/react/guides/infinite-queries.md (100%) rename docs/{ => framework}/react/guides/initial-query-data.md (100%) rename docs/{ => framework}/react/guides/invalidations-from-mutations.md (100%) rename docs/{ => framework}/react/guides/migrating-to-react-query-3.md (100%) rename docs/{ => framework}/react/guides/mutations.md (100%) rename docs/{ => framework}/react/guides/optimistic-updates.md (100%) rename docs/{ => framework}/react/guides/paginated-queries.md (100%) rename docs/{ => framework}/react/guides/parallel-queries.md (100%) rename docs/{ => framework}/react/guides/placeholder-query-data.md (100%) rename docs/{ => framework}/react/guides/prefetching.md (100%) rename docs/{ => framework}/react/guides/queries.md (100%) rename docs/{ => framework}/react/guides/query-cancellation.md (100%) rename docs/{ => framework}/react/guides/query-functions.md (100%) rename docs/{ => framework}/react/guides/query-invalidation.md (100%) rename docs/{ => framework}/react/guides/query-keys.md (100%) rename docs/{ => framework}/react/guides/query-retries.md (100%) rename docs/{ => framework}/react/guides/scroll-restoration.md (100%) rename docs/{ => framework}/react/guides/ssr.md (100%) rename docs/{ => framework}/react/guides/suspense.md (100%) rename docs/{ => framework}/react/guides/testing.md (100%) rename docs/{ => framework}/react/guides/updates-from-mutation-responses.md (100%) rename docs/{ => framework}/react/guides/window-focus-refetching.md (100%) rename docs/{ => framework}/react/installation.md (100%) rename docs/{ => framework}/react/overview.md (100%) rename docs/{ => framework}/react/plugins/broadcastQueryClient.md (100%) rename docs/{ => framework}/react/plugins/createAsyncStoragePersistor.md (100%) rename docs/{ => framework}/react/plugins/createWebStoragePersistor.md (100%) rename docs/{ => framework}/react/plugins/persistQueryClient.md (100%) rename docs/{ => framework}/react/quick-start.md (100%) rename docs/{ => framework}/react/react-native.md (100%) rename docs/{ => framework}/react/reference/InfiniteQueryObserver.md (100%) rename docs/{ => framework}/react/reference/MutationCache.md (100%) rename docs/{ => framework}/react/reference/QueriesObserver.md (100%) rename docs/{ => framework}/react/reference/QueryCache.md (100%) rename docs/{ => framework}/react/reference/QueryClient.md (100%) rename docs/{ => framework}/react/reference/QueryClientProvider.md (100%) rename docs/{ => framework}/react/reference/QueryErrorResetBoundary.md (100%) rename docs/{ => framework}/react/reference/QueryObserver.md (100%) rename docs/{ => framework}/react/reference/focusManager.md (100%) rename docs/{ => framework}/react/reference/hydration.md (100%) rename docs/{ => framework}/react/reference/onlineManager.md (100%) rename docs/{ => framework}/react/reference/setLogger.md (100%) rename docs/{ => framework}/react/reference/useInfiniteQuery.md (100%) rename docs/{ => framework}/react/reference/useIsFetching.md (100%) rename docs/{ => framework}/react/reference/useIsMutating.md (100%) rename docs/{ => framework}/react/reference/useMutation.md (100%) rename docs/{ => framework}/react/reference/useQueries.md (100%) rename docs/{ => framework}/react/reference/useQuery.md (100%) rename docs/{ => framework}/react/reference/useQueryClient.md (100%) rename docs/{ => framework}/react/reference/useQueryErrorResetBoundary.md (100%) rename docs/{ => framework}/react/typescript.md (100%) rename docs/{ => framework}/react/videos.md (100%) delete mode 100644 docs/jsconfig.json delete mode 100644 docs/next.config.js delete mode 100644 docs/package.json delete mode 100644 docs/postcss.config.js delete mode 100644 docs/public/images/bytes-logo.png delete mode 100644 docs/public/robots.txt delete mode 100644 docs/src/components/ArrowRight.js delete mode 100644 docs/src/components/Banner.js delete mode 100644 docs/src/components/BytesForm.js delete mode 100644 docs/src/components/CarbonAds.js delete mode 100644 docs/src/components/CodeBlock.js delete mode 100644 docs/src/components/Container.js delete mode 100644 docs/src/components/DocsPageFooter.js delete mode 100644 docs/src/components/ExternalLink.js delete mode 100644 docs/src/components/Footer.js delete mode 100644 docs/src/components/Highlight.js delete mode 100644 docs/src/components/Highlight2.js delete mode 100644 docs/src/components/LayoutDocs.js delete mode 100644 docs/src/components/LazyImage.js delete mode 100644 docs/src/components/Logo.js delete mode 100644 docs/src/components/MDXComponents.js delete mode 100644 docs/src/components/Markdown.js delete mode 100644 docs/src/components/Nav.js delete mode 100644 docs/src/components/PPPBanner.js delete mode 100644 docs/src/components/ProgressiveImage.js delete mode 100644 docs/src/components/Search.js delete mode 100644 docs/src/components/Seo.js delete mode 100644 docs/src/components/Sidebar.js delete mode 100644 docs/src/components/SidebarCategory.js delete mode 100644 docs/src/components/SidebarHeading.js delete mode 100644 docs/src/components/SidebarMobile.js delete mode 100644 docs/src/components/SidebarNavLink.js delete mode 100644 docs/src/components/SidebarPost.js delete mode 100644 docs/src/components/Sticky.js delete mode 100644 docs/src/components/TWButton.js delete mode 100644 docs/src/components/Toc.js delete mode 100644 docs/src/components/Toc.module.css delete mode 100644 docs/src/components/TocNotion.js delete mode 100644 docs/src/components/blog-markdown.module.css delete mode 100644 docs/src/components/blog/ExternalLink.js delete mode 100644 docs/src/components/blog/Heading.js delete mode 100644 docs/src/components/blog/Image.js delete mode 100644 docs/src/components/blog/dynamic.js delete mode 100644 docs/src/components/blog/intersection-observer/index.js delete mode 100644 docs/src/components/blog/intersection-observer/intersection-observer.js delete mode 100644 docs/src/components/blog/intersection-observer/manager.js delete mode 100644 docs/src/components/blog/intersection-observer/utils.js delete mode 100644 docs/src/components/clients/Client.js delete mode 100644 docs/src/components/clients/ClientsMarquee.js delete mode 100644 docs/src/components/clients/Filters.js delete mode 100644 docs/src/components/forwardRefWithAs.js delete mode 100644 docs/src/components/markdown.module.css delete mode 100644 docs/src/components/useBytesSubmit.js delete mode 100644 docs/src/components/useClipboard.js delete mode 100644 docs/src/components/useIsMobile.js delete mode 100644 docs/src/components/useLocalStorage.js delete mode 100644 docs/src/components/useOverScroll.js delete mode 100644 docs/src/components/useSearch.js delete mode 100644 docs/src/components/useTocHighlight.js delete mode 100644 docs/src/components/utils/throttle.js delete mode 100644 docs/src/images/emblem-light.svg delete mode 100644 docs/src/images/favicon.png delete mode 100644 docs/src/images/logo.svg delete mode 100644 docs/src/images/logos/walmart.svg delete mode 100644 docs/src/images/react-query-og.png delete mode 100644 docs/src/images/react-query-twitter.png delete mode 100644 docs/src/lib/docs/findRouteByPath.js delete mode 100644 docs/src/lib/docs/md-loader.js delete mode 100644 docs/src/lib/docs/remark-paragraph-alerts.js delete mode 100644 docs/src/lib/docs/utils.js delete mode 100644 docs/src/lib/fs-utils.js delete mode 100644 docs/src/lib/get-route-context.js delete mode 100644 docs/src/manifests/getManifest.js delete mode 100644 docs/src/manifests/manifest.json delete mode 100644 docs/src/pages/404.js delete mode 100644 docs/src/pages/_app.js delete mode 100644 docs/src/pages/_document.js delete mode 100644 docs/src/pages/community/tkdodos-blog.md delete mode 100644 docs/src/pages/comparison.md delete mode 100644 docs/src/pages/devtools.md delete mode 100644 docs/src/pages/examples/auto-refetching.mdx delete mode 100644 docs/src/pages/examples/basic-graphql-request.mdx delete mode 100644 docs/src/pages/examples/basic.mdx delete mode 100644 docs/src/pages/examples/custom-hooks.mdx delete mode 100644 docs/src/pages/examples/default-query-function.mdx delete mode 100644 docs/src/pages/examples/focus-refetching.mdx delete mode 100644 docs/src/pages/examples/load-more-infinite-scroll.mdx delete mode 100644 docs/src/pages/examples/nextjs.mdx delete mode 100644 docs/src/pages/examples/optimistic-updates-typescript.mdx delete mode 100644 docs/src/pages/examples/optimistic-updates.mdx delete mode 100644 docs/src/pages/examples/pagination.mdx delete mode 100644 docs/src/pages/examples/playground.mdx delete mode 100644 docs/src/pages/examples/prefetching.mdx delete mode 100644 docs/src/pages/examples/react-native.mdx delete mode 100644 docs/src/pages/examples/rick-morty.mdx delete mode 100644 docs/src/pages/examples/simple.mdx delete mode 100644 docs/src/pages/examples/star-wars.mdx delete mode 100644 docs/src/pages/examples/suspense.mdx delete mode 100644 docs/src/pages/graphql.md delete mode 100644 docs/src/pages/guides/background-fetching-indicators.md delete mode 100644 docs/src/pages/guides/caching.md delete mode 100644 docs/src/pages/guides/default-query-function.md delete mode 100644 docs/src/pages/guides/dependent-queries.md delete mode 100644 docs/src/pages/guides/disabling-queries.md delete mode 100644 docs/src/pages/guides/does-this-replace-client-state.md delete mode 100644 docs/src/pages/guides/filters.md delete mode 100644 docs/src/pages/guides/important-defaults.md delete mode 100644 docs/src/pages/guides/infinite-queries.md delete mode 100644 docs/src/pages/guides/initial-query-data.md delete mode 100644 docs/src/pages/guides/invalidations-from-mutations.md delete mode 100644 docs/src/pages/guides/migrating-to-react-query-3.md delete mode 100644 docs/src/pages/guides/mutations.md delete mode 100644 docs/src/pages/guides/optimistic-updates.md delete mode 100644 docs/src/pages/guides/paginated-queries.md delete mode 100644 docs/src/pages/guides/parallel-queries.md delete mode 100644 docs/src/pages/guides/placeholder-query-data.md delete mode 100644 docs/src/pages/guides/prefetching.md delete mode 100644 docs/src/pages/guides/queries.md delete mode 100644 docs/src/pages/guides/query-cancellation.md delete mode 100644 docs/src/pages/guides/query-functions.md delete mode 100644 docs/src/pages/guides/query-invalidation.md delete mode 100644 docs/src/pages/guides/query-keys.md delete mode 100644 docs/src/pages/guides/query-retries.md delete mode 100644 docs/src/pages/guides/scroll-restoration.md delete mode 100644 docs/src/pages/guides/ssr.md delete mode 100644 docs/src/pages/guides/suspense.md delete mode 100644 docs/src/pages/guides/testing.md delete mode 100644 docs/src/pages/guides/updates-from-mutation-responses.md delete mode 100644 docs/src/pages/guides/window-focus-refetching.md delete mode 100644 docs/src/pages/index.js delete mode 100644 docs/src/pages/installation.md delete mode 100644 docs/src/pages/overview.md delete mode 100644 docs/src/pages/plugins/broadcastQueryClient.md delete mode 100644 docs/src/pages/plugins/createAsyncStoragePersistor.md delete mode 100644 docs/src/pages/plugins/createWebStoragePersistor.md delete mode 100644 docs/src/pages/plugins/persistQueryClient.md delete mode 100644 docs/src/pages/quick-start.md delete mode 100644 docs/src/pages/react-native.md delete mode 100644 docs/src/pages/reference/InfiniteQueryObserver.md delete mode 100644 docs/src/pages/reference/MutationCache.md delete mode 100644 docs/src/pages/reference/QueriesObserver.md delete mode 100644 docs/src/pages/reference/QueryCache.md delete mode 100644 docs/src/pages/reference/QueryClient.md delete mode 100644 docs/src/pages/reference/QueryClientProvider.md delete mode 100644 docs/src/pages/reference/QueryErrorResetBoundary.md delete mode 100644 docs/src/pages/reference/QueryObserver.md delete mode 100644 docs/src/pages/reference/focusManager.md delete mode 100644 docs/src/pages/reference/hydration.md delete mode 100644 docs/src/pages/reference/onlineManager.md delete mode 100644 docs/src/pages/reference/setLogger.md delete mode 100644 docs/src/pages/reference/useInfiniteQuery.md delete mode 100644 docs/src/pages/reference/useIsFetching.md delete mode 100644 docs/src/pages/reference/useIsMutating.md delete mode 100644 docs/src/pages/reference/useMutation.md delete mode 100644 docs/src/pages/reference/useQueries.md delete mode 100644 docs/src/pages/reference/useQuery.md delete mode 100644 docs/src/pages/reference/useQueryClient.md delete mode 100644 docs/src/pages/reference/useQueryErrorResetBoundary.md delete mode 100644 docs/src/pages/typescript.md delete mode 100644 docs/src/pages/videos.mdx delete mode 100644 docs/src/siteConfig.js delete mode 100644 docs/src/styles/blog.module.css delete mode 100644 docs/src/styles/index.css delete mode 100644 docs/src/styles/post.module.css delete mode 100644 docs/src/styles/shared.module.css delete mode 100644 docs/src/users.js delete mode 100644 docs/tailwind.config.js delete mode 100644 docs/yarn.lock diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 6357dc96e9..0000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -.next -.now -.env -.env.* -node_modules -*.log -.DS_Store -.vercel \ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 6256982818..0000000000 --- a/docs/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# React Query Docs - -This is source code to react-query.tanstack.com. It is forked from the [Formik](https://formik.org) docs and is built with: - -- Next.js -- MDX -- Tailwind -- Algolia -- Notion - -## Running locally - -```sh -yarn install -``` - -At the moment, you need to signup for Notion, and [follow these instructions](https://github.com/ijjk/notion-blog#getting-blog-index-and-token) to get a token and create a blog in order to develop locally. Not ideal, but hopefully will fix soon. - -With tokens and page index in hand, rename `.sample.env` and `.sample.env.build` to just `.env` and `.env.build`. In each one, add respective parameters: - -```diff --NOTION_TOKEN=XXXX -+NOTION_TOKEN= --BLOG_INDEX_ID=XXXXX -+BLOG_INDEX_ID= -``` - -Now it will work. Run `yarn dev` to get going. - -If you get stuck or need help, [send a DM to Jared](https://twitter.com/jaredpalmer) on Twitter. diff --git a/docs/config.json b/docs/config.json index 40cc191ee0..6c5dfbd47e 100644 --- a/docs/config.json +++ b/docs/config.json @@ -1,4 +1,5 @@ { + "$schema": "https://raw.githubusercontent.com/TanStack/tanstack.com/main/tanstack-docs-config.schema.json", "docSearch": { "appId": "ZFKQRGRQA8", "apiKey": "93e0b83eb0b5af4549b6bf47f90af3f7", @@ -14,39 +15,39 @@ "children": [ { "label": "Overview", - "to": "react/overview" + "to": "framework/react/overview" }, { "label": "Installation", - "to": "react/installation" + "to": "framework/react/installation" }, { "label": "Quick Start", - "to": "react/quick-start" + "to": "framework/react/quick-start" }, { "label": "Devtools", - "to": "react/devtools" + "to": "framework/react/devtools" }, { "label": "Videos & Talks", - "to": "react/videos" + "to": "framework/react/videos" }, { "label": "Comparison", - "to": "react/comparison" + "to": "framework/react/comparison" }, { "label": "TypeScript", - "to": "react/typescript" + "to": "framework/react/typescript" }, { "label": "GraphQL", - "to": "react/graphql" + "to": "framework/react/graphql" }, { "label": "React Native", - "to": "react/react-native" + "to": "framework/react/react-native" } ] }, @@ -55,123 +56,123 @@ "children": [ { "label": "Important Defaults", - "to": "react/guides/important-defaults" + "to": "framework/react/guides/important-defaults" }, { "label": "Queries", - "to": "react/guides/queries" + "to": "framework/react/guides/queries" }, { "label": "Query Keys", - "to": "react/guides/query-keys" + "to": "framework/react/guides/query-keys" }, { "label": "Query Functions", - "to": "react/guides/query-functions" + "to": "framework/react/guides/query-functions" }, { "label": "Parallel Queries", - "to": "react/guides/parallel-queries" + "to": "framework/react/guides/parallel-queries" }, { "label": "Dependent Queries", - "to": "react/guides/dependent-queries" + "to": "framework/react/guides/dependent-queries" }, { "label": "Background Fetching Indicators", - "to": "react/guides/background-fetching-indicators" + "to": "framework/react/guides/background-fetching-indicators" }, { "label": "Window Focus Refetching", - "to": "react/guides/window-focus-refetching" + "to": "framework/react/guides/window-focus-refetching" }, { "label": "Disabling/Pausing Queries", - "to": "react/guides/disabling-queries" + "to": "framework/react/guides/disabling-queries" }, { "label": "Query Retries", - "to": "react/guides/query-retries" + "to": "framework/react/guides/query-retries" }, { "label": "Paginated Queries", - "to": "react/guides/paginated-queries" + "to": "framework/react/guides/paginated-queries" }, { "label": "Infinite Queries", - "to": "react/guides/infinite-queries" + "to": "framework/react/guides/infinite-queries" }, { "label": "Initial Query Data", - "to": "react/guides/initial-query-data" + "to": "framework/react/guides/initial-query-data" }, { "label": "Placeholder Query Data", - "to": "react/guides/placeholder-query-data" + "to": "framework/react/guides/placeholder-query-data" }, { "label": "Prefetching", - "to": "react/guides/prefetching" + "to": "framework/react/guides/prefetching" }, { "label": "Mutations", - "to": "react/guides/mutations" + "to": "framework/react/guides/mutations" }, { "label": "Query Invalidation", - "to": "react/guides/query-invalidation" + "to": "framework/react/guides/query-invalidation" }, { "label": "Invalidation from Mutations", - "to": "react/guides/invalidations-from-mutations" + "to": "framework/react/guides/invalidations-from-mutations" }, { "label": "Updates from Mutation Responses", - "to": "react/guides/updates-from-mutation-responses" + "to": "framework/react/guides/updates-from-mutation-responses" }, { "label": "Optimistic Updates", - "to": "react/guides/optimistic-updates" + "to": "framework/react/guides/optimistic-updates" }, { "label": "Query Cancellation", - "to": "react/guides/query-cancellation" + "to": "framework/react/guides/query-cancellation" }, { "label": "Scroll Restoration", - "to": "react/guides/scroll-restoration" + "to": "framework/react/guides/scroll-restoration" }, { "label": "Filters", - "to": "react/guides/filters" + "to": "framework/react/guides/filters" }, { "label": "SSR & Next.js", - "to": "react/guides/ssr" + "to": "framework/react/guides/ssr" }, { "label": "Caching", - "to": "react/guides/caching" + "to": "framework/react/guides/caching" }, { "label": "Default Query Fn", - "to": "react/guides/default-query-function" + "to": "framework/react/guides/default-query-function" }, { "label": "Suspense", - "to": "react/guides/suspense" + "to": "framework/react/guides/suspense" }, { "label": "Testing", - "to": "react/guides/testing" + "to": "framework/react/guides/testing" }, { "label": "Does this replace [Redux, MobX, etc]?", - "to": "react/guides/does-this-replace-client-state" + "to": "framework/react/guides/does-this-replace-client-state" }, { "label": "Migrating to React Query 3", - "to": "react/guides/migrating-to-react-query-3" + "to": "framework/react/guides/migrating-to-react-query-3" } ] }, @@ -180,7 +181,7 @@ "children": [ { "label": "TkDodo's Blog", - "to": "react/community/tkdodos-blog" + "to": "framework/react/community/tkdodos-blog" } ] }, @@ -189,71 +190,71 @@ "children": [ { "label": "Simple", - "to": "react/examples/react/simple" + "to": "framework/react/examples/simple" }, { "label": "Basic", - "to": "react/examples/react/basic" + "to": "framework/react/examples/basic" }, { "label": "Basic w/ GraphQL-Request", - "to": "react/examples/react/basic-graphql-request" + "to": "framework/react/examples/basic-graphql-request" }, { "label": "Auto Refetching / Polling / Realtime", - "to": "react/examples/react/auto-refetching" + "to": "framework/react/examples/auto-refetching" }, { "label": "Optimistic Updates in TypeScript", - "to": "react/examples/react/optimistic-updates-typescript" + "to": "framework/react/examples/optimistic-updates-typescript" }, { "label": "Pagination", - "to": "react/examples/react/pagination" + "to": "framework/react/examples/pagination" }, { "label": "Load-More & Infinite Scroll", - "to": "react/examples/react/load-more-infinite-scroll" + "to": "framework/react/examples/load-more-infinite-scroll" }, { "label": "Suspense", - "to": "react/examples/react/suspense" + "to": "framework/react/examples/suspense" }, { "label": "Default Query Function", - "to": "react/examples/react/default-query-function" + "to": "framework/react/examples/default-query-function" }, { "label": "Playground", - "to": "react/examples/react/playground" + "to": "framework/react/examples/playground" }, { "label": "Prefetching", - "to": "react/examples/react/prefetching" + "to": "framework/react/examples/prefetching" }, { "label": "Star Wars", - "to": "react/examples/react/star-wars" + "to": "framework/react/examples/star-wars" }, { "label": "Rick And Morty", - "to": "react/examples/react/rick-morty" + "to": "framework/react/examples/rick-morty" }, { "label": "Next.js", - "to": "react/examples/react/nextjs" + "to": "framework/react/examples/nextjs" }, { "label": "React Native", - "to": "react/examples/react/react-native" + "to": "framework/react/examples/react-native" }, { "label": "React Router", - "to": "react/examples/react/react-router" + "to": "framework/react/examples/react-router" }, { "label": "Offline Queries and Mutations", - "to": "react/examples/react/offline" + "to": "framework/react/examples/offline" } ] }, @@ -262,19 +263,19 @@ "children": [ { "label": "persistQueryClient (Experimental)", - "to": "react/plugins/persistQueryClient" + "to": "framework/react/plugins/persistQueryClient" }, { "label": "createWebStoragePersistor (Experimental)", - "to": "react/plugins/createWebStoragePersistor" + "to": "framework/react/plugins/createWebStoragePersistor" }, { "label": "createAsyncStoragePersistor (Experimental)", - "to": "react/plugins/createAsyncStoragePersistor" + "to": "framework/react/plugins/createAsyncStoragePersistor" }, { "label": "broadcastQueryClient (Experimental)", - "to": "react/plugins/broadcastQueryClient" + "to": "framework/react/plugins/broadcastQueryClient" } ] }, @@ -283,83 +284,83 @@ "children": [ { "label": "useQuery", - "to": "react/reference/useQuery" + "to": "framework/react/reference/useQuery" }, { "label": "useQueries", - "to": "react/reference/useQueries" + "to": "framework/react/reference/useQueries" }, { "label": "useInfiniteQuery", - "to": "react/reference/useInfiniteQuery" + "to": "framework/react/reference/useInfiniteQuery" }, { "label": "useMutation", - "to": "react/reference/useMutation" + "to": "framework/react/reference/useMutation" }, { "label": "useIsFetching", - "to": "react/reference/useIsFetching" + "to": "framework/react/reference/useIsFetching" }, { "label": "useIsMutating", - "to": "react/reference/useIsMutating" + "to": "framework/react/reference/useIsMutating" }, { "label": "QueryClient", - "to": "react/reference/QueryClient" + "to": "framework/react/reference/QueryClient" }, { "label": "QueryClientProvider", - "to": "react/reference/QueryClientProvider" + "to": "framework/react/reference/QueryClientProvider" }, { "label": "useQueryClient", - "to": "react/reference/useQueryClient" + "to": "framework/react/reference/useQueryClient" }, { "label": "QueryCache", - "to": "react/reference/QueryCache" + "to": "framework/react/reference/QueryCache" }, { "label": "MutationCache", - "to": "react/reference/MutationCache" + "to": "framework/react/reference/MutationCache" }, { "label": "QueryObserver", - "to": "react/reference/QueryObserver" + "to": "framework/react/reference/QueryObserver" }, { "label": "InfiniteQueryObserver", - "to": "react/reference/InfiniteQueryObserver" + "to": "framework/react/reference/InfiniteQueryObserver" }, { "label": "QueriesObserver", - "to": "react/reference/QueriesObserver" + "to": "framework/react/reference/QueriesObserver" }, { "label": "QueryErrorResetBoundary", - "to": "react/reference/QueryErrorResetBoundary" + "to": "framework/react/reference/QueryErrorResetBoundary" }, { "label": "useQueryErrorResetBoundary", - "to": "react/reference/useQueryErrorResetBoundary" + "to": "framework/react/reference/useQueryErrorResetBoundary" }, { "label": "focusManager", - "to": "react/reference/focusManager" + "to": "framework/react/reference/focusManager" }, { "label": "onlineManager", - "to": "react/reference/onlineManager" + "to": "framework/react/reference/onlineManager" }, { "label": "setLogger", - "to": "react/reference/setLogger" + "to": "framework/react/reference/setLogger" }, { "label": "hydration", - "to": "react/reference/hydration" + "to": "framework/react/reference/hydration" } ] } diff --git a/docs/react/community/tkdodos-blog.md b/docs/framework/react/community/tkdodos-blog.md similarity index 100% rename from docs/react/community/tkdodos-blog.md rename to docs/framework/react/community/tkdodos-blog.md diff --git a/docs/react/comparison.md b/docs/framework/react/comparison.md similarity index 100% rename from docs/react/comparison.md rename to docs/framework/react/comparison.md diff --git a/docs/react/devtools.md b/docs/framework/react/devtools.md similarity index 100% rename from docs/react/devtools.md rename to docs/framework/react/devtools.md diff --git a/docs/react/examples/auto-refetching.mdx b/docs/framework/react/examples/auto-refetching.mdx similarity index 100% rename from docs/react/examples/auto-refetching.mdx rename to docs/framework/react/examples/auto-refetching.mdx diff --git a/docs/react/examples/basic-graphql-request.mdx b/docs/framework/react/examples/basic-graphql-request.mdx similarity index 100% rename from docs/react/examples/basic-graphql-request.mdx rename to docs/framework/react/examples/basic-graphql-request.mdx diff --git a/docs/react/examples/basic.mdx b/docs/framework/react/examples/basic.mdx similarity index 100% rename from docs/react/examples/basic.mdx rename to docs/framework/react/examples/basic.mdx diff --git a/docs/react/examples/custom-hooks.mdx b/docs/framework/react/examples/custom-hooks.mdx similarity index 100% rename from docs/react/examples/custom-hooks.mdx rename to docs/framework/react/examples/custom-hooks.mdx diff --git a/docs/react/examples/default-query-function.mdx b/docs/framework/react/examples/default-query-function.mdx similarity index 100% rename from docs/react/examples/default-query-function.mdx rename to docs/framework/react/examples/default-query-function.mdx diff --git a/docs/react/examples/focus-refetching.mdx b/docs/framework/react/examples/focus-refetching.mdx similarity index 100% rename from docs/react/examples/focus-refetching.mdx rename to docs/framework/react/examples/focus-refetching.mdx diff --git a/docs/react/examples/load-more-infinite-scroll.mdx b/docs/framework/react/examples/load-more-infinite-scroll.mdx similarity index 100% rename from docs/react/examples/load-more-infinite-scroll.mdx rename to docs/framework/react/examples/load-more-infinite-scroll.mdx diff --git a/docs/react/examples/nextjs.mdx b/docs/framework/react/examples/nextjs.mdx similarity index 100% rename from docs/react/examples/nextjs.mdx rename to docs/framework/react/examples/nextjs.mdx diff --git a/docs/react/examples/optimistic-updates-typescript.mdx b/docs/framework/react/examples/optimistic-updates-typescript.mdx similarity index 100% rename from docs/react/examples/optimistic-updates-typescript.mdx rename to docs/framework/react/examples/optimistic-updates-typescript.mdx diff --git a/docs/react/examples/optimistic-updates.mdx b/docs/framework/react/examples/optimistic-updates.mdx similarity index 100% rename from docs/react/examples/optimistic-updates.mdx rename to docs/framework/react/examples/optimistic-updates.mdx diff --git a/docs/react/examples/pagination.mdx b/docs/framework/react/examples/pagination.mdx similarity index 100% rename from docs/react/examples/pagination.mdx rename to docs/framework/react/examples/pagination.mdx diff --git a/docs/react/examples/playground.mdx b/docs/framework/react/examples/playground.mdx similarity index 100% rename from docs/react/examples/playground.mdx rename to docs/framework/react/examples/playground.mdx diff --git a/docs/react/examples/prefetching.mdx b/docs/framework/react/examples/prefetching.mdx similarity index 100% rename from docs/react/examples/prefetching.mdx rename to docs/framework/react/examples/prefetching.mdx diff --git a/docs/react/examples/react-native.mdx b/docs/framework/react/examples/react-native.mdx similarity index 100% rename from docs/react/examples/react-native.mdx rename to docs/framework/react/examples/react-native.mdx diff --git a/docs/react/examples/rick-morty.mdx b/docs/framework/react/examples/rick-morty.mdx similarity index 100% rename from docs/react/examples/rick-morty.mdx rename to docs/framework/react/examples/rick-morty.mdx diff --git a/docs/react/examples/simple.mdx b/docs/framework/react/examples/simple.mdx similarity index 100% rename from docs/react/examples/simple.mdx rename to docs/framework/react/examples/simple.mdx diff --git a/docs/react/examples/star-wars.mdx b/docs/framework/react/examples/star-wars.mdx similarity index 100% rename from docs/react/examples/star-wars.mdx rename to docs/framework/react/examples/star-wars.mdx diff --git a/docs/react/examples/suspense.mdx b/docs/framework/react/examples/suspense.mdx similarity index 100% rename from docs/react/examples/suspense.mdx rename to docs/framework/react/examples/suspense.mdx diff --git a/docs/react/graphql.md b/docs/framework/react/graphql.md similarity index 100% rename from docs/react/graphql.md rename to docs/framework/react/graphql.md diff --git a/docs/react/guides/background-fetching-indicators.md b/docs/framework/react/guides/background-fetching-indicators.md similarity index 100% rename from docs/react/guides/background-fetching-indicators.md rename to docs/framework/react/guides/background-fetching-indicators.md diff --git a/docs/react/guides/caching.md b/docs/framework/react/guides/caching.md similarity index 100% rename from docs/react/guides/caching.md rename to docs/framework/react/guides/caching.md diff --git a/docs/react/guides/default-query-function.md b/docs/framework/react/guides/default-query-function.md similarity index 100% rename from docs/react/guides/default-query-function.md rename to docs/framework/react/guides/default-query-function.md diff --git a/docs/react/guides/dependent-queries.md b/docs/framework/react/guides/dependent-queries.md similarity index 100% rename from docs/react/guides/dependent-queries.md rename to docs/framework/react/guides/dependent-queries.md diff --git a/docs/react/guides/disabling-queries.md b/docs/framework/react/guides/disabling-queries.md similarity index 100% rename from docs/react/guides/disabling-queries.md rename to docs/framework/react/guides/disabling-queries.md diff --git a/docs/react/guides/does-this-replace-client-state.md b/docs/framework/react/guides/does-this-replace-client-state.md similarity index 100% rename from docs/react/guides/does-this-replace-client-state.md rename to docs/framework/react/guides/does-this-replace-client-state.md diff --git a/docs/react/guides/filters.md b/docs/framework/react/guides/filters.md similarity index 100% rename from docs/react/guides/filters.md rename to docs/framework/react/guides/filters.md diff --git a/docs/react/guides/important-defaults.md b/docs/framework/react/guides/important-defaults.md similarity index 100% rename from docs/react/guides/important-defaults.md rename to docs/framework/react/guides/important-defaults.md diff --git a/docs/react/guides/infinite-queries.md b/docs/framework/react/guides/infinite-queries.md similarity index 100% rename from docs/react/guides/infinite-queries.md rename to docs/framework/react/guides/infinite-queries.md diff --git a/docs/react/guides/initial-query-data.md b/docs/framework/react/guides/initial-query-data.md similarity index 100% rename from docs/react/guides/initial-query-data.md rename to docs/framework/react/guides/initial-query-data.md diff --git a/docs/react/guides/invalidations-from-mutations.md b/docs/framework/react/guides/invalidations-from-mutations.md similarity index 100% rename from docs/react/guides/invalidations-from-mutations.md rename to docs/framework/react/guides/invalidations-from-mutations.md diff --git a/docs/react/guides/migrating-to-react-query-3.md b/docs/framework/react/guides/migrating-to-react-query-3.md similarity index 100% rename from docs/react/guides/migrating-to-react-query-3.md rename to docs/framework/react/guides/migrating-to-react-query-3.md diff --git a/docs/react/guides/mutations.md b/docs/framework/react/guides/mutations.md similarity index 100% rename from docs/react/guides/mutations.md rename to docs/framework/react/guides/mutations.md diff --git a/docs/react/guides/optimistic-updates.md b/docs/framework/react/guides/optimistic-updates.md similarity index 100% rename from docs/react/guides/optimistic-updates.md rename to docs/framework/react/guides/optimistic-updates.md diff --git a/docs/react/guides/paginated-queries.md b/docs/framework/react/guides/paginated-queries.md similarity index 100% rename from docs/react/guides/paginated-queries.md rename to docs/framework/react/guides/paginated-queries.md diff --git a/docs/react/guides/parallel-queries.md b/docs/framework/react/guides/parallel-queries.md similarity index 100% rename from docs/react/guides/parallel-queries.md rename to docs/framework/react/guides/parallel-queries.md diff --git a/docs/react/guides/placeholder-query-data.md b/docs/framework/react/guides/placeholder-query-data.md similarity index 100% rename from docs/react/guides/placeholder-query-data.md rename to docs/framework/react/guides/placeholder-query-data.md diff --git a/docs/react/guides/prefetching.md b/docs/framework/react/guides/prefetching.md similarity index 100% rename from docs/react/guides/prefetching.md rename to docs/framework/react/guides/prefetching.md diff --git a/docs/react/guides/queries.md b/docs/framework/react/guides/queries.md similarity index 100% rename from docs/react/guides/queries.md rename to docs/framework/react/guides/queries.md diff --git a/docs/react/guides/query-cancellation.md b/docs/framework/react/guides/query-cancellation.md similarity index 100% rename from docs/react/guides/query-cancellation.md rename to docs/framework/react/guides/query-cancellation.md diff --git a/docs/react/guides/query-functions.md b/docs/framework/react/guides/query-functions.md similarity index 100% rename from docs/react/guides/query-functions.md rename to docs/framework/react/guides/query-functions.md diff --git a/docs/react/guides/query-invalidation.md b/docs/framework/react/guides/query-invalidation.md similarity index 100% rename from docs/react/guides/query-invalidation.md rename to docs/framework/react/guides/query-invalidation.md diff --git a/docs/react/guides/query-keys.md b/docs/framework/react/guides/query-keys.md similarity index 100% rename from docs/react/guides/query-keys.md rename to docs/framework/react/guides/query-keys.md diff --git a/docs/react/guides/query-retries.md b/docs/framework/react/guides/query-retries.md similarity index 100% rename from docs/react/guides/query-retries.md rename to docs/framework/react/guides/query-retries.md diff --git a/docs/react/guides/scroll-restoration.md b/docs/framework/react/guides/scroll-restoration.md similarity index 100% rename from docs/react/guides/scroll-restoration.md rename to docs/framework/react/guides/scroll-restoration.md diff --git a/docs/react/guides/ssr.md b/docs/framework/react/guides/ssr.md similarity index 100% rename from docs/react/guides/ssr.md rename to docs/framework/react/guides/ssr.md diff --git a/docs/react/guides/suspense.md b/docs/framework/react/guides/suspense.md similarity index 100% rename from docs/react/guides/suspense.md rename to docs/framework/react/guides/suspense.md diff --git a/docs/react/guides/testing.md b/docs/framework/react/guides/testing.md similarity index 100% rename from docs/react/guides/testing.md rename to docs/framework/react/guides/testing.md diff --git a/docs/react/guides/updates-from-mutation-responses.md b/docs/framework/react/guides/updates-from-mutation-responses.md similarity index 100% rename from docs/react/guides/updates-from-mutation-responses.md rename to docs/framework/react/guides/updates-from-mutation-responses.md diff --git a/docs/react/guides/window-focus-refetching.md b/docs/framework/react/guides/window-focus-refetching.md similarity index 100% rename from docs/react/guides/window-focus-refetching.md rename to docs/framework/react/guides/window-focus-refetching.md diff --git a/docs/react/installation.md b/docs/framework/react/installation.md similarity index 100% rename from docs/react/installation.md rename to docs/framework/react/installation.md diff --git a/docs/react/overview.md b/docs/framework/react/overview.md similarity index 100% rename from docs/react/overview.md rename to docs/framework/react/overview.md diff --git a/docs/react/plugins/broadcastQueryClient.md b/docs/framework/react/plugins/broadcastQueryClient.md similarity index 100% rename from docs/react/plugins/broadcastQueryClient.md rename to docs/framework/react/plugins/broadcastQueryClient.md diff --git a/docs/react/plugins/createAsyncStoragePersistor.md b/docs/framework/react/plugins/createAsyncStoragePersistor.md similarity index 100% rename from docs/react/plugins/createAsyncStoragePersistor.md rename to docs/framework/react/plugins/createAsyncStoragePersistor.md diff --git a/docs/react/plugins/createWebStoragePersistor.md b/docs/framework/react/plugins/createWebStoragePersistor.md similarity index 100% rename from docs/react/plugins/createWebStoragePersistor.md rename to docs/framework/react/plugins/createWebStoragePersistor.md diff --git a/docs/react/plugins/persistQueryClient.md b/docs/framework/react/plugins/persistQueryClient.md similarity index 100% rename from docs/react/plugins/persistQueryClient.md rename to docs/framework/react/plugins/persistQueryClient.md diff --git a/docs/react/quick-start.md b/docs/framework/react/quick-start.md similarity index 100% rename from docs/react/quick-start.md rename to docs/framework/react/quick-start.md diff --git a/docs/react/react-native.md b/docs/framework/react/react-native.md similarity index 100% rename from docs/react/react-native.md rename to docs/framework/react/react-native.md diff --git a/docs/react/reference/InfiniteQueryObserver.md b/docs/framework/react/reference/InfiniteQueryObserver.md similarity index 100% rename from docs/react/reference/InfiniteQueryObserver.md rename to docs/framework/react/reference/InfiniteQueryObserver.md diff --git a/docs/react/reference/MutationCache.md b/docs/framework/react/reference/MutationCache.md similarity index 100% rename from docs/react/reference/MutationCache.md rename to docs/framework/react/reference/MutationCache.md diff --git a/docs/react/reference/QueriesObserver.md b/docs/framework/react/reference/QueriesObserver.md similarity index 100% rename from docs/react/reference/QueriesObserver.md rename to docs/framework/react/reference/QueriesObserver.md diff --git a/docs/react/reference/QueryCache.md b/docs/framework/react/reference/QueryCache.md similarity index 100% rename from docs/react/reference/QueryCache.md rename to docs/framework/react/reference/QueryCache.md diff --git a/docs/react/reference/QueryClient.md b/docs/framework/react/reference/QueryClient.md similarity index 100% rename from docs/react/reference/QueryClient.md rename to docs/framework/react/reference/QueryClient.md diff --git a/docs/react/reference/QueryClientProvider.md b/docs/framework/react/reference/QueryClientProvider.md similarity index 100% rename from docs/react/reference/QueryClientProvider.md rename to docs/framework/react/reference/QueryClientProvider.md diff --git a/docs/react/reference/QueryErrorResetBoundary.md b/docs/framework/react/reference/QueryErrorResetBoundary.md similarity index 100% rename from docs/react/reference/QueryErrorResetBoundary.md rename to docs/framework/react/reference/QueryErrorResetBoundary.md diff --git a/docs/react/reference/QueryObserver.md b/docs/framework/react/reference/QueryObserver.md similarity index 100% rename from docs/react/reference/QueryObserver.md rename to docs/framework/react/reference/QueryObserver.md diff --git a/docs/react/reference/focusManager.md b/docs/framework/react/reference/focusManager.md similarity index 100% rename from docs/react/reference/focusManager.md rename to docs/framework/react/reference/focusManager.md diff --git a/docs/react/reference/hydration.md b/docs/framework/react/reference/hydration.md similarity index 100% rename from docs/react/reference/hydration.md rename to docs/framework/react/reference/hydration.md diff --git a/docs/react/reference/onlineManager.md b/docs/framework/react/reference/onlineManager.md similarity index 100% rename from docs/react/reference/onlineManager.md rename to docs/framework/react/reference/onlineManager.md diff --git a/docs/react/reference/setLogger.md b/docs/framework/react/reference/setLogger.md similarity index 100% rename from docs/react/reference/setLogger.md rename to docs/framework/react/reference/setLogger.md diff --git a/docs/react/reference/useInfiniteQuery.md b/docs/framework/react/reference/useInfiniteQuery.md similarity index 100% rename from docs/react/reference/useInfiniteQuery.md rename to docs/framework/react/reference/useInfiniteQuery.md diff --git a/docs/react/reference/useIsFetching.md b/docs/framework/react/reference/useIsFetching.md similarity index 100% rename from docs/react/reference/useIsFetching.md rename to docs/framework/react/reference/useIsFetching.md diff --git a/docs/react/reference/useIsMutating.md b/docs/framework/react/reference/useIsMutating.md similarity index 100% rename from docs/react/reference/useIsMutating.md rename to docs/framework/react/reference/useIsMutating.md diff --git a/docs/react/reference/useMutation.md b/docs/framework/react/reference/useMutation.md similarity index 100% rename from docs/react/reference/useMutation.md rename to docs/framework/react/reference/useMutation.md diff --git a/docs/react/reference/useQueries.md b/docs/framework/react/reference/useQueries.md similarity index 100% rename from docs/react/reference/useQueries.md rename to docs/framework/react/reference/useQueries.md diff --git a/docs/react/reference/useQuery.md b/docs/framework/react/reference/useQuery.md similarity index 100% rename from docs/react/reference/useQuery.md rename to docs/framework/react/reference/useQuery.md diff --git a/docs/react/reference/useQueryClient.md b/docs/framework/react/reference/useQueryClient.md similarity index 100% rename from docs/react/reference/useQueryClient.md rename to docs/framework/react/reference/useQueryClient.md diff --git a/docs/react/reference/useQueryErrorResetBoundary.md b/docs/framework/react/reference/useQueryErrorResetBoundary.md similarity index 100% rename from docs/react/reference/useQueryErrorResetBoundary.md rename to docs/framework/react/reference/useQueryErrorResetBoundary.md diff --git a/docs/react/typescript.md b/docs/framework/react/typescript.md similarity index 100% rename from docs/react/typescript.md rename to docs/framework/react/typescript.md diff --git a/docs/react/videos.md b/docs/framework/react/videos.md similarity index 100% rename from docs/react/videos.md rename to docs/framework/react/videos.md diff --git a/docs/jsconfig.json b/docs/jsconfig.json deleted file mode 100644 index 738e8a4650..0000000000 --- a/docs/jsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "./src" - } -} diff --git a/docs/next.config.js b/docs/next.config.js deleted file mode 100644 index ddc8312614..0000000000 --- a/docs/next.config.js +++ /dev/null @@ -1,100 +0,0 @@ -const path = require('path') -const dotenvLoad = require('dotenv-load') -const optimizedImages = require('next-optimized-images') -dotenvLoad() - -const remarkPlugins = [ - require('remark-slug'), - require('./src/lib/docs/remark-paragraph-alerts'), - [ - require('remark-autolink-headings'), - { - behavior: 'append', - linkProperties: { - class: ['anchor'], - title: 'Direct link to heading', - }, - }, - ], - - require('remark-emoji'), - require('remark-footnotes'), - require('remark-images'), - [ - require('remark-github'), - { repository: 'https://github.com/tannerlinsley/react-query' }, - ], - require('remark-unwrap-images'), - [ - require('remark-toc'), - { - skip: 'Reference', - maxDepth: 6, - }, - ], -] - -module.exports = optimizedImages({ - pageExtensions: ['jsx', 'js', 'mdx', 'md'], - env: { - NEXT_PUBLIC_GA_TRACKING_ID: process.env.GA_TRACKING_ID || '', - SENTRY_RELEASE: process.env.VERCEL_GITHUB_COMMIT_SHA || '', - }, - async redirects() { - return [ - { - source: '/docs/:any*', - destination: '/:any*', // Matched parameters can be used in the destination - permanent: true, - }, - ] - }, - experimental: { - plugins: true, - modern: true, - }, - webpack: (config, { dev, isServer, ...options }) => { - config.module.rules.push({ - test: /.mdx?$/, // load both .md and .mdx files - use: [ - options.defaultLoaders.babel, - { - loader: '@mdx-js/loader', - options: { - remarkPlugins, - }, - }, - path.join(__dirname, './src/lib/docs/md-loader'), - ], - }) - - // only compile build-rss in production server build - if (dev || !isServer) { - return config - } - - // we're in build mode so enable shared caching for Notion data - process.env.USE_CACHE = 'true' - - const originalEntry = config.entry - config.entry = async () => { - const entries = { - ...(await originalEntry()), - } - // entries['./scripts/build-rss.js'] = './src/lib/build-rss.js' - return entries - } - - return config - }, - optimizeImages: { - /* config for next-optimized-images */ - mozjpeg: { - quality: 70, - }, - optipng: { - optimizationLevel: 3, - }, - optimizeImagesInDev: true, - }, -}) diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index 38fd78758a..0000000000 --- a/docs/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "fdocs3", - "version": "1.0.0", - "main": "index.js", - "author": "Jared Palmer ", - "license": "MIT", - "scripts": { - "dev": "next", - "build": "next build", - "start": "next start", - "index-docs": "node ./.next/serverless/scripts/index-docs.js" - }, - "dependencies": { - "@babel/preset-typescript": "^7.10.4", - "@docsearch/react": "1.0.0-alpha.14", - "@mdx-js/loader": "^1.6.18", - "@mdx-js/mdx": "^1.6.18", - "@mdx-js/react": "^1.6.18", - "@mdx-js/tag": "^0.20.3", - "@next/mdx": "^9.5.3", - "@next/plugin-google-analytics": "^9.5.3", - "@reactions/component": "^2.0.2", - "@visx/responsive": "^1.3.0", - "@zeit/fetch": "^6.0.0", - "@zeit/react-jsx-parser": "^2.0.0", - "async-sema": "^3.1.0", - "axios": "^0.21.1", - "body-scroll-lock": "^3.1.5", - "classnames": "^2.2.6", - "copy-to-clipboard": "^3.3.1", - "country-emoji": "^1.5.6", - "date-fns": "^2.16.1", - "docsearch.js": "^2.6.3", - "framer-motion": "^1.11.1", - "gray-matter": "^4.0.2", - "imagemin-mozjpeg": "^9.0.0", - "imagemin-optipng": "^8.0.0", - "intersection-observer": "^0.10.0", - "isomorphic-unfetch": "^3.0.0", - "next": "^9.5.3", - "next-images": "^1.5.0", - "next-optimized-images": "^2.6.2", - "node-fetch": "^2.6.1", - "prismjs": "^1.21.0", - "react": "^16.13.1", - "react-dom": "^16.13.1", - "react-icons": "^3.11.0", - "react-live": "^2.2.2", - "rehype-format": "^3.0.1", - "rehype-stringify": "^7.0.0", - "remark": "^12.0.1", - "remark-autolink-headings": "^6.0.0", - "remark-emoji": "^2.1.0", - "remark-footnotes": "^1.0.0", - "remark-github": "^9.0.0", - "remark-images": "^2.0.0", - "remark-slug": "^6.0.0", - "remark-toc": "^7.0.0", - "remark-unwrap-images": "^2.0.0", - "scroll-into-view-if-needed": "^2.2.26", - "semver-regex": "^3.1.1", - "unist-util-visit": "^2.0.3" - }, - "devDependencies": { - "@babel/cli": "^7.11.6", - "@babel/core": "^7.11.6", - "@babel/plugin-transform-typescript": "^7.11.0", - "@babel/preset-react": "^7.10.4", - "@tailwindcss/ui": "^0.3.0", - "algoliasearch": "3.35.1", - "babel-preset-react-app": "^9.1.2", - "dotenv-load": "^2.0.0", - "github-slugger": "^1.3.0", - "md5": "^2.3.0", - "mdast-util-to-string": "^1.1.0", - "postcss-preset-env": "^6.7.0", - "remark-parse": "^8.0.3", - "tailwindcss": "^1.8.10", - "unified": "^9.2.0", - "webp-loader": "^0.6.0" - } -} diff --git a/docs/postcss.config.js b/docs/postcss.config.js deleted file mode 100644 index 7129bb14f2..0000000000 --- a/docs/postcss.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - plugins: ['tailwindcss', 'postcss-preset-env'], -}; diff --git a/docs/public/images/bytes-logo.png b/docs/public/images/bytes-logo.png deleted file mode 100644 index 26ca9143ce4969788b578e0071072b62cd2a143f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93989 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

kB?GADE{o?@S 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 Aa{vGU diff --git a/docs/public/robots.txt b/docs/public/robots.txt deleted file mode 100644 index 6f27bb66a3..0000000000 --- a/docs/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: \ No newline at end of file diff --git a/docs/src/components/ArrowRight.js b/docs/src/components/ArrowRight.js deleted file mode 100644 index 12f92b3f78..0000000000 --- a/docs/src/components/ArrowRight.js +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from 'react'; -export function ArrowRight({ - fill = '#718096', - width = 6, - height = 10 -}) { - return - - ; -} \ No newline at end of file diff --git a/docs/src/components/Banner.js b/docs/src/components/Banner.js deleted file mode 100644 index 8aaa81391c..0000000000 --- a/docs/src/components/Banner.js +++ /dev/null @@ -1,12 +0,0 @@ -export function Banner() { - return null; // return ( - //

- //
- // formium - //
- // Hassle-free form storage for static sites → - //
- //
- //
- // ); -} \ No newline at end of file diff --git a/docs/src/components/BytesForm.js b/docs/src/components/BytesForm.js deleted file mode 100644 index 168fcf975f..0000000000 --- a/docs/src/components/BytesForm.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react' -import useBytesSubmit from './useBytesSubmit' - -export default function BytesForm() { - const { state, handleSubmit, error } = useBytesSubmit() - if (state === 'submitted') { - return ( -

Success! Please, check your email to confirm your subscription.

- ) - } - return ( -
-
-
- Bytes -
- - -
-

- No spam. Unsubscribe at any time. -

- {error &&

{error}

} -
- ) -} diff --git a/docs/src/components/CarbonAds.js b/docs/src/components/CarbonAds.js deleted file mode 100644 index fe8097bffd..0000000000 --- a/docs/src/components/CarbonAds.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react' - -function buildScript(src, attrs = {}) { - if (typeof document !== 'undefined') { - const script = document.createElement('script') - script.async = true - script.defer = true - Object.keys(attrs).forEach(attr => script.setAttribute(attr, attrs[attr])) - script.src = src - - return script - } -} - -export default function CarbonAds() { - const ref = React.useRef() - - React.useEffect(() => { - const script = buildScript( - '//cdn.carbonads.com/carbon.js?serve=CESDV23N&placement=react-querytanstackcom', - { - type: 'text/javascript', - id: '_carbonads_js', - } - ) - - ref.current.appendChild(script) - }, []) - - React.useEffect(() => { - const interval = setInterval(() => { - ;[...ref.current.children].forEach(child => { - if (child.id.startsWith('carbonads_')) { - ref.current.removeChild(child) - } - }) - }, 100) - - return () => { - clearInterval(interval) - } - }) - - return
-} diff --git a/docs/src/components/CodeBlock.js b/docs/src/components/CodeBlock.js deleted file mode 100644 index cf456ed1d2..0000000000 --- a/docs/src/components/CodeBlock.js +++ /dev/null @@ -1,125 +0,0 @@ -import React, { useState } from 'react'; -import { LiveProvider, LiveEditor, LiveError, LivePreview } from 'react-live'; -import { mdx } from '@mdx-js/react'; -import { TWButton } from './TWButton'; -import { useClipboard } from './useClipboard'; -import Component from '@reactions/component'; -export const liveEditorStyle = { - fontSize: 14, - overflowX: 'auto', - color: '#f8f8f2', - fontFamily: 'SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace', - height: '100%', - background: '#161e2e' -}; -export const liveErrorStyle = { - fontFamily: 'SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace', - fontSize: 12, - padding: '1em', - overflowX: 'auto', - color: 'white', - backgroundColor: 'red' -}; - -const LiveCodePreview = props =>
- -
; - -const EditableNotice = props => { - return
- Editable Example -
; -}; - -const CodeBlock = ({ - className, - live = false, - noInline = false, - collapsed = false, - isManual, - render, - children, - ...props -}) => { - const initialCode = React.useRef(children.trim()); - const [editorCode, setEditorCode] = useState(children.trim()); - const language = className && className.replace(/language-/, ''); - const [hasCopied, onCopy] = useClipboard(editorCode); - const [isCollapsed, setCollapse] = React.useState(collapsed); - const liveProviderProps = { - theme: { - plain: {}, - styles: [] - }, - language, - code: editorCode, - transformCode: code => `<>${code}`, - scope: { - mdx, - Component - }, - noInline, - ...props - }; - - const handleCodeChange = newCode => setEditorCode(newCode ? newCode.trim() : ''); - - if (language === 'jsx' && live === true) { - return -
- - - {isCollapsed ?
- -
: <> -
- -
- - {hasCopied ? 'Copied' : 'Copy'} - - setEditorCode(initialCode.current)}> - Reset - -
-
- - -
- -
- } -
-
; - } - - if (render) { - return
- - - -
; - } - - return -
- -
- - {hasCopied ? 'Copied' : 'Copy'} - -
-
-
; -}; - -CodeBlock.defaultProps = { - mountStylesheet: false -}; -export default CodeBlock; \ No newline at end of file diff --git a/docs/src/components/Container.js b/docs/src/components/Container.js deleted file mode 100644 index 2c0c3123a2..0000000000 --- a/docs/src/components/Container.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from 'react'; -import cn from 'classnames'; -export const Container = props => { - return
; -}; -Container.displayName = 'Container'; \ No newline at end of file diff --git a/docs/src/components/DocsPageFooter.js b/docs/src/components/DocsPageFooter.js deleted file mode 100644 index 367c433867..0000000000 --- a/docs/src/components/DocsPageFooter.js +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from 'react' -import NextLink from 'next/link' -import { removeFromLast } from '../lib/docs/utils' -import { siteConfig } from 'siteConfig' -import { FiThumbsDown, FiThumbsUp } from 'react-icons/fi' -import { TWButton } from './TWButton' - -function areEqual(prevProps, props) { - return prevProps.route?.path === props.route?.path -} - -export const DocsPageFooter = React.memo(({ route, prevRoute, nextRoute }) => { - const editUrl = - route?.editUrl || route?.path - ? `${siteConfig.editUrl}${route?.editUrl || route?.path}` - : null - - return ( - <> -
- - - {editUrl ? ( - - ) : null} - -
-
- Was this page helpful? -
-
- }>Yes - }>No -
-
- - ) -}, areEqual) -DocsPageFooter.displayName = 'DocsPageFooter' diff --git a/docs/src/components/ExternalLink.js b/docs/src/components/ExternalLink.js deleted file mode 100644 index 17b7d34b67..0000000000 --- a/docs/src/components/ExternalLink.js +++ /dev/null @@ -1,4 +0,0 @@ -import * as React from 'react'; -export function ExternalLink(props) { - return ; -} \ No newline at end of file diff --git a/docs/src/components/Footer.js b/docs/src/components/Footer.js deleted file mode 100644 index 1beec91d4b..0000000000 --- a/docs/src/components/Footer.js +++ /dev/null @@ -1,141 +0,0 @@ -import * as React from 'react' -import Link from 'next/link' -import CarbonAds from './CarbonAds' -import BytesForm from './BytesForm' - -export const Footer = props => { - return ( -
-
-
- - -
- -
-
-

- Subscribe to Bytes -

-

- The{' '} - - best JavaScript newsletter! - {' '} - Delivered every Monday to over 76,000 devs. -

- -
-
-
- -

- © 2020 Tanner Linsley. All rights reserved. -

-
-
-
- ) -} -Footer.displayName = 'Footer' diff --git a/docs/src/components/Highlight.js b/docs/src/components/Highlight.js deleted file mode 100644 index ea04392372..0000000000 --- a/docs/src/components/Highlight.js +++ /dev/null @@ -1,140 +0,0 @@ -import * as React from 'react'; -import Highlight, { defaultProps } from 'prism-react-renderer'; -import { LiveProvider, LiveEditor, LiveError, LivePreview } from 'react-live'; // Original: https://raw.githubusercontent.com/PrismJS/prism-themes/master/themes/prism-ghcolors.css - -/*:: import type { PrismTheme } from '../src/types' */ - -const theme -/*: PrismTheme */ -= { - plain: { - color: '#293742', - borderRadius: 12, - fontFamily: `SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace`, - fontSize: 14, - lineHeight: '1.5' - }, - styles: [{ - types: ['comment', 'prolog', 'doctype', 'cdata'], - style: { - color: '#A7B6C2', - fontStyle: 'italic' - } - }, { - types: ['namespace'], - style: { - opacity: 0.7 - } - }, { - types: ['string', 'attr-value'], - style: { - color: '#DB2C6F' - } - }, { - types: ['punctuation', 'operator'], - style: { - color: '#394B59' - } - }, { - types: ['entity', 'url', 'symbol', 'number', 'boolean', 'variable', 'constant', 'property', 'regex', 'inserted'], - style: { - color: '#36acaa' - } - }, { - types: ['atrule', 'keyword', 'attr-name', 'selector'], - style: { - color: '#00B3A4' - } - }, { - types: ['function', 'deleted', 'tag'], - style: { - color: '#DB2C6F' - } - }, { - types: ['function-variable'], - style: { - color: '#634DBF' - } - }, { - types: ['tag', 'selector', 'keyword'], - style: { - color: '#1a56db' - } - }] -}; - -const Code = ({ - children, - codeString, - className = 'language-js', - ...props -}) => { - const language = className.replace(/language-/, ''); - const [key, setKey] = React.useState(`${Math.random() * 7}`); - - if (props['live']) { - return
- -
-
Live JSX Editor
-
- -
-
-
- -
-
-
-
Live Preview
-
-
- - -
-
-
-
; - } else { - return - {({ - className, - style, - tokens, - getLineProps, - getTokenProps - }) =>
-            {tokens.map((line, i) => 
- {tokens.length > 1 ? : }{' '} - {line.map((token, key) => )} -
)} -
} -
; - } -}; - -export default Code; \ No newline at end of file diff --git a/docs/src/components/Highlight2.js b/docs/src/components/Highlight2.js deleted file mode 100644 index 93556a560a..0000000000 --- a/docs/src/components/Highlight2.js +++ /dev/null @@ -1,100 +0,0 @@ -import * as React from 'react'; -import Highlight, { defaultProps } from 'prism-react-renderer'; -// Original: https://raw.githubusercontent.com/PrismJS/prism-themes/master/themes/prism-ghcolors.css - -/*:: import type { PrismTheme } from '../src/types' */ -const theme -/*: PrismTheme */ -= { - plain: { - color: '#293742', - borderRadius: 12, - fontFamily: `SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace`, - fontSize: 14, - lineHeight: '1.5' - }, - styles: [{ - types: ['comment', 'prolog', 'doctype', 'cdata'], - style: { - color: '#A7B6C2', - fontStyle: 'italic' - } - }, { - types: ['namespace'], - style: { - opacity: 0.7 - } - }, { - types: ['string', 'attr-value'], - style: { - color: '#DB2C6F' - } - }, { - types: ['punctuation', 'operator'], - style: { - color: '#394B59' - } - }, { - types: ['entity', 'url', 'symbol', 'number', 'boolean', 'variable', 'constant', 'property', 'regex', 'inserted'], - style: { - color: '#36acaa' - } - }, { - types: ['atrule', 'keyword', 'attr-name', 'selector'], - style: { - color: '#00B3A4' - } - }, { - types: ['function', 'deleted', 'tag'], - style: { - color: '#DB2C6F' - } - }, { - types: ['function-variable'], - style: { - color: '#634DBF' - } - }, { - types: ['tag', 'selector', 'keyword'], - style: { - color: '#1a56db' - } - }] -}; - -const Code = ({ - children, - codeString, - className = 'language-js', - ...props -}) => { - const language = className.replace(/language-/, ''); - return - {({ - className, - style, - tokens, - getLineProps, - getTokenProps - }) =>
-          {tokens.map((line, i) => 
- {tokens.length > 1 ? : }{' '} - {line.map((token, key) => )} -
)} -
} -
; -}; - -export default Code; \ No newline at end of file diff --git a/docs/src/components/LayoutDocs.js b/docs/src/components/LayoutDocs.js deleted file mode 100644 index df5aa8857a..0000000000 --- a/docs/src/components/LayoutDocs.js +++ /dev/null @@ -1,228 +0,0 @@ -import * as React from 'react' -import { MDXProvider } from '@mdx-js/react' -import { Nav } from 'components/Nav' -import { Sidebar } from 'components/Sidebar' -import { SidebarCategory } from 'components/SidebarCategory' -import { SidebarHeading } from 'components/SidebarHeading' -import { SidebarMobile } from 'components/SidebarMobile' -import { SidebarPost } from 'components/SidebarPost' -import { Sticky } from 'components/Sticky' -import { useIsMobile } from 'components/useIsMobile' -import { findRouteByPath } from 'lib/docs/findRouteByPath' -import { removeFromLast } from 'lib/docs/utils' -import { getRouteContext } from 'lib/get-route-context' -import { useRouter } from 'next/router' -import { Toc } from './Toc' -import s from './markdown.module.css' -import { Footer } from './Footer' -import { DocsPageFooter } from './DocsPageFooter' -import { Seo } from './Seo' -import MDXComponents from './MDXComponents' -import Head from 'next/head' -import { getManifest } from 'manifests/getManifest' -import BytesForm from './BytesForm' - -const getSlugAndTag = path => { - const parts = path.split('/') - - if (parts[2] === '1.5.8' || parts[2] === '2.1.4') { - return { - tag: parts[2], - slug: `/docs/${parts.slice(2).join('/')}`, - } - } - - return { - slug: path, - } -} - -const addTagToSlug = (slug, tag) => { - return tag ? `/docs/${tag}/${slug.replace('/docs/', '')}` : slug -} - -export const LayoutDocs = props => { - const router = useRouter() - const { slug, tag } = getSlugAndTag(router.asPath) - const { routes } = getManifest(tag) - - const _route = findRouteByPath(removeFromLast(slug, '#'), routes) // @ts-ignore - - const isMobile = useIsMobile() - const { route, prevRoute, nextRoute } = getRouteContext(_route, routes) - const title = route && `${route.title}` - - return ( - <> - {tag && ( - - - - )} -
- {isMobile ? ( - <> -
-