one 1.2.46 → 1.2.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Root.js +6 -1
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.js +4 -1
- package/dist/cjs/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.js +3 -1
- package/dist/cjs/babel-plugins/remove-server-code.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/cjs/cli/build.js +31 -8
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +16 -7
- package/dist/cjs/cli/buildPage.js +26 -7
- package/dist/cjs/cli/buildPage.js.map +1 -1
- package/dist/cjs/cli/buildPage.native.js +17 -8
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.js +3 -1
- package/dist/cjs/cli/generateRoutes.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.js +14 -4
- package/dist/cjs/cli/generateSitemap.test.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/cjs/cli/main.js +4 -2
- package/dist/cjs/cli/main.js.map +1 -1
- package/dist/cjs/cli/main.native.js.map +1 -1
- package/dist/cjs/cli/prebuild.js.map +1 -1
- package/dist/cjs/cli/prebuild.native.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
- package/dist/cjs/config.js +3 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createApp.js +9 -1
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createHandleRequest.js +9 -3
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.js +90 -88
- package/dist/cjs/fork/__tests__/getPathFromState.test.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.js +163 -86
- package/dist/cjs/fork/__tests__/getStateFromPath.test.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/_shared.js.map +1 -1
- package/dist/cjs/fork/_shared.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.js +4 -1
- package/dist/cjs/fork/getPathFromState-mods.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.js +3 -1
- package/dist/cjs/fork/getPathFromState.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.js +7 -1
- package/dist/cjs/fork/getStateFromPath.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.js +21 -8
- package/dist/cjs/fork/getStateFromPath.test.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/useBackButton.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.js +4 -1
- package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
- package/dist/cjs/fork/useLinking.js +4 -1
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts/Tabs.js.map +1 -1
- package/dist/cjs/layouts/Tabs.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.js +10 -8
- package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/Link.js.map +1 -1
- package/dist/cjs/link/Link.native.js.map +1 -1
- package/dist/cjs/link/linking.js +3 -1
- package/dist/cjs/link/linking.js.map +1 -1
- package/dist/cjs/link/linking.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +6 -8
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js +8 -10
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +9 -11
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/polyfills-mobile.cjs +3 -1
- package/dist/cjs/polyfills-mobile.js +2 -1
- package/dist/cjs/polyfills-mobile.js.map +2 -2
- package/dist/cjs/polyfills-mobile.native.js +8 -4
- package/dist/cjs/polyfills-mobile.native.js.map +1 -1
- package/dist/cjs/router/Route.js.map +1 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.js +7 -1
- package/dist/cjs/router/RouteInfoContext.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.js +3 -1
- package/dist/cjs/router/getRoutes.js.map +1 -1
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/matchers.cjs +1 -1
- package/dist/cjs/router/matchers.js +1 -1
- package/dist/cjs/router/matchers.js.map +1 -1
- package/dist/cjs/router/matchers.native.js +1 -1
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/router/matchers.test.js +6 -2
- package/dist/cjs/router/matchers.test.js.map +1 -1
- package/dist/cjs/router/matchers.test.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +3 -1
- package/dist/cjs/router/router.js +15 -4
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +7 -3
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.js.map +1 -1
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.js +13 -11
- package/dist/cjs/router/useScreens.js.map +1 -1
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.js +3 -1
- package/dist/cjs/server/getServerManifest.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +10 -2
- package/dist/cjs/server/oneServe.js +21 -3
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +10 -3
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/cjs/server-render.js.map +1 -1
- package/dist/cjs/server-render.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +14 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.js +4 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/cjs/ui/Slot.js.map +1 -1
- package/dist/cjs/ui/Slot.native.js.map +1 -1
- package/dist/cjs/ui/TabContext.js +3 -1
- package/dist/cjs/ui/TabContext.js.map +1 -1
- package/dist/cjs/ui/TabContext.native.js.map +1 -1
- package/dist/cjs/ui/TabRouter.js.map +1 -1
- package/dist/cjs/ui/TabRouter.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.js +17 -2
- package/dist/cjs/ui/TabTrigger.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.js +5 -1
- package/dist/cjs/ui/Tabs.js.map +1 -1
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/ui/common.js +3 -1
- package/dist/cjs/ui/common.js.map +1 -1
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/useLoader.js +4 -1
- package/dist/cjs/useLoader.js.map +1 -1
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/cjs/utils/url.js +3 -1
- package/dist/cjs/utils/url.js.map +1 -1
- package/dist/cjs/utils/url.native.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +29 -10
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +11 -3
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +9 -2
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.js +4 -1
- package/dist/cjs/vercel/build/getPathFromRoute.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/cjs/views/Navigator.js +16 -8
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.js +4 -2
- package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Screen.js +4 -1
- package/dist/cjs/views/Screen.js.map +1 -1
- package/dist/cjs/views/Screen.native.js.map +1 -1
- package/dist/cjs/vite/loadConfig.js +6 -2
- package/dist/cjs/vite/loadConfig.js.map +1 -1
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.js +3 -1
- package/dist/cjs/vite/one-server-only.js.map +1 -1
- package/dist/cjs/vite/one.js +9 -3
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js +5 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js +8 -2
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +13 -4
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -3
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -5
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +5 -2
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.js +4 -1
- package/dist/cjs/vite/replaceLoader.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.js +3 -1
- package/dist/cjs/zero/useQueryZero.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
- package/dist/esm/Root.js +6 -1
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.js +4 -1
- package/dist/esm/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.js +7 -2
- package/dist/esm/babel-plugins/remove-server-code.js.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.mjs.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/esm/cli/build.js +31 -8
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.js +26 -6
- package/dist/esm/cli/buildPage.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +16 -7
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +17 -8
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/generateRoutes.js +3 -1
- package/dist/esm/cli/generateRoutes.js.map +1 -1
- package/dist/esm/cli/generateRoutes.mjs.map +1 -1
- package/dist/esm/cli/generateRoutes.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.js.map +1 -1
- package/dist/esm/cli/generateSitemap.mjs.map +1 -1
- package/dist/esm/cli/generateSitemap.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.test.js +14 -4
- package/dist/esm/cli/generateSitemap.test.js.map +1 -1
- package/dist/esm/cli/generateSitemap.test.mjs.map +1 -1
- package/dist/esm/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/esm/cli/main.js +4 -2
- package/dist/esm/cli/main.js.map +1 -1
- package/dist/esm/cli/main.mjs.map +1 -1
- package/dist/esm/cli/main.native.js.map +1 -1
- package/dist/esm/cli/prebuild.js.map +1 -1
- package/dist/esm/cli/prebuild.mjs.map +1 -1
- package/dist/esm/cli/prebuild.native.js.map +1 -1
- package/dist/esm/clientLoaderResolver.js.map +1 -1
- package/dist/esm/clientLoaderResolver.mjs.map +1 -1
- package/dist/esm/clientLoaderResolver.native.js.map +1 -1
- package/dist/esm/config.js +3 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createApp.js +9 -1
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.js +9 -3
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.js +90 -88
- package/dist/esm/fork/__tests__/getPathFromState.test.js.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.mjs.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.js +163 -86
- package/dist/esm/fork/__tests__/getStateFromPath.test.js.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.mjs.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/esm/fork/_shared.js.map +1 -1
- package/dist/esm/fork/_shared.mjs.map +1 -1
- package/dist/esm/fork/_shared.native.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
- package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.js +4 -1
- package/dist/esm/fork/getPathFromState-mods.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState.js +3 -1
- package/dist/esm/fork/getPathFromState.js.map +1 -1
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.js +7 -1
- package/dist/esm/fork/getStateFromPath.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.js +25 -9
- package/dist/esm/fork/getStateFromPath.test.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/esm/fork/useBackButton.js.map +1 -1
- package/dist/esm/fork/useBackButton.mjs.map +1 -1
- package/dist/esm/fork/useDocumentTitle.js +4 -1
- package/dist/esm/fork/useDocumentTitle.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
- package/dist/esm/fork/useLinking.js +4 -1
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.native.js.map +1 -1
- package/dist/esm/hooks.js.map +1 -1
- package/dist/esm/hooks.mjs.map +1 -1
- package/dist/esm/hooks.native.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/Tabs.js.map +1 -1
- package/dist/esm/layouts/Tabs.mjs.map +1 -1
- package/dist/esm/layouts/Tabs.native.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.js +10 -8
- package/dist/esm/layouts/withLayoutContext.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/link/Link.js.map +1 -1
- package/dist/esm/link/Link.mjs.map +1 -1
- package/dist/esm/link/Link.native.js.map +1 -1
- package/dist/esm/link/linking.js +3 -1
- package/dist/esm/link/linking.js.map +1 -1
- package/dist/esm/link/linking.mjs.map +1 -1
- package/dist/esm/link/linking.native.js.map +1 -1
- package/dist/esm/link/useLinkTo.js.map +1 -1
- package/dist/esm/link/useLinkTo.mjs.map +1 -1
- package/dist/esm/link/useLinkTo.native.js.map +1 -1
- package/dist/esm/link/useLoadedNavigation.js +3 -1
- package/dist/esm/link/useLoadedNavigation.js.map +1 -1
- package/dist/esm/link/useLoadedNavigation.mjs.map +1 -1
- package/dist/esm/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.js +8 -10
- package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +6 -8
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +9 -11
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/polyfills-mobile.js +2 -0
- package/dist/esm/polyfills-mobile.js.map +1 -1
- package/dist/esm/polyfills-mobile.mjs +2 -0
- package/dist/esm/polyfills-mobile.mjs.map +1 -1
- package/dist/esm/polyfills-mobile.native.js +5 -3
- package/dist/esm/polyfills-mobile.native.js.map +1 -1
- package/dist/esm/router/Route.js.map +1 -1
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/RouteInfoContext.js +7 -1
- package/dist/esm/router/RouteInfoContext.js.map +1 -1
- package/dist/esm/router/RouteInfoContext.mjs.map +1 -1
- package/dist/esm/router/RouteInfoContext.native.js.map +1 -1
- package/dist/esm/router/filterRootHTML.js.map +1 -1
- package/dist/esm/router/filterRootHTML.mjs.map +1 -1
- package/dist/esm/router/filterRootHTML.native.js.map +1 -1
- package/dist/esm/router/getLinkingConfig.js.map +1 -1
- package/dist/esm/router/getLinkingConfig.mjs.map +1 -1
- package/dist/esm/router/getLinkingConfig.native.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/esm/router/getRoutes.js +3 -1
- package/dist/esm/router/getRoutes.js.map +1 -1
- package/dist/esm/router/getRoutes.mjs.map +1 -1
- package/dist/esm/router/getRoutes.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +3 -1
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/router/matchers.js +1 -1
- package/dist/esm/router/matchers.js.map +1 -1
- package/dist/esm/router/matchers.mjs +1 -1
- package/dist/esm/router/matchers.mjs.map +1 -1
- package/dist/esm/router/matchers.native.js +1 -1
- package/dist/esm/router/matchers.native.js.map +1 -1
- package/dist/esm/router/matchers.test.js +6 -2
- package/dist/esm/router/matchers.test.js.map +1 -1
- package/dist/esm/router/matchers.test.mjs.map +1 -1
- package/dist/esm/router/router.js +18 -5
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +3 -1
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +7 -3
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useNavigation.js.map +1 -1
- package/dist/esm/router/useNavigation.mjs.map +1 -1
- package/dist/esm/router/useNavigation.native.js.map +1 -1
- package/dist/esm/router/useScreens.js +13 -11
- package/dist/esm/router/useScreens.js.map +1 -1
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/router/useViteRoutes.js.map +1 -1
- package/dist/esm/router/useViteRoutes.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.native.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/esm/server/createRoutesManifest.js.map +1 -1
- package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
- package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
- package/dist/esm/server/getServerManifest.js +3 -1
- package/dist/esm/server/getServerManifest.js.map +1 -1
- package/dist/esm/server/getServerManifest.mjs.map +1 -1
- package/dist/esm/server/getServerManifest.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +21 -3
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +10 -2
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +10 -3
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/setupBuildOptions.js.map +1 -1
- package/dist/esm/server/setupBuildOptions.mjs.map +1 -1
- package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.js.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.mjs.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/esm/server-render.js.map +1 -1
- package/dist/esm/server-render.mjs.map +1 -1
- package/dist/esm/server-render.native.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +14 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.js +4 -1
- package/dist/esm/typed-routes/injectRouteHelpers.js.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.mjs.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/esm/ui/Slot.js.map +1 -1
- package/dist/esm/ui/Slot.mjs.map +1 -1
- package/dist/esm/ui/Slot.native.js.map +1 -1
- package/dist/esm/ui/TabContext.js +3 -1
- package/dist/esm/ui/TabContext.js.map +1 -1
- package/dist/esm/ui/TabContext.mjs.map +1 -1
- package/dist/esm/ui/TabContext.native.js.map +1 -1
- package/dist/esm/ui/TabRouter.js.map +1 -1
- package/dist/esm/ui/TabRouter.mjs.map +1 -1
- package/dist/esm/ui/TabRouter.native.js.map +1 -1
- package/dist/esm/ui/TabTrigger.js +21 -3
- package/dist/esm/ui/TabTrigger.js.map +1 -1
- package/dist/esm/ui/TabTrigger.mjs.map +1 -1
- package/dist/esm/ui/TabTrigger.native.js.map +1 -1
- package/dist/esm/ui/Tabs.js +5 -1
- package/dist/esm/ui/Tabs.js.map +1 -1
- package/dist/esm/ui/Tabs.mjs.map +1 -1
- package/dist/esm/ui/Tabs.native.js.map +1 -1
- package/dist/esm/ui/common.js +8 -2
- package/dist/esm/ui/common.js.map +1 -1
- package/dist/esm/ui/common.mjs.map +1 -1
- package/dist/esm/ui/common.native.js.map +1 -1
- package/dist/esm/useLoader.js +4 -1
- package/dist/esm/useLoader.js.map +1 -1
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/cleanUrl.js.map +1 -1
- package/dist/esm/utils/cleanUrl.mjs.map +1 -1
- package/dist/esm/utils/cleanUrl.native.js.map +1 -1
- package/dist/esm/utils/url.js +3 -1
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/esm/utils/url.mjs.map +1 -1
- package/dist/esm/utils/url.native.js.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js +29 -10
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +11 -3
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +9 -2
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.js +4 -1
- package/dist/esm/vercel/build/getPathFromRoute.js.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/esm/views/Navigator.js +20 -9
- package/dist/esm/views/Navigator.js.map +1 -1
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.js +4 -2
- package/dist/esm/views/RootErrorBoundary.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
- package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/esm/views/Screen.js +4 -1
- package/dist/esm/views/Screen.js.map +1 -1
- package/dist/esm/views/Screen.mjs.map +1 -1
- package/dist/esm/views/Screen.native.js.map +1 -1
- package/dist/esm/vite/loadConfig.js +6 -2
- package/dist/esm/vite/loadConfig.js.map +1 -1
- package/dist/esm/vite/loadConfig.mjs.map +1 -1
- package/dist/esm/vite/loadConfig.native.js.map +1 -1
- package/dist/esm/vite/one-server-only.js +3 -1
- package/dist/esm/vite/one-server-only.js.map +1 -1
- package/dist/esm/vite/one-server-only.mjs.map +1 -1
- package/dist/esm/vite/one.js +9 -3
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js +5 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js +12 -3
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +13 -4
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -4
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +6 -2
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +4 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/vite/replaceLoader.js +4 -1
- package/dist/esm/vite/replaceLoader.js.map +1 -1
- package/dist/esm/vite/replaceLoader.mjs.map +1 -1
- package/dist/esm/vite/replaceLoader.native.js.map +1 -1
- package/dist/esm/vite/resolveResponse.js +5 -1
- package/dist/esm/vite/resolveResponse.js.map +1 -1
- package/dist/esm/vite/resolveResponse.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.native.js.map +1 -1
- package/dist/esm/zero/subscribeToQuery.js.map +1 -1
- package/dist/esm/zero/subscribeToQuery.mjs.map +1 -1
- package/dist/esm/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/esm/zero/useQueryZero.js +3 -1
- package/dist/esm/zero/useQueryZero.js.map +1 -1
- package/dist/esm/zero/useQueryZero.mjs.map +1 -1
- package/dist/esm/zero/useQueryZero.native.js.map +1 -1
- package/metro-entry-ctx.js +2 -1
- package/package.json +11 -10
- package/src/Root.tsx +14 -5
- package/src/babel-plugins/one-router-metro.ts +4 -1
- package/src/babel-plugins/remove-server-code.ts +15 -4
- package/src/cli/build.ts +33 -8
- package/src/cli/buildPage.ts +36 -6
- package/src/cli/generateRoutes.ts +3 -1
- package/src/cli/generateSitemap.test.ts +14 -4
- package/src/cli/generateSitemap.ts +7 -2
- package/src/cli/main.ts +3 -1
- package/src/cli/prebuild.ts +5 -1
- package/src/clientLoaderResolver.ts +4 -1
- package/src/config.ts +6 -2
- package/src/constants.ts +4 -2
- package/src/createApp.tsx +11 -3
- package/src/createHandleRequest.ts +17 -6
- package/src/fork/__tests__/getPathFromState.test.tsx +128 -107
- package/src/fork/__tests__/getStateFromPath.test.tsx +181 -95
- package/src/fork/_shared.ts +2 -1
- package/src/fork/extractPathFromURL.ts +2 -1
- package/src/fork/getPathFromState-mods.ts +8 -2
- package/src/fork/getPathFromState.ts +16 -5
- package/src/fork/getStateFromPath-mods.ts +13 -3
- package/src/fork/getStateFromPath.test.ts +25 -9
- package/src/fork/getStateFromPath.ts +21 -5
- package/src/fork/useBackButton.native.tsx +3 -1
- package/src/fork/useBackButton.tsx +3 -1
- package/src/fork/useDocumentTitle.tsx +4 -1
- package/src/fork/useLinking.native.ts +3 -1
- package/src/fork/useLinking.ts +9 -3
- package/src/fork/validatePathConfig.ts +6 -1
- package/src/head/Head.ios.tsx +3 -1
- package/src/hooks.tsx +4 -2
- package/src/index.ts +4 -1
- package/src/interfaces/router.ts +29 -13
- package/src/layouts/Tabs.tsx +5 -1
- package/src/layouts/withLayoutContext.tsx +24 -21
- package/src/link/Link.tsx +3 -1
- package/src/link/linking.ts +3 -1
- package/src/link/useLinkTo.tsx +3 -1
- package/src/link/useLoadedNavigation.ts +5 -1
- package/src/metro-config/getViteMetroPluginOptions.ts +20 -22
- package/src/polyfills-mobile.ts +7 -0
- package/src/router/Route.tsx +3 -1
- package/src/router/RouteInfoContext.tsx +3 -1
- package/src/router/filterRootHTML.ts +5 -1
- package/src/router/getLinkingConfig.ts +4 -1
- package/src/router/getNormalizedStatePath.tsx +4 -1
- package/src/router/getRoutes.ts +13 -4
- package/src/router/linkingConfig.ts +4 -1
- package/src/router/matchers.test.ts +6 -2
- package/src/router/matchers.ts +1 -1
- package/src/router/router.ts +26 -7
- package/src/router/useNavigation.ts +4 -1
- package/src/router/useScreens.tsx +27 -14
- package/src/router/useViteRoutes.tsx +2 -1
- package/src/router/utils/getNavigateAction.ts +4 -2
- package/src/server/createRoutesManifest.ts +4 -1
- package/src/server/getServerManifest.ts +7 -2
- package/src/server/oneServe.ts +37 -9
- package/src/server/setupBuildOptions.ts +2 -1
- package/src/server/staticHtmlFetcher.ts +3 -1
- package/src/server-render.tsx +4 -1
- package/src/typed-routes/getTypedRoutesDeclarationFile.ts +20 -4
- package/src/typed-routes/injectRouteHelpers.ts +12 -3
- package/src/types.ts +2 -2
- package/src/ui/Slot.tsx +4 -2
- package/src/ui/TabContext.tsx +3 -1
- package/src/ui/TabRouter.tsx +7 -2
- package/src/ui/TabTrigger.tsx +20 -3
- package/src/ui/Tabs.tsx +8 -2
- package/src/ui/common.tsx +19 -5
- package/src/useLoader.ts +9 -4
- package/src/utils/cleanUrl.ts +5 -1
- package/src/utils/url.ts +3 -1
- package/src/vercel/build/buildVercelOutputDirectory.ts +31 -10
- package/src/vercel/build/generate/createApiServerlessFunction.ts +11 -3
- package/src/vercel/build/generate/createSsrServerlessFunction.ts +10 -3
- package/src/vercel/build/getPathFromRoute.ts +4 -1
- package/src/views/Navigator.tsx +21 -9
- package/src/views/RootErrorBoundary.tsx +3 -1
- package/src/views/Screen.tsx +4 -1
- package/src/vite/loadConfig.ts +6 -2
- package/src/vite/one-server-only.tsx +10 -4
- package/src/vite/one.ts +61 -46
- package/src/vite/plugins/SSRCSSPlugin.ts +9 -2
- package/src/vite/plugins/clientTreeShakePlugin.ts +22 -6
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +15 -3
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +2 -1
- package/src/vite/plugins/removeReactNativeWebAnimatedPlugin.ts +3 -1
- package/src/vite/plugins/virtualEntryPlugin.ts +28 -5
- package/src/vite/replaceLoader.ts +7 -1
- package/src/vite/resolveResponse.ts +6 -2
- package/src/vite/types.ts +6 -3
- package/src/zero/subscribeToQuery.ts +4 -1
- package/src/zero/types.ts +8 -9
- package/src/zero/useQuery.ts +1 -1
- package/src/zero/useQueryZero.ts +3 -1
- package/types/Root.d.ts.map +1 -1
- package/types/babel-plugins/one-router-metro.d.ts.map +1 -1
- package/types/babel-plugins/remove-server-code.d.ts.map +1 -1
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/buildPage.d.ts.map +1 -1
- package/types/cli/generateRoutes.d.ts.map +1 -1
- package/types/cli/generateSitemap.d.ts.map +1 -1
- package/types/cli/main.d.ts.map +1 -1
- package/types/cli/prebuild.d.ts.map +1 -1
- package/types/clientLoaderResolver.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -1
- package/types/constants.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +1 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/fork/_shared.d.ts.map +1 -1
- package/types/fork/extractPathFromURL.d.ts.map +1 -1
- package/types/fork/getPathFromState.d.ts.map +1 -1
- package/types/fork/getStateFromPath-mods.d.ts.map +1 -1
- package/types/fork/getStateFromPath.d.ts.map +1 -1
- package/types/fork/useBackButton.d.ts.map +1 -1
- package/types/fork/useBackButton.native.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/fork/validatePathConfig.d.ts.map +1 -1
- package/types/head/Head.ios.d.ts.map +1 -1
- package/types/hooks.d.ts +2 -2
- package/types/hooks.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/layouts/Tabs.d.ts.map +1 -1
- package/types/layouts/withLayoutContext.d.ts.map +1 -1
- package/types/link/Link.d.ts.map +1 -1
- package/types/link/linking.d.ts.map +1 -1
- package/types/link/useLinkTo.d.ts.map +1 -1
- package/types/link/useLoadedNavigation.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/polyfills-mobile.d.ts.map +1 -1
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/RouteInfoContext.d.ts.map +1 -1
- package/types/router/filterRootHTML.d.ts.map +1 -1
- package/types/router/getNormalizedStatePath.d.ts.map +1 -1
- package/types/router/getRoutes.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useNavigation.d.ts.map +1 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/router/useViteRoutes.d.ts.map +1 -1
- package/types/router/utils/getNavigateAction.d.ts.map +1 -1
- package/types/server/createRoutesManifest.d.ts.map +1 -1
- package/types/server/getServerManifest.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/setupBuildOptions.d.ts.map +1 -1
- package/types/server/staticHtmlFetcher.d.ts.map +1 -1
- package/types/server-render.d.ts.map +1 -1
- package/types/types.d.ts +2 -2
- package/types/ui/Slot.d.ts.map +1 -1
- package/types/ui/TabContext.d.ts.map +1 -1
- package/types/ui/TabRouter.d.ts.map +1 -1
- package/types/ui/TabTrigger.d.ts.map +1 -1
- package/types/ui/Tabs.d.ts.map +1 -1
- package/types/ui/common.d.ts.map +1 -1
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/cleanUrl.d.ts.map +1 -1
- package/types/utils/url.d.ts.map +1 -1
- package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
- package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
- package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
- package/types/vercel/build/getPathFromRoute.d.ts.map +1 -1
- package/types/views/Navigator.d.ts +1 -1
- package/types/views/Navigator.d.ts.map +1 -1
- package/types/views/RootErrorBoundary.d.ts.map +1 -1
- package/types/views/Screen.d.ts +1 -1
- package/types/views/Screen.d.ts.map +1 -1
- package/types/vite/loadConfig.d.ts.map +1 -1
- package/types/vite/one-server-only.d.ts +2 -2
- package/types/vite/one-server-only.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
- package/types/vite/plugins/removeReactNativeWebAnimatedPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/replaceLoader.d.ts +2 -2
- package/types/vite/replaceLoader.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/types/vite/types.d.ts +1 -1
- package/types/vite/types.d.ts.map +1 -1
- package/types/zero/subscribeToQuery.d.ts.map +1 -1
- package/types/zero/types.d.ts.map +1 -1
- package/types/zero/useQueryZero.d.ts.map +1 -1
- package/vendor/react/cjs/react-jsx-dev-runtime.development.js +1230 -1078
- package/vendor/react/cjs/react-jsx-dev-runtime.production.min.js +4 -1
- package/vendor/react/cjs/react-jsx-dev-runtime.profiling.min.js +4 -1
- package/vendor/react/cjs/react-jsx-runtime.development.js +1244 -1092
- package/vendor/react/cjs/react-jsx-runtime.production.min.js +23 -2
- package/vendor/react/cjs/react-jsx-runtime.profiling.min.js +23 -2
- package/vendor/react/cjs/react.development.js +2604 -2324
- package/vendor/react/cjs/react.production.min.js +360 -17
- package/vendor/react/cjs/react.shared-subset.development.js +9 -7
- package/vendor/react/cjs/react.shared-subset.production.min.js +2 -1
- package/vendor/react/index.js +3 -3
- package/vendor/react/jsx-dev-runtime.js +3 -3
- package/vendor/react/jsx-runtime.js +3 -3
- package/vendor/react/react.shared-subset.js +3 -3
- package/vendor/react/umd/react.development.js +1430 -1152
- package/vendor/react/umd/react.production.min.js +657 -22
- package/vendor/react/umd/react.profiling.min.js +657 -22
- package/vendor/react-dom/cjs/react-dom-server-legacy.browser.development.js +7183 -5938
- package/vendor/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +1941 -84
- package/vendor/react-dom/cjs/react-dom-server-legacy.node.development.js +7239 -5986
- package/vendor/react-dom/cjs/react-dom-server-legacy.node.production.min.js +2055 -92
- package/vendor/react-dom/cjs/react-dom-server.browser.development.js +7146 -5924
- package/vendor/react-dom/cjs/react-dom-server.browser.production.min.js +1997 -87
- package/vendor/react-dom/cjs/react-dom-server.node.development.js +7210 -5976
- package/vendor/react-dom/cjs/react-dom-server.node.production.min.js +2075 -93
- package/vendor/react-dom/cjs/react-dom-test-utils.development.js +1700 -1487
- package/vendor/react-dom/cjs/react-dom-test-utils.production.min.js +653 -31
- package/vendor/react-dom/cjs/react-dom.development.js +29568 -25248
- package/vendor/react-dom/cjs/react-dom.production.min.js +8208 -310
- package/vendor/react-dom/cjs/react-dom.profiling.min.js +8750 -343
- package/vendor/react-dom/client.js +15 -15
- package/vendor/react-dom/index.js +8 -8
- package/vendor/react-dom/profiling.js +8 -8
- package/vendor/react-dom/server.browser.js +12 -12
- package/vendor/react-dom/server.js +2 -2
- package/vendor/react-dom/server.node.js +12 -12
- package/vendor/react-dom/test-utils.js +3 -3
- package/vendor/react-dom/umd/react-dom-server-legacy.browser.development.js +3735 -2502
- package/vendor/react-dom/umd/react-dom-server-legacy.browser.production.min.js +1964 -66
- package/vendor/react-dom/umd/react-dom-server.browser.development.js +3724 -2511
- package/vendor/react-dom/umd/react-dom-server.browser.production.min.js +2017 -67
- package/vendor/react-dom/umd/react-dom-test-utils.development.js +777 -563
- package/vendor/react-dom/umd/react-dom-test-utils.production.min.js +678 -24
- package/vendor/react-dom/umd/react-dom.development.js +15978 -11854
- package/vendor/react-dom/umd/react-dom.production.min.js +8328 -256
- package/vendor/react-dom/umd/react-dom.profiling.min.js +8868 -274
|
@@ -7,13 +7,17 @@
|
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
9
|
*/
|
|
10
|
-
(function (global, factory) {
|
|
11
|
-
typeof exports === 'object' && typeof module !== 'undefined'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
;(function (global, factory) {
|
|
11
|
+
typeof exports === 'object' && typeof module !== 'undefined'
|
|
12
|
+
? factory(exports, require('react'), require('react-dom'))
|
|
13
|
+
: typeof define === 'function' && define.amd
|
|
14
|
+
? define(['exports', 'react', 'react-dom'], factory)
|
|
15
|
+
: ((global = global || self),
|
|
16
|
+
factory((global.ReactTestUtils = {}), global.React, global.ReactDOM))
|
|
17
|
+
})(this, function (exports, React, ReactDOM) {
|
|
18
|
+
'use strict'
|
|
19
|
+
|
|
20
|
+
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
|
|
17
21
|
|
|
18
22
|
// by calls to these methods by a Babel plugin.
|
|
19
23
|
//
|
|
@@ -23,22 +27,34 @@
|
|
|
23
27
|
function warn(format) {
|
|
24
28
|
{
|
|
25
29
|
{
|
|
26
|
-
for (
|
|
27
|
-
|
|
30
|
+
for (
|
|
31
|
+
var _len = arguments.length,
|
|
32
|
+
args = new Array(_len > 1 ? _len - 1 : 0),
|
|
33
|
+
_key = 1;
|
|
34
|
+
_key < _len;
|
|
35
|
+
_key++
|
|
36
|
+
) {
|
|
37
|
+
args[_key - 1] = arguments[_key]
|
|
28
38
|
}
|
|
29
39
|
|
|
30
|
-
printWarning('warn', format, args)
|
|
40
|
+
printWarning('warn', format, args)
|
|
31
41
|
}
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
44
|
function error(format) {
|
|
35
45
|
{
|
|
36
46
|
{
|
|
37
|
-
for (
|
|
38
|
-
|
|
47
|
+
for (
|
|
48
|
+
var _len2 = arguments.length,
|
|
49
|
+
args = new Array(_len2 > 1 ? _len2 - 1 : 0),
|
|
50
|
+
_key2 = 1;
|
|
51
|
+
_key2 < _len2;
|
|
52
|
+
_key2++
|
|
53
|
+
) {
|
|
54
|
+
args[_key2 - 1] = arguments[_key2]
|
|
39
55
|
}
|
|
40
56
|
|
|
41
|
-
printWarning('error', format, args)
|
|
57
|
+
printWarning('error', format, args)
|
|
42
58
|
}
|
|
43
59
|
}
|
|
44
60
|
}
|
|
@@ -47,24 +63,23 @@
|
|
|
47
63
|
// When changing this logic, you might want to also
|
|
48
64
|
// update consoleWithStackDev.www.js as well.
|
|
49
65
|
{
|
|
50
|
-
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame
|
|
51
|
-
var stack = ReactDebugCurrentFrame.getStackAddendum()
|
|
66
|
+
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame
|
|
67
|
+
var stack = ReactDebugCurrentFrame.getStackAddendum()
|
|
52
68
|
|
|
53
69
|
if (stack !== '') {
|
|
54
|
-
format += '%s'
|
|
55
|
-
args = args.concat([stack])
|
|
70
|
+
format += '%s'
|
|
71
|
+
args = args.concat([stack])
|
|
56
72
|
} // eslint-disable-next-line react-internal/safe-string-coercion
|
|
57
73
|
|
|
58
|
-
|
|
59
74
|
var argsWithFormat = args.map(function (item) {
|
|
60
|
-
return String(item)
|
|
61
|
-
})
|
|
75
|
+
return String(item)
|
|
76
|
+
}) // Careful: RN currently depends on this prefix
|
|
62
77
|
|
|
63
|
-
argsWithFormat.unshift('Warning: ' + format)
|
|
78
|
+
argsWithFormat.unshift('Warning: ' + format) // We intentionally don't use spread (or .apply) directly because it
|
|
64
79
|
// breaks IE9: https://github.com/facebook/react/issues/13610
|
|
65
80
|
// eslint-disable-next-line react-internal/no-production-logging
|
|
66
81
|
|
|
67
|
-
Function.prototype.apply.call(console[level], console, argsWithFormat)
|
|
82
|
+
Function.prototype.apply.call(console[level], console, argsWithFormat)
|
|
68
83
|
}
|
|
69
84
|
}
|
|
70
85
|
|
|
@@ -78,149 +93,144 @@
|
|
|
78
93
|
* If this becomes an actual Map, that will break.
|
|
79
94
|
*/
|
|
80
95
|
function get(key) {
|
|
81
|
-
return key._reactInternals
|
|
96
|
+
return key._reactInternals
|
|
82
97
|
}
|
|
83
98
|
|
|
84
|
-
var FunctionComponent = 0
|
|
85
|
-
var ClassComponent = 1
|
|
99
|
+
var FunctionComponent = 0
|
|
100
|
+
var ClassComponent = 1
|
|
86
101
|
|
|
87
|
-
var HostRoot = 3
|
|
102
|
+
var HostRoot = 3 // Root of a host tree. Could be nested inside another node.
|
|
88
103
|
|
|
89
|
-
var HostComponent = 5
|
|
90
|
-
var HostText = 6
|
|
104
|
+
var HostComponent = 5
|
|
105
|
+
var HostText = 6
|
|
91
106
|
|
|
92
107
|
// Don't change these two values. They're used by React Dev Tools.
|
|
93
108
|
var NoFlags =
|
|
94
|
-
|
|
95
|
-
|
|
109
|
+
/* */
|
|
110
|
+
0
|
|
96
111
|
|
|
97
112
|
var Placement =
|
|
98
|
-
|
|
99
|
-
|
|
113
|
+
/* */
|
|
114
|
+
2
|
|
100
115
|
var Hydrating =
|
|
101
|
-
|
|
102
|
-
|
|
116
|
+
/* */
|
|
117
|
+
4096
|
|
103
118
|
|
|
104
|
-
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner
|
|
119
|
+
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner
|
|
105
120
|
function getNearestMountedFiber(fiber) {
|
|
106
|
-
var node = fiber
|
|
107
|
-
var nearestMounted = fiber
|
|
121
|
+
var node = fiber
|
|
122
|
+
var nearestMounted = fiber
|
|
108
123
|
|
|
109
124
|
if (!fiber.alternate) {
|
|
110
125
|
// If there is no alternate, this might be a new tree that isn't inserted
|
|
111
126
|
// yet. If it is, then it will have a pending insertion effect on it.
|
|
112
|
-
var nextNode = node
|
|
127
|
+
var nextNode = node
|
|
113
128
|
|
|
114
129
|
do {
|
|
115
|
-
node = nextNode
|
|
130
|
+
node = nextNode
|
|
116
131
|
|
|
117
132
|
if ((node.flags & (Placement | Hydrating)) !== NoFlags) {
|
|
118
133
|
// This is an insertion or in-progress hydration. The nearest possible
|
|
119
134
|
// mounted fiber is the parent but we need to continue to figure out
|
|
120
135
|
// if that one is still mounted.
|
|
121
|
-
nearestMounted = node.return
|
|
136
|
+
nearestMounted = node.return
|
|
122
137
|
}
|
|
123
138
|
|
|
124
|
-
nextNode = node.return
|
|
125
|
-
} while (nextNode)
|
|
139
|
+
nextNode = node.return
|
|
140
|
+
} while (nextNode)
|
|
126
141
|
} else {
|
|
127
142
|
while (node.return) {
|
|
128
|
-
node = node.return
|
|
143
|
+
node = node.return
|
|
129
144
|
}
|
|
130
145
|
}
|
|
131
146
|
|
|
132
147
|
if (node.tag === HostRoot) {
|
|
133
148
|
// TODO: Check if this was a nested HostRoot when used with
|
|
134
149
|
// renderContainerIntoSubtree.
|
|
135
|
-
return nearestMounted
|
|
150
|
+
return nearestMounted
|
|
136
151
|
} // If we didn't hit the root, that means that we're in an disconnected tree
|
|
137
152
|
// that has been unmounted.
|
|
138
153
|
|
|
139
|
-
|
|
140
|
-
return null;
|
|
154
|
+
return null
|
|
141
155
|
}
|
|
142
156
|
|
|
143
157
|
function assertIsMounted(fiber) {
|
|
144
158
|
if (getNearestMountedFiber(fiber) !== fiber) {
|
|
145
|
-
throw new Error('Unable to find node on an unmounted component.')
|
|
159
|
+
throw new Error('Unable to find node on an unmounted component.')
|
|
146
160
|
}
|
|
147
161
|
}
|
|
148
162
|
|
|
149
163
|
function findCurrentFiberUsingSlowPath(fiber) {
|
|
150
|
-
var alternate = fiber.alternate
|
|
164
|
+
var alternate = fiber.alternate
|
|
151
165
|
|
|
152
166
|
if (!alternate) {
|
|
153
167
|
// If there is no alternate, then we only need to check if it is mounted.
|
|
154
|
-
var nearestMounted = getNearestMountedFiber(fiber)
|
|
168
|
+
var nearestMounted = getNearestMountedFiber(fiber)
|
|
155
169
|
|
|
156
170
|
if (nearestMounted === null) {
|
|
157
|
-
throw new Error('Unable to find node on an unmounted component.')
|
|
171
|
+
throw new Error('Unable to find node on an unmounted component.')
|
|
158
172
|
}
|
|
159
173
|
|
|
160
174
|
if (nearestMounted !== fiber) {
|
|
161
|
-
return null
|
|
175
|
+
return null
|
|
162
176
|
}
|
|
163
177
|
|
|
164
|
-
return fiber
|
|
178
|
+
return fiber
|
|
165
179
|
} // If we have two possible branches, we'll walk backwards up to the root
|
|
166
180
|
// to see what path the root points to. On the way we may hit one of the
|
|
167
181
|
// special cases and we'll deal with them.
|
|
168
182
|
|
|
169
|
-
|
|
170
|
-
var
|
|
171
|
-
var b = alternate;
|
|
183
|
+
var a = fiber
|
|
184
|
+
var b = alternate
|
|
172
185
|
|
|
173
186
|
while (true) {
|
|
174
|
-
var parentA = a.return
|
|
187
|
+
var parentA = a.return
|
|
175
188
|
|
|
176
189
|
if (parentA === null) {
|
|
177
190
|
// We're at the root.
|
|
178
|
-
break
|
|
191
|
+
break
|
|
179
192
|
}
|
|
180
193
|
|
|
181
|
-
var parentB = parentA.alternate
|
|
194
|
+
var parentB = parentA.alternate
|
|
182
195
|
|
|
183
196
|
if (parentB === null) {
|
|
184
197
|
// There is no alternate. This is an unusual case. Currently, it only
|
|
185
198
|
// happens when a Suspense component is hidden. An extra fragment fiber
|
|
186
199
|
// is inserted in between the Suspense fiber and its children. Skip
|
|
187
200
|
// over this extra fragment fiber and proceed to the next parent.
|
|
188
|
-
var nextParent = parentA.return
|
|
201
|
+
var nextParent = parentA.return
|
|
189
202
|
|
|
190
203
|
if (nextParent !== null) {
|
|
191
|
-
a = b = nextParent
|
|
192
|
-
continue
|
|
204
|
+
a = b = nextParent
|
|
205
|
+
continue
|
|
193
206
|
} // If there's no parent, we're at the root.
|
|
194
207
|
|
|
195
|
-
|
|
196
|
-
break;
|
|
208
|
+
break
|
|
197
209
|
} // If both copies of the parent fiber point to the same child, we can
|
|
198
210
|
// assume that the child is current. This happens when we bailout on low
|
|
199
211
|
// priority: the bailed out fiber's child reuses the current child.
|
|
200
212
|
|
|
201
|
-
|
|
202
213
|
if (parentA.child === parentB.child) {
|
|
203
|
-
var child = parentA.child
|
|
214
|
+
var child = parentA.child
|
|
204
215
|
|
|
205
216
|
while (child) {
|
|
206
217
|
if (child === a) {
|
|
207
218
|
// We've determined that A is the current branch.
|
|
208
|
-
assertIsMounted(parentA)
|
|
209
|
-
return fiber
|
|
219
|
+
assertIsMounted(parentA)
|
|
220
|
+
return fiber
|
|
210
221
|
}
|
|
211
222
|
|
|
212
223
|
if (child === b) {
|
|
213
224
|
// We've determined that B is the current branch.
|
|
214
|
-
assertIsMounted(parentA)
|
|
215
|
-
return alternate
|
|
225
|
+
assertIsMounted(parentA)
|
|
226
|
+
return alternate
|
|
216
227
|
}
|
|
217
228
|
|
|
218
|
-
child = child.sibling
|
|
229
|
+
child = child.sibling
|
|
219
230
|
} // We should never have an alternate for any mounting node. So the only
|
|
220
231
|
// way this could possibly happen is if this was unmounted, if at all.
|
|
221
232
|
|
|
222
|
-
|
|
223
|
-
throw new Error('Unable to find node on an unmounted component.');
|
|
233
|
+
throw new Error('Unable to find node on an unmounted component.')
|
|
224
234
|
}
|
|
225
235
|
|
|
226
236
|
if (a.return !== b.return) {
|
|
@@ -228,84 +238,88 @@
|
|
|
228
238
|
// fibers. We assume that return pointers never criss-cross, so A must
|
|
229
239
|
// belong to the child set of A.return, and B must belong to the child
|
|
230
240
|
// set of B.return.
|
|
231
|
-
a = parentA
|
|
232
|
-
b = parentB
|
|
241
|
+
a = parentA
|
|
242
|
+
b = parentB
|
|
233
243
|
} else {
|
|
234
244
|
// The return pointers point to the same fiber. We'll have to use the
|
|
235
245
|
// default, slow path: scan the child sets of each parent alternate to see
|
|
236
246
|
// which child belongs to which set.
|
|
237
247
|
//
|
|
238
248
|
// Search parent A's child set
|
|
239
|
-
var didFindChild = false
|
|
240
|
-
var _child = parentA.child
|
|
249
|
+
var didFindChild = false
|
|
250
|
+
var _child = parentA.child
|
|
241
251
|
|
|
242
252
|
while (_child) {
|
|
243
253
|
if (_child === a) {
|
|
244
|
-
didFindChild = true
|
|
245
|
-
a = parentA
|
|
246
|
-
b = parentB
|
|
247
|
-
break
|
|
254
|
+
didFindChild = true
|
|
255
|
+
a = parentA
|
|
256
|
+
b = parentB
|
|
257
|
+
break
|
|
248
258
|
}
|
|
249
259
|
|
|
250
260
|
if (_child === b) {
|
|
251
|
-
didFindChild = true
|
|
252
|
-
b = parentA
|
|
253
|
-
a = parentB
|
|
254
|
-
break
|
|
261
|
+
didFindChild = true
|
|
262
|
+
b = parentA
|
|
263
|
+
a = parentB
|
|
264
|
+
break
|
|
255
265
|
}
|
|
256
266
|
|
|
257
|
-
_child = _child.sibling
|
|
267
|
+
_child = _child.sibling
|
|
258
268
|
}
|
|
259
269
|
|
|
260
270
|
if (!didFindChild) {
|
|
261
271
|
// Search parent B's child set
|
|
262
|
-
_child = parentB.child
|
|
272
|
+
_child = parentB.child
|
|
263
273
|
|
|
264
274
|
while (_child) {
|
|
265
275
|
if (_child === a) {
|
|
266
|
-
didFindChild = true
|
|
267
|
-
a = parentB
|
|
268
|
-
b = parentA
|
|
269
|
-
break
|
|
276
|
+
didFindChild = true
|
|
277
|
+
a = parentB
|
|
278
|
+
b = parentA
|
|
279
|
+
break
|
|
270
280
|
}
|
|
271
281
|
|
|
272
282
|
if (_child === b) {
|
|
273
|
-
didFindChild = true
|
|
274
|
-
b = parentB
|
|
275
|
-
a = parentA
|
|
276
|
-
break
|
|
283
|
+
didFindChild = true
|
|
284
|
+
b = parentB
|
|
285
|
+
a = parentA
|
|
286
|
+
break
|
|
277
287
|
}
|
|
278
288
|
|
|
279
|
-
_child = _child.sibling
|
|
289
|
+
_child = _child.sibling
|
|
280
290
|
}
|
|
281
291
|
|
|
282
292
|
if (!didFindChild) {
|
|
283
|
-
throw new Error(
|
|
293
|
+
throw new Error(
|
|
294
|
+
'Child was not found in either parent set. This indicates a bug ' +
|
|
295
|
+
'in React related to the return pointer. Please file an issue.'
|
|
296
|
+
)
|
|
284
297
|
}
|
|
285
298
|
}
|
|
286
299
|
}
|
|
287
300
|
|
|
288
301
|
if (a.alternate !== b) {
|
|
289
|
-
throw new Error(
|
|
302
|
+
throw new Error(
|
|
303
|
+
"Return fibers should always be each others' alternates. " +
|
|
304
|
+
'This error is likely caused by a bug in React. Please file an issue.'
|
|
305
|
+
)
|
|
290
306
|
}
|
|
291
307
|
} // If the root is not a host container, we're in a disconnected tree. I.e.
|
|
292
308
|
// unmounted.
|
|
293
309
|
|
|
294
|
-
|
|
295
310
|
if (a.tag !== HostRoot) {
|
|
296
|
-
throw new Error('Unable to find node on an unmounted component.')
|
|
311
|
+
throw new Error('Unable to find node on an unmounted component.')
|
|
297
312
|
}
|
|
298
313
|
|
|
299
314
|
if (a.stateNode.current === a) {
|
|
300
315
|
// We've determined that A is the current branch.
|
|
301
|
-
return fiber
|
|
316
|
+
return fiber
|
|
302
317
|
} // Otherwise B has to be current branch.
|
|
303
318
|
|
|
304
|
-
|
|
305
|
-
return alternate;
|
|
319
|
+
return alternate
|
|
306
320
|
}
|
|
307
321
|
|
|
308
|
-
var assign = Object.assign
|
|
322
|
+
var assign = Object.assign
|
|
309
323
|
|
|
310
324
|
/**
|
|
311
325
|
* `charCode` represents the actual "character code" and is safe to use with
|
|
@@ -318,45 +332,42 @@
|
|
|
318
332
|
* @return {number} Normalized `charCode` property.
|
|
319
333
|
*/
|
|
320
334
|
function getEventCharCode(nativeEvent) {
|
|
321
|
-
var charCode
|
|
322
|
-
var keyCode = nativeEvent.keyCode
|
|
335
|
+
var charCode
|
|
336
|
+
var keyCode = nativeEvent.keyCode
|
|
323
337
|
|
|
324
338
|
if ('charCode' in nativeEvent) {
|
|
325
|
-
charCode = nativeEvent.charCode
|
|
339
|
+
charCode = nativeEvent.charCode // FF does not set `charCode` for the Enter-key, check against `keyCode`.
|
|
326
340
|
|
|
327
341
|
if (charCode === 0 && keyCode === 13) {
|
|
328
|
-
charCode = 13
|
|
342
|
+
charCode = 13
|
|
329
343
|
}
|
|
330
344
|
} else {
|
|
331
345
|
// IE8 does not implement `charCode`, but `keyCode` has the correct value.
|
|
332
|
-
charCode = keyCode
|
|
346
|
+
charCode = keyCode
|
|
333
347
|
} // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)
|
|
334
348
|
// report Enter as charCode 10 when ctrl is pressed.
|
|
335
349
|
|
|
336
|
-
|
|
337
350
|
if (charCode === 10) {
|
|
338
|
-
charCode = 13
|
|
351
|
+
charCode = 13
|
|
339
352
|
} // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.
|
|
340
353
|
// Must not discard the (non-)printable Enter-key.
|
|
341
354
|
|
|
342
|
-
|
|
343
355
|
if (charCode >= 32 || charCode === 13) {
|
|
344
|
-
return charCode
|
|
356
|
+
return charCode
|
|
345
357
|
}
|
|
346
358
|
|
|
347
|
-
return 0
|
|
359
|
+
return 0
|
|
348
360
|
}
|
|
349
361
|
|
|
350
362
|
function functionThatReturnsTrue() {
|
|
351
|
-
return true
|
|
363
|
+
return true
|
|
352
364
|
}
|
|
353
365
|
|
|
354
366
|
function functionThatReturnsFalse() {
|
|
355
|
-
return false
|
|
367
|
+
return false
|
|
356
368
|
} // This is intentionally a factory so that we have different returned constructors.
|
|
357
369
|
// If we had a single constructor, it would be megamorphic and engines would deopt.
|
|
358
370
|
|
|
359
|
-
|
|
360
371
|
function createSyntheticEvent(Interface) {
|
|
361
372
|
/**
|
|
362
373
|
* Synthetic events are dispatched by event plugins, typically in response to a
|
|
@@ -371,76 +382,85 @@
|
|
|
371
382
|
* normalizing browser quirks. Subclasses do not necessarily have to implement a
|
|
372
383
|
* DOM interface; custom application-specific events can also subclass this.
|
|
373
384
|
*/
|
|
374
|
-
function SyntheticBaseEvent(
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
385
|
+
function SyntheticBaseEvent(
|
|
386
|
+
reactName,
|
|
387
|
+
reactEventType,
|
|
388
|
+
targetInst,
|
|
389
|
+
nativeEvent,
|
|
390
|
+
nativeEventTarget
|
|
391
|
+
) {
|
|
392
|
+
this._reactName = reactName
|
|
393
|
+
this._targetInst = targetInst
|
|
394
|
+
this.type = reactEventType
|
|
395
|
+
this.nativeEvent = nativeEvent
|
|
396
|
+
this.target = nativeEventTarget
|
|
397
|
+
this.currentTarget = null
|
|
381
398
|
|
|
382
399
|
for (var _propName in Interface) {
|
|
383
400
|
if (!Interface.hasOwnProperty(_propName)) {
|
|
384
|
-
continue
|
|
401
|
+
continue
|
|
385
402
|
}
|
|
386
403
|
|
|
387
|
-
var normalize = Interface[_propName]
|
|
404
|
+
var normalize = Interface[_propName]
|
|
388
405
|
|
|
389
406
|
if (normalize) {
|
|
390
|
-
this[_propName] = normalize(nativeEvent)
|
|
407
|
+
this[_propName] = normalize(nativeEvent)
|
|
391
408
|
} else {
|
|
392
|
-
this[_propName] = nativeEvent[_propName]
|
|
409
|
+
this[_propName] = nativeEvent[_propName]
|
|
393
410
|
}
|
|
394
411
|
}
|
|
395
412
|
|
|
396
|
-
var defaultPrevented =
|
|
413
|
+
var defaultPrevented =
|
|
414
|
+
nativeEvent.defaultPrevented != null
|
|
415
|
+
? nativeEvent.defaultPrevented
|
|
416
|
+
: nativeEvent.returnValue === false
|
|
397
417
|
|
|
398
418
|
if (defaultPrevented) {
|
|
399
|
-
this.isDefaultPrevented = functionThatReturnsTrue
|
|
419
|
+
this.isDefaultPrevented = functionThatReturnsTrue
|
|
400
420
|
} else {
|
|
401
|
-
this.isDefaultPrevented = functionThatReturnsFalse
|
|
421
|
+
this.isDefaultPrevented = functionThatReturnsFalse
|
|
402
422
|
}
|
|
403
423
|
|
|
404
|
-
this.isPropagationStopped = functionThatReturnsFalse
|
|
405
|
-
return this
|
|
424
|
+
this.isPropagationStopped = functionThatReturnsFalse
|
|
425
|
+
return this
|
|
406
426
|
}
|
|
407
427
|
|
|
408
428
|
assign(SyntheticBaseEvent.prototype, {
|
|
409
429
|
preventDefault: function () {
|
|
410
|
-
this.defaultPrevented = true
|
|
411
|
-
var event = this.nativeEvent
|
|
430
|
+
this.defaultPrevented = true
|
|
431
|
+
var event = this.nativeEvent
|
|
412
432
|
|
|
413
433
|
if (!event) {
|
|
414
|
-
return
|
|
434
|
+
return
|
|
415
435
|
}
|
|
416
436
|
|
|
417
437
|
if (event.preventDefault) {
|
|
418
|
-
event.preventDefault()
|
|
438
|
+
event.preventDefault() // $FlowFixMe - flow is not aware of `unknown` in IE
|
|
419
439
|
} else if (typeof event.returnValue !== 'unknown') {
|
|
420
|
-
event.returnValue = false
|
|
440
|
+
event.returnValue = false
|
|
421
441
|
}
|
|
422
442
|
|
|
423
|
-
this.isDefaultPrevented = functionThatReturnsTrue
|
|
443
|
+
this.isDefaultPrevented = functionThatReturnsTrue
|
|
424
444
|
},
|
|
425
445
|
stopPropagation: function () {
|
|
426
|
-
var event = this.nativeEvent
|
|
446
|
+
var event = this.nativeEvent
|
|
427
447
|
|
|
428
448
|
if (!event) {
|
|
429
|
-
return
|
|
449
|
+
return
|
|
430
450
|
}
|
|
431
451
|
|
|
432
452
|
if (event.stopPropagation) {
|
|
433
|
-
event.stopPropagation()
|
|
453
|
+
event.stopPropagation() // $FlowFixMe - flow is not aware of `unknown` in IE
|
|
434
454
|
} else if (typeof event.cancelBubble !== 'unknown') {
|
|
435
455
|
// The ChangeEventPlugin registers a "propertychange" event for
|
|
436
456
|
// IE. This event does not support bubbling or cancelling, and
|
|
437
457
|
// any references to cancelBubble throw "Member not found". A
|
|
438
458
|
// typeof check of "unknown" circumvents this issue (and is also
|
|
439
459
|
// IE specific).
|
|
440
|
-
event.cancelBubble = true
|
|
460
|
+
event.cancelBubble = true
|
|
441
461
|
}
|
|
442
462
|
|
|
443
|
-
this.isPropagationStopped = functionThatReturnsTrue
|
|
463
|
+
this.isPropagationStopped = functionThatReturnsTrue
|
|
444
464
|
},
|
|
445
465
|
|
|
446
466
|
/**
|
|
@@ -448,7 +468,8 @@
|
|
|
448
468
|
* them back into the pool. This allows a way to hold onto a reference that
|
|
449
469
|
* won't be added back into the pool.
|
|
450
470
|
*/
|
|
451
|
-
persist: function () {
|
|
471
|
+
persist: function () {
|
|
472
|
+
// Modern event system doesn't use pooling.
|
|
452
473
|
},
|
|
453
474
|
|
|
454
475
|
/**
|
|
@@ -456,49 +477,48 @@
|
|
|
456
477
|
*
|
|
457
478
|
* @return {boolean} True if this should not be released, false otherwise.
|
|
458
479
|
*/
|
|
459
|
-
isPersistent: functionThatReturnsTrue
|
|
460
|
-
})
|
|
461
|
-
return SyntheticBaseEvent
|
|
480
|
+
isPersistent: functionThatReturnsTrue,
|
|
481
|
+
})
|
|
482
|
+
return SyntheticBaseEvent
|
|
462
483
|
}
|
|
463
484
|
/**
|
|
464
485
|
* @interface Event
|
|
465
486
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
466
487
|
*/
|
|
467
488
|
|
|
468
|
-
|
|
469
489
|
var EventInterface = {
|
|
470
490
|
eventPhase: 0,
|
|
471
491
|
bubbles: 0,
|
|
472
492
|
cancelable: 0,
|
|
473
493
|
timeStamp: function (event) {
|
|
474
|
-
return event.timeStamp || Date.now()
|
|
494
|
+
return event.timeStamp || Date.now()
|
|
475
495
|
},
|
|
476
496
|
defaultPrevented: 0,
|
|
477
|
-
isTrusted: 0
|
|
478
|
-
}
|
|
479
|
-
var SyntheticEvent = createSyntheticEvent(EventInterface)
|
|
497
|
+
isTrusted: 0,
|
|
498
|
+
}
|
|
499
|
+
var SyntheticEvent = createSyntheticEvent(EventInterface)
|
|
480
500
|
|
|
481
501
|
var UIEventInterface = assign({}, EventInterface, {
|
|
482
502
|
view: 0,
|
|
483
|
-
detail: 0
|
|
484
|
-
})
|
|
503
|
+
detail: 0,
|
|
504
|
+
})
|
|
485
505
|
|
|
486
|
-
var SyntheticUIEvent = createSyntheticEvent(UIEventInterface)
|
|
487
|
-
var lastMovementX
|
|
488
|
-
var lastMovementY
|
|
489
|
-
var lastMouseEvent
|
|
506
|
+
var SyntheticUIEvent = createSyntheticEvent(UIEventInterface)
|
|
507
|
+
var lastMovementX
|
|
508
|
+
var lastMovementY
|
|
509
|
+
var lastMouseEvent
|
|
490
510
|
|
|
491
511
|
function updateMouseMovementPolyfillState(event) {
|
|
492
512
|
if (event !== lastMouseEvent) {
|
|
493
513
|
if (lastMouseEvent && event.type === 'mousemove') {
|
|
494
|
-
lastMovementX = event.screenX - lastMouseEvent.screenX
|
|
495
|
-
lastMovementY = event.screenY - lastMouseEvent.screenY
|
|
514
|
+
lastMovementX = event.screenX - lastMouseEvent.screenX
|
|
515
|
+
lastMovementY = event.screenY - lastMouseEvent.screenY
|
|
496
516
|
} else {
|
|
497
|
-
lastMovementX = 0
|
|
498
|
-
lastMovementY = 0
|
|
517
|
+
lastMovementX = 0
|
|
518
|
+
lastMovementY = 0
|
|
499
519
|
}
|
|
500
520
|
|
|
501
|
-
lastMouseEvent = event
|
|
521
|
+
lastMouseEvent = event
|
|
502
522
|
}
|
|
503
523
|
}
|
|
504
524
|
/**
|
|
@@ -506,7 +526,6 @@
|
|
|
506
526
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
507
527
|
*/
|
|
508
528
|
|
|
509
|
-
|
|
510
529
|
var MouseEventInterface = assign({}, UIEventInterface, {
|
|
511
530
|
screenX: 0,
|
|
512
531
|
screenY: 0,
|
|
@@ -522,50 +541,52 @@
|
|
|
522
541
|
button: 0,
|
|
523
542
|
buttons: 0,
|
|
524
543
|
relatedTarget: function (event) {
|
|
525
|
-
if (event.relatedTarget === undefined)
|
|
526
|
-
|
|
544
|
+
if (event.relatedTarget === undefined)
|
|
545
|
+
return event.fromElement === event.srcElement
|
|
546
|
+
? event.toElement
|
|
547
|
+
: event.fromElement
|
|
548
|
+
return event.relatedTarget
|
|
527
549
|
},
|
|
528
550
|
movementX: function (event) {
|
|
529
551
|
if ('movementX' in event) {
|
|
530
|
-
return event.movementX
|
|
552
|
+
return event.movementX
|
|
531
553
|
}
|
|
532
554
|
|
|
533
|
-
updateMouseMovementPolyfillState(event)
|
|
534
|
-
return lastMovementX
|
|
555
|
+
updateMouseMovementPolyfillState(event)
|
|
556
|
+
return lastMovementX
|
|
535
557
|
},
|
|
536
558
|
movementY: function (event) {
|
|
537
559
|
if ('movementY' in event) {
|
|
538
|
-
return event.movementY
|
|
560
|
+
return event.movementY
|
|
539
561
|
} // Don't need to call updateMouseMovementPolyfillState() here
|
|
540
562
|
// because it's guaranteed to have already run when movementX
|
|
541
563
|
// was copied.
|
|
542
564
|
|
|
565
|
+
return lastMovementY
|
|
566
|
+
},
|
|
567
|
+
})
|
|
543
568
|
|
|
544
|
-
|
|
545
|
-
}
|
|
546
|
-
});
|
|
547
|
-
|
|
548
|
-
var SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);
|
|
569
|
+
var SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface)
|
|
549
570
|
/**
|
|
550
571
|
* @interface DragEvent
|
|
551
572
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
552
573
|
*/
|
|
553
574
|
|
|
554
575
|
var DragEventInterface = assign({}, MouseEventInterface, {
|
|
555
|
-
dataTransfer: 0
|
|
556
|
-
})
|
|
576
|
+
dataTransfer: 0,
|
|
577
|
+
})
|
|
557
578
|
|
|
558
|
-
var SyntheticDragEvent = createSyntheticEvent(DragEventInterface)
|
|
579
|
+
var SyntheticDragEvent = createSyntheticEvent(DragEventInterface)
|
|
559
580
|
/**
|
|
560
581
|
* @interface FocusEvent
|
|
561
582
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
562
583
|
*/
|
|
563
584
|
|
|
564
585
|
var FocusEventInterface = assign({}, UIEventInterface, {
|
|
565
|
-
relatedTarget: 0
|
|
566
|
-
})
|
|
586
|
+
relatedTarget: 0,
|
|
587
|
+
})
|
|
567
588
|
|
|
568
|
-
var SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface)
|
|
589
|
+
var SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface)
|
|
569
590
|
/**
|
|
570
591
|
* @interface Event
|
|
571
592
|
* @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface
|
|
@@ -575,10 +596,10 @@
|
|
|
575
596
|
var AnimationEventInterface = assign({}, EventInterface, {
|
|
576
597
|
animationName: 0,
|
|
577
598
|
elapsedTime: 0,
|
|
578
|
-
pseudoElement: 0
|
|
579
|
-
})
|
|
599
|
+
pseudoElement: 0,
|
|
600
|
+
})
|
|
580
601
|
|
|
581
|
-
var SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface)
|
|
602
|
+
var SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface)
|
|
582
603
|
/**
|
|
583
604
|
* @interface Event
|
|
584
605
|
* @see http://www.w3.org/TR/clipboard-apis/
|
|
@@ -586,21 +607,21 @@
|
|
|
586
607
|
|
|
587
608
|
var ClipboardEventInterface = assign({}, EventInterface, {
|
|
588
609
|
clipboardData: function (event) {
|
|
589
|
-
return 'clipboardData' in event ? event.clipboardData : window.clipboardData
|
|
590
|
-
}
|
|
591
|
-
})
|
|
610
|
+
return 'clipboardData' in event ? event.clipboardData : window.clipboardData
|
|
611
|
+
},
|
|
612
|
+
})
|
|
592
613
|
|
|
593
|
-
var SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface)
|
|
614
|
+
var SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface)
|
|
594
615
|
/**
|
|
595
616
|
* @interface Event
|
|
596
617
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents
|
|
597
618
|
*/
|
|
598
619
|
|
|
599
620
|
var CompositionEventInterface = assign({}, EventInterface, {
|
|
600
|
-
data: 0
|
|
601
|
-
})
|
|
621
|
+
data: 0,
|
|
622
|
+
})
|
|
602
623
|
|
|
603
|
-
var SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface)
|
|
624
|
+
var SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface)
|
|
604
625
|
/**
|
|
605
626
|
* Normalization of deprecated HTML5 `key` values
|
|
606
627
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
|
|
@@ -618,8 +639,8 @@
|
|
|
618
639
|
Menu: 'ContextMenu',
|
|
619
640
|
Apps: 'ContextMenu',
|
|
620
641
|
Scroll: 'ScrollLock',
|
|
621
|
-
MozPrintableKey: 'Unidentified'
|
|
622
|
-
}
|
|
642
|
+
MozPrintableKey: 'Unidentified',
|
|
643
|
+
}
|
|
623
644
|
/**
|
|
624
645
|
* Translation from legacy `keyCode` to HTML5 `key`
|
|
625
646
|
* Only special keys supported, all others depend on keyboard layout or browser
|
|
@@ -627,43 +648,43 @@
|
|
|
627
648
|
*/
|
|
628
649
|
|
|
629
650
|
var translateToKey = {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
}
|
|
651
|
+
8: 'Backspace',
|
|
652
|
+
9: 'Tab',
|
|
653
|
+
12: 'Clear',
|
|
654
|
+
13: 'Enter',
|
|
655
|
+
16: 'Shift',
|
|
656
|
+
17: 'Control',
|
|
657
|
+
18: 'Alt',
|
|
658
|
+
19: 'Pause',
|
|
659
|
+
20: 'CapsLock',
|
|
660
|
+
27: 'Escape',
|
|
661
|
+
32: ' ',
|
|
662
|
+
33: 'PageUp',
|
|
663
|
+
34: 'PageDown',
|
|
664
|
+
35: 'End',
|
|
665
|
+
36: 'Home',
|
|
666
|
+
37: 'ArrowLeft',
|
|
667
|
+
38: 'ArrowUp',
|
|
668
|
+
39: 'ArrowRight',
|
|
669
|
+
40: 'ArrowDown',
|
|
670
|
+
45: 'Insert',
|
|
671
|
+
46: 'Delete',
|
|
672
|
+
112: 'F1',
|
|
673
|
+
113: 'F2',
|
|
674
|
+
114: 'F3',
|
|
675
|
+
115: 'F4',
|
|
676
|
+
116: 'F5',
|
|
677
|
+
117: 'F6',
|
|
678
|
+
118: 'F7',
|
|
679
|
+
119: 'F8',
|
|
680
|
+
120: 'F9',
|
|
681
|
+
121: 'F10',
|
|
682
|
+
122: 'F11',
|
|
683
|
+
123: 'F12',
|
|
684
|
+
144: 'NumLock',
|
|
685
|
+
145: 'ScrollLock',
|
|
686
|
+
224: 'Meta',
|
|
687
|
+
}
|
|
667
688
|
/**
|
|
668
689
|
* @param {object} nativeEvent Native browser event.
|
|
669
690
|
* @return {string} Normalized `key` property.
|
|
@@ -675,65 +696,62 @@
|
|
|
675
696
|
// implementations of a working draft specification.
|
|
676
697
|
// FireFox implements `key` but returns `MozPrintableKey` for all
|
|
677
698
|
// printable characters (normalized to `Unidentified`), ignore it.
|
|
678
|
-
var key = normalizeKey[nativeEvent.key] || nativeEvent.key
|
|
699
|
+
var key = normalizeKey[nativeEvent.key] || nativeEvent.key
|
|
679
700
|
|
|
680
701
|
if (key !== 'Unidentified') {
|
|
681
|
-
return key
|
|
702
|
+
return key
|
|
682
703
|
}
|
|
683
704
|
} // Browser does not implement `key`, polyfill as much of it as we can.
|
|
684
705
|
|
|
685
|
-
|
|
686
706
|
if (nativeEvent.type === 'keypress') {
|
|
687
|
-
var charCode = getEventCharCode(nativeEvent)
|
|
707
|
+
var charCode = getEventCharCode(nativeEvent) // The enter-key is technically both printable and non-printable and can
|
|
688
708
|
// thus be captured by `keypress`, no other non-printable key should.
|
|
689
709
|
|
|
690
|
-
return charCode === 13 ? 'Enter' : String.fromCharCode(charCode)
|
|
710
|
+
return charCode === 13 ? 'Enter' : String.fromCharCode(charCode)
|
|
691
711
|
}
|
|
692
712
|
|
|
693
713
|
if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
|
|
694
714
|
// While user keyboard layout determines the actual meaning of each
|
|
695
715
|
// `keyCode` value, almost all function keys have a universal value.
|
|
696
|
-
return translateToKey[nativeEvent.keyCode] || 'Unidentified'
|
|
716
|
+
return translateToKey[nativeEvent.keyCode] || 'Unidentified'
|
|
697
717
|
}
|
|
698
718
|
|
|
699
|
-
return ''
|
|
719
|
+
return ''
|
|
700
720
|
}
|
|
701
721
|
/**
|
|
702
722
|
* Translation from modifier key to the associated property in the event.
|
|
703
723
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers
|
|
704
724
|
*/
|
|
705
725
|
|
|
706
|
-
|
|
707
726
|
var modifierKeyToProp = {
|
|
708
727
|
Alt: 'altKey',
|
|
709
728
|
Control: 'ctrlKey',
|
|
710
729
|
Meta: 'metaKey',
|
|
711
|
-
Shift: 'shiftKey'
|
|
712
|
-
}
|
|
730
|
+
Shift: 'shiftKey',
|
|
731
|
+
} // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support
|
|
713
732
|
// getModifierState. If getModifierState is not supported, we map it to a set of
|
|
714
733
|
// modifier keys exposed by the event. In this case, Lock-keys are not supported.
|
|
715
734
|
|
|
716
735
|
function modifierStateGetter(keyArg) {
|
|
717
|
-
var syntheticEvent = this
|
|
718
|
-
var nativeEvent = syntheticEvent.nativeEvent
|
|
736
|
+
var syntheticEvent = this
|
|
737
|
+
var nativeEvent = syntheticEvent.nativeEvent
|
|
719
738
|
|
|
720
739
|
if (nativeEvent.getModifierState) {
|
|
721
|
-
return nativeEvent.getModifierState(keyArg)
|
|
740
|
+
return nativeEvent.getModifierState(keyArg)
|
|
722
741
|
}
|
|
723
742
|
|
|
724
|
-
var keyProp = modifierKeyToProp[keyArg]
|
|
725
|
-
return keyProp ? !!nativeEvent[keyProp] : false
|
|
743
|
+
var keyProp = modifierKeyToProp[keyArg]
|
|
744
|
+
return keyProp ? !!nativeEvent[keyProp] : false
|
|
726
745
|
}
|
|
727
746
|
|
|
728
747
|
function getEventModifierState(nativeEvent) {
|
|
729
|
-
return modifierStateGetter
|
|
748
|
+
return modifierStateGetter
|
|
730
749
|
}
|
|
731
750
|
/**
|
|
732
751
|
* @interface KeyboardEvent
|
|
733
752
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
734
753
|
*/
|
|
735
754
|
|
|
736
|
-
|
|
737
755
|
var KeyboardEventInterface = assign({}, UIEventInterface, {
|
|
738
756
|
key: getEventKey,
|
|
739
757
|
code: 0,
|
|
@@ -752,10 +770,10 @@
|
|
|
752
770
|
// KeyPress is deprecated, but its replacement is not yet final and not
|
|
753
771
|
// implemented in any major browser. Only KeyPress has charCode.
|
|
754
772
|
if (event.type === 'keypress') {
|
|
755
|
-
return getEventCharCode(event)
|
|
773
|
+
return getEventCharCode(event)
|
|
756
774
|
}
|
|
757
775
|
|
|
758
|
-
return 0
|
|
776
|
+
return 0
|
|
759
777
|
},
|
|
760
778
|
keyCode: function (event) {
|
|
761
779
|
// `keyCode` is the result of a KeyDown/Up event and represents the value of
|
|
@@ -765,27 +783,27 @@
|
|
|
765
783
|
// provides a surprisingly accurate mapping for US and European users.
|
|
766
784
|
// Due to this, it is left to the user to implement at this time.
|
|
767
785
|
if (event.type === 'keydown' || event.type === 'keyup') {
|
|
768
|
-
return event.keyCode
|
|
786
|
+
return event.keyCode
|
|
769
787
|
}
|
|
770
788
|
|
|
771
|
-
return 0
|
|
789
|
+
return 0
|
|
772
790
|
},
|
|
773
791
|
which: function (event) {
|
|
774
792
|
// `which` is an alias for either `keyCode` or `charCode` depending on the
|
|
775
793
|
// type of the event.
|
|
776
794
|
if (event.type === 'keypress') {
|
|
777
|
-
return getEventCharCode(event)
|
|
795
|
+
return getEventCharCode(event)
|
|
778
796
|
}
|
|
779
797
|
|
|
780
798
|
if (event.type === 'keydown' || event.type === 'keyup') {
|
|
781
|
-
return event.keyCode
|
|
799
|
+
return event.keyCode
|
|
782
800
|
}
|
|
783
801
|
|
|
784
|
-
return 0
|
|
785
|
-
}
|
|
786
|
-
})
|
|
802
|
+
return 0
|
|
803
|
+
},
|
|
804
|
+
})
|
|
787
805
|
|
|
788
|
-
var SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface)
|
|
806
|
+
var SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface)
|
|
789
807
|
/**
|
|
790
808
|
* @interface PointerEvent
|
|
791
809
|
* @see http://www.w3.org/TR/pointerevents/
|
|
@@ -801,10 +819,10 @@
|
|
|
801
819
|
tiltY: 0,
|
|
802
820
|
twist: 0,
|
|
803
821
|
pointerType: 0,
|
|
804
|
-
isPrimary: 0
|
|
805
|
-
})
|
|
822
|
+
isPrimary: 0,
|
|
823
|
+
})
|
|
806
824
|
|
|
807
|
-
var SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface)
|
|
825
|
+
var SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface)
|
|
808
826
|
/**
|
|
809
827
|
* @interface TouchEvent
|
|
810
828
|
* @see http://www.w3.org/TR/touch-events/
|
|
@@ -818,10 +836,10 @@
|
|
|
818
836
|
metaKey: 0,
|
|
819
837
|
ctrlKey: 0,
|
|
820
838
|
shiftKey: 0,
|
|
821
|
-
getModifierState: getEventModifierState
|
|
822
|
-
})
|
|
839
|
+
getModifierState: getEventModifierState,
|
|
840
|
+
})
|
|
823
841
|
|
|
824
|
-
var SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface)
|
|
842
|
+
var SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface)
|
|
825
843
|
/**
|
|
826
844
|
* @interface Event
|
|
827
845
|
* @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
|
|
@@ -831,10 +849,10 @@
|
|
|
831
849
|
var TransitionEventInterface = assign({}, EventInterface, {
|
|
832
850
|
propertyName: 0,
|
|
833
851
|
elapsedTime: 0,
|
|
834
|
-
pseudoElement: 0
|
|
835
|
-
})
|
|
852
|
+
pseudoElement: 0,
|
|
853
|
+
})
|
|
836
854
|
|
|
837
|
-
var SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface)
|
|
855
|
+
var SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface)
|
|
838
856
|
/**
|
|
839
857
|
* @interface WheelEvent
|
|
840
858
|
* @see http://www.w3.org/TR/DOM-Level-3-Events/
|
|
@@ -842,40 +860,47 @@
|
|
|
842
860
|
|
|
843
861
|
var WheelEventInterface = assign({}, MouseEventInterface, {
|
|
844
862
|
deltaX: function (event) {
|
|
845
|
-
return 'deltaX' in event
|
|
846
|
-
|
|
863
|
+
return 'deltaX' in event
|
|
864
|
+
? event.deltaX // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
|
|
865
|
+
: 'wheelDeltaX' in event
|
|
866
|
+
? -event.wheelDeltaX
|
|
867
|
+
: 0
|
|
847
868
|
},
|
|
848
869
|
deltaY: function (event) {
|
|
849
|
-
return 'deltaY' in event
|
|
850
|
-
|
|
851
|
-
|
|
870
|
+
return 'deltaY' in event
|
|
871
|
+
? event.deltaY // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
|
|
872
|
+
: 'wheelDeltaY' in event
|
|
873
|
+
? -event.wheelDeltaY // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
|
|
874
|
+
: 'wheelDelta' in event
|
|
875
|
+
? -event.wheelDelta
|
|
876
|
+
: 0
|
|
852
877
|
},
|
|
853
878
|
deltaZ: 0,
|
|
854
879
|
// Browsers without "deltaMode" is reporting in raw wheel delta where one
|
|
855
880
|
// notch on the scroll is always +/- 120, roughly equivalent to pixels.
|
|
856
881
|
// A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or
|
|
857
882
|
// ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
|
|
858
|
-
deltaMode: 0
|
|
859
|
-
})
|
|
883
|
+
deltaMode: 0,
|
|
884
|
+
})
|
|
860
885
|
|
|
861
|
-
var SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface)
|
|
886
|
+
var SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface)
|
|
862
887
|
|
|
863
888
|
/**
|
|
864
889
|
* HTML nodeType values that represent the type of the node
|
|
865
890
|
*/
|
|
866
|
-
var ELEMENT_NODE = 1
|
|
891
|
+
var ELEMENT_NODE = 1
|
|
867
892
|
|
|
868
893
|
function invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {
|
|
869
|
-
var funcArgs = Array.prototype.slice.call(arguments, 3)
|
|
894
|
+
var funcArgs = Array.prototype.slice.call(arguments, 3)
|
|
870
895
|
|
|
871
896
|
try {
|
|
872
|
-
func.apply(context, funcArgs)
|
|
897
|
+
func.apply(context, funcArgs)
|
|
873
898
|
} catch (error) {
|
|
874
|
-
this.onError(error)
|
|
899
|
+
this.onError(error)
|
|
875
900
|
}
|
|
876
901
|
}
|
|
877
902
|
|
|
878
|
-
var invokeGuardedCallbackImpl = invokeGuardedCallbackProd
|
|
903
|
+
var invokeGuardedCallbackImpl = invokeGuardedCallbackProd
|
|
879
904
|
|
|
880
905
|
{
|
|
881
906
|
// In DEV mode, we swap out invokeGuardedCallback for a special version
|
|
@@ -898,60 +923,82 @@
|
|
|
898
923
|
// try-catch. Neat!
|
|
899
924
|
// Check that the browser supports the APIs we need to implement our special
|
|
900
925
|
// DEV version of invokeGuardedCallback
|
|
901
|
-
if (
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
926
|
+
if (
|
|
927
|
+
typeof window !== 'undefined' &&
|
|
928
|
+
typeof window.dispatchEvent === 'function' &&
|
|
929
|
+
typeof document !== 'undefined' &&
|
|
930
|
+
typeof document.createEvent === 'function'
|
|
931
|
+
) {
|
|
932
|
+
var fakeNode = document.createElement('react')
|
|
933
|
+
|
|
934
|
+
invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(
|
|
935
|
+
name,
|
|
936
|
+
func,
|
|
937
|
+
context,
|
|
938
|
+
a,
|
|
939
|
+
b,
|
|
940
|
+
c,
|
|
941
|
+
d,
|
|
942
|
+
e,
|
|
943
|
+
f
|
|
944
|
+
) {
|
|
905
945
|
// If document doesn't exist we know for sure we will crash in this method
|
|
906
946
|
// when we call document.createEvent(). However this can cause confusing
|
|
907
947
|
// errors: https://github.com/facebook/create-react-app/issues/3482
|
|
908
948
|
// So we preemptively throw with a better message instead.
|
|
909
949
|
if (typeof document === 'undefined' || document === null) {
|
|
910
|
-
throw new Error(
|
|
950
|
+
throw new Error(
|
|
951
|
+
'The `document` global was defined when React was initialized, but is not ' +
|
|
952
|
+
'defined anymore. This can happen in a test environment if a component ' +
|
|
953
|
+
'schedules an update from an asynchronous callback, but the test has already ' +
|
|
954
|
+
'finished running. To solve this, you can either unmount the component at ' +
|
|
955
|
+
'the end of your test (and ensure that any asynchronous operations get ' +
|
|
956
|
+
'canceled in `componentWillUnmount`), or you can change the test itself ' +
|
|
957
|
+
'to be asynchronous.'
|
|
958
|
+
)
|
|
911
959
|
}
|
|
912
960
|
|
|
913
|
-
var evt = document.createEvent('Event')
|
|
914
|
-
var didCall = false
|
|
961
|
+
var evt = document.createEvent('Event')
|
|
962
|
+
var didCall = false // Keeps track of whether the user-provided callback threw an error. We
|
|
915
963
|
// set this to true at the beginning, then set it to false right after
|
|
916
964
|
// calling the function. If the function errors, `didError` will never be
|
|
917
965
|
// set to false. This strategy works even if the browser is flaky and
|
|
918
966
|
// fails to call our global error handler, because it doesn't rely on
|
|
919
967
|
// the error event at all.
|
|
920
968
|
|
|
921
|
-
var didError = true
|
|
969
|
+
var didError = true // Keeps track of the value of window.event so that we can reset it
|
|
922
970
|
// during the callback to let user code access window.event in the
|
|
923
971
|
// browsers that support it.
|
|
924
972
|
|
|
925
|
-
var windowEvent = window.event
|
|
973
|
+
var windowEvent = window.event // Keeps track of the descriptor of window.event to restore it after event
|
|
926
974
|
// dispatching: https://github.com/facebook/react/issues/13688
|
|
927
975
|
|
|
928
|
-
var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event')
|
|
976
|
+
var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event')
|
|
929
977
|
|
|
930
978
|
function restoreAfterDispatch() {
|
|
931
979
|
// We immediately remove the callback from event listeners so that
|
|
932
980
|
// nested `invokeGuardedCallback` calls do not clash. Otherwise, a
|
|
933
981
|
// nested call would trigger the fake event handlers of any call higher
|
|
934
982
|
// in the stack.
|
|
935
|
-
fakeNode.removeEventListener(evtType, callCallback, false)
|
|
983
|
+
fakeNode.removeEventListener(evtType, callCallback, false) // We check for window.hasOwnProperty('event') to prevent the
|
|
936
984
|
// window.event assignment in both IE <= 10 as they throw an error
|
|
937
985
|
// "Member not found" in strict mode, and in Firefox which does not
|
|
938
986
|
// support window.event.
|
|
939
987
|
|
|
940
988
|
if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {
|
|
941
|
-
window.event = windowEvent
|
|
989
|
+
window.event = windowEvent
|
|
942
990
|
}
|
|
943
991
|
} // Create an event handler for our fake event. We will synchronously
|
|
944
992
|
// dispatch our fake event using `dispatchEvent`. Inside the handler, we
|
|
945
993
|
// call the user-provided callback.
|
|
946
994
|
|
|
947
|
-
|
|
948
|
-
var funcArgs = Array.prototype.slice.call(arguments, 3);
|
|
995
|
+
var funcArgs = Array.prototype.slice.call(arguments, 3)
|
|
949
996
|
|
|
950
997
|
function callCallback() {
|
|
951
|
-
didCall = true
|
|
952
|
-
restoreAfterDispatch()
|
|
953
|
-
func.apply(context, funcArgs)
|
|
954
|
-
didError = false
|
|
998
|
+
didCall = true
|
|
999
|
+
restoreAfterDispatch()
|
|
1000
|
+
func.apply(context, funcArgs)
|
|
1001
|
+
didError = false
|
|
955
1002
|
} // Create a global error event handler. We use this to capture the value
|
|
956
1003
|
// that was thrown. It's possible that this error handler will fire more
|
|
957
1004
|
// than once; for example, if non-React code also calls `dispatchEvent`
|
|
@@ -964,18 +1011,17 @@
|
|
|
964
1011
|
// the callback doesn't error, but the error event was fired, we know to
|
|
965
1012
|
// ignore it because `didError` will be false, as described above.
|
|
966
1013
|
|
|
1014
|
+
var error // Use this to track whether the error event is ever called.
|
|
967
1015
|
|
|
968
|
-
var
|
|
969
|
-
|
|
970
|
-
var didSetError = false;
|
|
971
|
-
var isCrossOriginError = false;
|
|
1016
|
+
var didSetError = false
|
|
1017
|
+
var isCrossOriginError = false
|
|
972
1018
|
|
|
973
1019
|
function handleWindowError(event) {
|
|
974
|
-
error = event.error
|
|
975
|
-
didSetError = true
|
|
1020
|
+
error = event.error
|
|
1021
|
+
didSetError = true
|
|
976
1022
|
|
|
977
1023
|
if (error === null && event.colno === 0 && event.lineno === 0) {
|
|
978
|
-
isCrossOriginError = true
|
|
1024
|
+
isCrossOriginError = true
|
|
979
1025
|
}
|
|
980
1026
|
|
|
981
1027
|
if (event.defaultPrevented) {
|
|
@@ -984,68 +1030,80 @@
|
|
|
984
1030
|
// We'll remember this to later decide whether to log it or not.
|
|
985
1031
|
if (error != null && typeof error === 'object') {
|
|
986
1032
|
try {
|
|
987
|
-
error._suppressLogging = true
|
|
988
|
-
} catch (inner) {
|
|
1033
|
+
error._suppressLogging = true
|
|
1034
|
+
} catch (inner) {
|
|
1035
|
+
// Ignore.
|
|
989
1036
|
}
|
|
990
1037
|
}
|
|
991
1038
|
}
|
|
992
1039
|
} // Create a fake event type.
|
|
993
1040
|
|
|
1041
|
+
var evtType = 'react-' + (name ? name : 'invokeguardedcallback') // Attach our event handlers
|
|
994
1042
|
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
window.addEventListener('error', handleWindowError);
|
|
998
|
-
fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function
|
|
1043
|
+
window.addEventListener('error', handleWindowError)
|
|
1044
|
+
fakeNode.addEventListener(evtType, callCallback, false) // Synchronously dispatch our fake event. If the user-provided function
|
|
999
1045
|
// errors, it will trigger our global error handler.
|
|
1000
1046
|
|
|
1001
|
-
evt.initEvent(evtType, false, false)
|
|
1002
|
-
fakeNode.dispatchEvent(evt)
|
|
1047
|
+
evt.initEvent(evtType, false, false)
|
|
1048
|
+
fakeNode.dispatchEvent(evt)
|
|
1003
1049
|
|
|
1004
1050
|
if (windowEventDescriptor) {
|
|
1005
|
-
Object.defineProperty(window, 'event', windowEventDescriptor)
|
|
1051
|
+
Object.defineProperty(window, 'event', windowEventDescriptor)
|
|
1006
1052
|
}
|
|
1007
1053
|
|
|
1008
1054
|
if (didCall && didError) {
|
|
1009
1055
|
if (!didSetError) {
|
|
1010
1056
|
// The callback errored, but the error event never fired.
|
|
1011
1057
|
// eslint-disable-next-line react-internal/prod-error-codes
|
|
1012
|
-
error = new Error(
|
|
1058
|
+
error = new Error(
|
|
1059
|
+
'An error was thrown inside one of your components, but React ' +
|
|
1060
|
+
"doesn't know what it was. This is likely due to browser " +
|
|
1061
|
+
'flakiness. React does its best to preserve the "Pause on ' +
|
|
1062
|
+
'exceptions" behavior of the DevTools, which requires some ' +
|
|
1063
|
+
"DEV-mode only tricks. It's possible that these don't work in " +
|
|
1064
|
+
'your browser. Try triggering the error in production mode, ' +
|
|
1065
|
+
'or switching to a modern browser. If you suspect that this is ' +
|
|
1066
|
+
'actually an issue with React, please file an issue.'
|
|
1067
|
+
)
|
|
1013
1068
|
} else if (isCrossOriginError) {
|
|
1014
1069
|
// eslint-disable-next-line react-internal/prod-error-codes
|
|
1015
|
-
error = new Error(
|
|
1070
|
+
error = new Error(
|
|
1071
|
+
"A cross-origin error was thrown. React doesn't have access to " +
|
|
1072
|
+
'the actual error object in development. ' +
|
|
1073
|
+
'See https://reactjs.org/link/crossorigin-error for more information.'
|
|
1074
|
+
)
|
|
1016
1075
|
}
|
|
1017
1076
|
|
|
1018
|
-
this.onError(error)
|
|
1077
|
+
this.onError(error)
|
|
1019
1078
|
} // Remove our event listeners
|
|
1020
1079
|
|
|
1021
|
-
|
|
1022
|
-
window.removeEventListener('error', handleWindowError);
|
|
1080
|
+
window.removeEventListener('error', handleWindowError)
|
|
1023
1081
|
|
|
1024
1082
|
if (!didCall) {
|
|
1025
1083
|
// Something went really wrong, and our event was not dispatched.
|
|
1026
1084
|
// https://github.com/facebook/react/issues/16734
|
|
1027
1085
|
// https://github.com/facebook/react/issues/16585
|
|
1028
1086
|
// Fall back to the production implementation.
|
|
1029
|
-
restoreAfterDispatch()
|
|
1030
|
-
return invokeGuardedCallbackProd.apply(this, arguments)
|
|
1087
|
+
restoreAfterDispatch()
|
|
1088
|
+
return invokeGuardedCallbackProd.apply(this, arguments)
|
|
1031
1089
|
}
|
|
1032
|
-
}
|
|
1090
|
+
}
|
|
1033
1091
|
}
|
|
1034
1092
|
}
|
|
1035
1093
|
|
|
1036
|
-
var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl
|
|
1094
|
+
var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl
|
|
1037
1095
|
|
|
1038
|
-
var hasError = false
|
|
1039
|
-
var caughtError = null
|
|
1096
|
+
var hasError = false
|
|
1097
|
+
var caughtError = null // Used by event system to capture/rethrow the first error.
|
|
1040
1098
|
|
|
1041
|
-
var hasRethrowError = false
|
|
1042
|
-
var rethrowError = null
|
|
1099
|
+
var hasRethrowError = false
|
|
1100
|
+
var rethrowError = null
|
|
1043
1101
|
var reporter = {
|
|
1044
1102
|
onError: function (error) {
|
|
1045
|
-
hasError = true
|
|
1046
|
-
caughtError = error
|
|
1047
|
-
}
|
|
1048
|
-
}
|
|
1103
|
+
hasError = true
|
|
1104
|
+
caughtError = error
|
|
1105
|
+
},
|
|
1106
|
+
}
|
|
1049
1107
|
/**
|
|
1050
1108
|
* Call a function while guarding against errors that happens within it.
|
|
1051
1109
|
* Returns an error if it throws, otherwise null.
|
|
@@ -1061,9 +1119,9 @@
|
|
|
1061
1119
|
*/
|
|
1062
1120
|
|
|
1063
1121
|
function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
|
|
1064
|
-
hasError = false
|
|
1065
|
-
caughtError = null
|
|
1066
|
-
invokeGuardedCallbackImpl$1.apply(reporter, arguments)
|
|
1122
|
+
hasError = false
|
|
1123
|
+
caughtError = null
|
|
1124
|
+
invokeGuardedCallbackImpl$1.apply(reporter, arguments)
|
|
1067
1125
|
}
|
|
1068
1126
|
/**
|
|
1069
1127
|
* Same as invokeGuardedCallback, but instead of returning an error, it stores
|
|
@@ -1076,15 +1134,25 @@
|
|
|
1076
1134
|
* @param {...*} args Arguments for function
|
|
1077
1135
|
*/
|
|
1078
1136
|
|
|
1079
|
-
function invokeGuardedCallbackAndCatchFirstError(
|
|
1080
|
-
|
|
1137
|
+
function invokeGuardedCallbackAndCatchFirstError(
|
|
1138
|
+
name,
|
|
1139
|
+
func,
|
|
1140
|
+
context,
|
|
1141
|
+
a,
|
|
1142
|
+
b,
|
|
1143
|
+
c,
|
|
1144
|
+
d,
|
|
1145
|
+
e,
|
|
1146
|
+
f
|
|
1147
|
+
) {
|
|
1148
|
+
invokeGuardedCallback.apply(this, arguments)
|
|
1081
1149
|
|
|
1082
1150
|
if (hasError) {
|
|
1083
|
-
var error = clearCaughtError()
|
|
1151
|
+
var error = clearCaughtError()
|
|
1084
1152
|
|
|
1085
1153
|
if (!hasRethrowError) {
|
|
1086
|
-
hasRethrowError = true
|
|
1087
|
-
rethrowError = error
|
|
1154
|
+
hasRethrowError = true
|
|
1155
|
+
rethrowError = error
|
|
1088
1156
|
}
|
|
1089
1157
|
}
|
|
1090
1158
|
}
|
|
@@ -1095,116 +1163,128 @@
|
|
|
1095
1163
|
|
|
1096
1164
|
function rethrowCaughtError() {
|
|
1097
1165
|
if (hasRethrowError) {
|
|
1098
|
-
var error = rethrowError
|
|
1099
|
-
hasRethrowError = false
|
|
1100
|
-
rethrowError = null
|
|
1101
|
-
throw error
|
|
1166
|
+
var error = rethrowError
|
|
1167
|
+
hasRethrowError = false
|
|
1168
|
+
rethrowError = null
|
|
1169
|
+
throw error
|
|
1102
1170
|
}
|
|
1103
1171
|
}
|
|
1104
1172
|
function clearCaughtError() {
|
|
1105
1173
|
if (hasError) {
|
|
1106
|
-
var error = caughtError
|
|
1107
|
-
hasError = false
|
|
1108
|
-
caughtError = null
|
|
1109
|
-
return error
|
|
1174
|
+
var error = caughtError
|
|
1175
|
+
hasError = false
|
|
1176
|
+
caughtError = null
|
|
1177
|
+
return error
|
|
1110
1178
|
} else {
|
|
1111
|
-
throw new Error(
|
|
1179
|
+
throw new Error(
|
|
1180
|
+
'clearCaughtError was called but no error was captured. This error ' +
|
|
1181
|
+
'is likely caused by a bug in React. Please file an issue.'
|
|
1182
|
+
)
|
|
1112
1183
|
}
|
|
1113
1184
|
}
|
|
1114
1185
|
|
|
1115
|
-
var isArrayImpl = Array.isArray
|
|
1186
|
+
var isArrayImpl = Array.isArray // eslint-disable-next-line no-redeclare
|
|
1116
1187
|
|
|
1117
1188
|
function isArray(a) {
|
|
1118
|
-
return isArrayImpl(a)
|
|
1189
|
+
return isArrayImpl(a)
|
|
1119
1190
|
}
|
|
1120
1191
|
|
|
1121
|
-
var SecretInternals = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
|
|
1122
|
-
var EventInternals = SecretInternals.Events
|
|
1123
|
-
var getInstanceFromNode = EventInternals[0]
|
|
1124
|
-
var getNodeFromInstance = EventInternals[1]
|
|
1125
|
-
var getFiberCurrentPropsFromNode = EventInternals[2]
|
|
1126
|
-
var enqueueStateRestore = EventInternals[3]
|
|
1127
|
-
var restoreStateIfNeeded = EventInternals[4]
|
|
1128
|
-
var reactAct = React.unstable_act
|
|
1192
|
+
var SecretInternals = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
|
|
1193
|
+
var EventInternals = SecretInternals.Events
|
|
1194
|
+
var getInstanceFromNode = EventInternals[0]
|
|
1195
|
+
var getNodeFromInstance = EventInternals[1]
|
|
1196
|
+
var getFiberCurrentPropsFromNode = EventInternals[2]
|
|
1197
|
+
var enqueueStateRestore = EventInternals[3]
|
|
1198
|
+
var restoreStateIfNeeded = EventInternals[4]
|
|
1199
|
+
var reactAct = React.unstable_act
|
|
1129
1200
|
|
|
1130
1201
|
function Event(suffix) {}
|
|
1131
1202
|
|
|
1132
|
-
var hasWarnedAboutDeprecatedMockComponent = false
|
|
1203
|
+
var hasWarnedAboutDeprecatedMockComponent = false
|
|
1133
1204
|
/**
|
|
1134
1205
|
* @class ReactTestUtils
|
|
1135
1206
|
*/
|
|
1136
1207
|
|
|
1137
1208
|
function findAllInRenderedFiberTreeInternal(fiber, test) {
|
|
1138
1209
|
if (!fiber) {
|
|
1139
|
-
return []
|
|
1210
|
+
return []
|
|
1140
1211
|
}
|
|
1141
1212
|
|
|
1142
|
-
var currentParent = findCurrentFiberUsingSlowPath(fiber)
|
|
1213
|
+
var currentParent = findCurrentFiberUsingSlowPath(fiber)
|
|
1143
1214
|
|
|
1144
1215
|
if (!currentParent) {
|
|
1145
|
-
return []
|
|
1216
|
+
return []
|
|
1146
1217
|
}
|
|
1147
1218
|
|
|
1148
|
-
var node = currentParent
|
|
1149
|
-
var ret = []
|
|
1219
|
+
var node = currentParent
|
|
1220
|
+
var ret = []
|
|
1150
1221
|
|
|
1151
1222
|
while (true) {
|
|
1152
|
-
if (
|
|
1153
|
-
|
|
1223
|
+
if (
|
|
1224
|
+
node.tag === HostComponent ||
|
|
1225
|
+
node.tag === HostText ||
|
|
1226
|
+
node.tag === ClassComponent ||
|
|
1227
|
+
node.tag === FunctionComponent
|
|
1228
|
+
) {
|
|
1229
|
+
var publicInst = node.stateNode
|
|
1154
1230
|
|
|
1155
1231
|
if (test(publicInst)) {
|
|
1156
|
-
ret.push(publicInst)
|
|
1232
|
+
ret.push(publicInst)
|
|
1157
1233
|
}
|
|
1158
1234
|
}
|
|
1159
1235
|
|
|
1160
1236
|
if (node.child) {
|
|
1161
|
-
node.child.return = node
|
|
1162
|
-
node = node.child
|
|
1163
|
-
continue
|
|
1237
|
+
node.child.return = node
|
|
1238
|
+
node = node.child
|
|
1239
|
+
continue
|
|
1164
1240
|
}
|
|
1165
1241
|
|
|
1166
1242
|
if (node === currentParent) {
|
|
1167
|
-
return ret
|
|
1243
|
+
return ret
|
|
1168
1244
|
}
|
|
1169
1245
|
|
|
1170
1246
|
while (!node.sibling) {
|
|
1171
1247
|
if (!node.return || node.return === currentParent) {
|
|
1172
|
-
return ret
|
|
1248
|
+
return ret
|
|
1173
1249
|
}
|
|
1174
1250
|
|
|
1175
|
-
node = node.return
|
|
1251
|
+
node = node.return
|
|
1176
1252
|
}
|
|
1177
1253
|
|
|
1178
|
-
node.sibling.return = node.return
|
|
1179
|
-
node = node.sibling
|
|
1254
|
+
node.sibling.return = node.return
|
|
1255
|
+
node = node.sibling
|
|
1180
1256
|
}
|
|
1181
1257
|
}
|
|
1182
1258
|
|
|
1183
1259
|
function validateClassInstance(inst, methodName) {
|
|
1184
1260
|
if (!inst) {
|
|
1185
1261
|
// This is probably too relaxed but it's existing behavior.
|
|
1186
|
-
return
|
|
1262
|
+
return
|
|
1187
1263
|
}
|
|
1188
1264
|
|
|
1189
1265
|
if (get(inst)) {
|
|
1190
1266
|
// This is a public instance indeed.
|
|
1191
|
-
return
|
|
1267
|
+
return
|
|
1192
1268
|
}
|
|
1193
1269
|
|
|
1194
|
-
var received
|
|
1195
|
-
var stringified = String(inst)
|
|
1270
|
+
var received
|
|
1271
|
+
var stringified = String(inst)
|
|
1196
1272
|
|
|
1197
1273
|
if (isArray(inst)) {
|
|
1198
|
-
received = 'an array'
|
|
1274
|
+
received = 'an array'
|
|
1199
1275
|
} else if (inst && inst.nodeType === ELEMENT_NODE && inst.tagName) {
|
|
1200
|
-
received = 'a DOM node'
|
|
1276
|
+
received = 'a DOM node'
|
|
1201
1277
|
} else if (stringified === '[object Object]') {
|
|
1202
|
-
received = 'object with keys {' + Object.keys(inst).join(', ') + '}'
|
|
1278
|
+
received = 'object with keys {' + Object.keys(inst).join(', ') + '}'
|
|
1203
1279
|
} else {
|
|
1204
|
-
received = stringified
|
|
1280
|
+
received = stringified
|
|
1205
1281
|
}
|
|
1206
1282
|
|
|
1207
|
-
throw new Error(
|
|
1283
|
+
throw new Error(
|
|
1284
|
+
methodName +
|
|
1285
|
+
'(...): the first argument must be a React class instance. ' +
|
|
1286
|
+
('Instead received: ' + received + '.')
|
|
1287
|
+
)
|
|
1208
1288
|
}
|
|
1209
1289
|
/**
|
|
1210
1290
|
* Utilities for making it easy to test React components.
|
|
@@ -1216,72 +1296,81 @@
|
|
|
1216
1296
|
* @lends ReactTestUtils
|
|
1217
1297
|
*/
|
|
1218
1298
|
|
|
1219
|
-
|
|
1220
|
-
var didWarnAboutReactTestUtilsDeprecation = false;
|
|
1299
|
+
var didWarnAboutReactTestUtilsDeprecation = false
|
|
1221
1300
|
|
|
1222
1301
|
function renderIntoDocument(element) {
|
|
1223
1302
|
{
|
|
1224
1303
|
if (!didWarnAboutReactTestUtilsDeprecation) {
|
|
1225
|
-
didWarnAboutReactTestUtilsDeprecation = true
|
|
1226
|
-
|
|
1227
|
-
error(
|
|
1304
|
+
didWarnAboutReactTestUtilsDeprecation = true
|
|
1305
|
+
|
|
1306
|
+
error(
|
|
1307
|
+
'ReactDOMTestUtils is deprecated and will be removed in a future ' +
|
|
1308
|
+
'major release, because it exposes internal implementation details ' +
|
|
1309
|
+
'that are highly likely to change between releases. Upgrade to a ' +
|
|
1310
|
+
'modern testing library, such as @testing-library/react. See ' +
|
|
1311
|
+
'https://react.dev/warnings/react-dom-test-utils for more info.'
|
|
1312
|
+
)
|
|
1228
1313
|
}
|
|
1229
1314
|
}
|
|
1230
1315
|
|
|
1231
|
-
var div = document.createElement('div')
|
|
1316
|
+
var div = document.createElement('div') // None of our tests actually require attaching the container to the
|
|
1232
1317
|
// DOM, and doing so creates a mess that we rely on test isolation to
|
|
1233
1318
|
// clean up, so we're going to stop honoring the name of this method
|
|
1234
1319
|
// (and probably rename it eventually) if no problems arise.
|
|
1235
1320
|
// document.documentElement.appendChild(div);
|
|
1236
1321
|
|
|
1237
|
-
return ReactDOM.render(element, div)
|
|
1322
|
+
return ReactDOM.render(element, div)
|
|
1238
1323
|
}
|
|
1239
1324
|
|
|
1240
1325
|
function isElement(element) {
|
|
1241
|
-
return React.isValidElement(element)
|
|
1326
|
+
return React.isValidElement(element)
|
|
1242
1327
|
}
|
|
1243
1328
|
|
|
1244
1329
|
function isElementOfType(inst, convenienceConstructor) {
|
|
1245
|
-
return React.isValidElement(inst) && inst.type === convenienceConstructor
|
|
1330
|
+
return React.isValidElement(inst) && inst.type === convenienceConstructor
|
|
1246
1331
|
}
|
|
1247
1332
|
|
|
1248
1333
|
function isDOMComponent(inst) {
|
|
1249
|
-
return !!(inst && inst.nodeType === ELEMENT_NODE && inst.tagName)
|
|
1334
|
+
return !!(inst && inst.nodeType === ELEMENT_NODE && inst.tagName)
|
|
1250
1335
|
}
|
|
1251
1336
|
|
|
1252
1337
|
function isDOMComponentElement(inst) {
|
|
1253
|
-
return !!(inst && React.isValidElement(inst) && !!inst.tagName)
|
|
1338
|
+
return !!(inst && React.isValidElement(inst) && !!inst.tagName)
|
|
1254
1339
|
}
|
|
1255
1340
|
|
|
1256
1341
|
function isCompositeComponent(inst) {
|
|
1257
1342
|
if (isDOMComponent(inst)) {
|
|
1258
1343
|
// Accessing inst.setState warns; just return false as that'll be what
|
|
1259
1344
|
// this returns when we have DOM nodes as refs directly
|
|
1260
|
-
return false
|
|
1345
|
+
return false
|
|
1261
1346
|
}
|
|
1262
1347
|
|
|
1263
|
-
return
|
|
1348
|
+
return (
|
|
1349
|
+
inst != null &&
|
|
1350
|
+
typeof inst.render === 'function' &&
|
|
1351
|
+
typeof inst.setState === 'function'
|
|
1352
|
+
)
|
|
1264
1353
|
}
|
|
1265
1354
|
|
|
1266
1355
|
function isCompositeComponentWithType(inst, type) {
|
|
1267
1356
|
if (!isCompositeComponent(inst)) {
|
|
1268
|
-
return false
|
|
1357
|
+
return false
|
|
1269
1358
|
}
|
|
1270
1359
|
|
|
1271
|
-
var internalInstance = get(inst)
|
|
1272
|
-
var constructor = internalInstance.type
|
|
1273
|
-
return constructor === type
|
|
1360
|
+
var internalInstance = get(inst)
|
|
1361
|
+
var constructor = internalInstance.type
|
|
1362
|
+
return constructor === type
|
|
1274
1363
|
}
|
|
1275
1364
|
|
|
1276
1365
|
function findAllInRenderedTree(inst, test) {
|
|
1277
|
-
validateClassInstance(inst, 'findAllInRenderedTree')
|
|
1366
|
+
validateClassInstance(inst, 'findAllInRenderedTree')
|
|
1278
1367
|
|
|
1279
1368
|
if (!inst) {
|
|
1280
|
-
return []
|
|
1369
|
+
return []
|
|
1281
1370
|
}
|
|
1282
1371
|
|
|
1283
|
-
var internalInstance = get(inst)
|
|
1284
|
-
return findAllInRenderedFiberTreeInternal(internalInstance, test)
|
|
1372
|
+
var internalInstance = get(inst)
|
|
1373
|
+
return findAllInRenderedFiberTreeInternal(internalInstance, test)
|
|
1285
1374
|
}
|
|
1286
1375
|
/**
|
|
1287
1376
|
* Finds all instances of components in the rendered tree that are DOM
|
|
@@ -1289,35 +1378,37 @@
|
|
|
1289
1378
|
* @return {array} an array of all the matches.
|
|
1290
1379
|
*/
|
|
1291
1380
|
|
|
1292
|
-
|
|
1293
1381
|
function scryRenderedDOMComponentsWithClass(root, classNames) {
|
|
1294
|
-
validateClassInstance(root, 'scryRenderedDOMComponentsWithClass')
|
|
1382
|
+
validateClassInstance(root, 'scryRenderedDOMComponentsWithClass')
|
|
1295
1383
|
return findAllInRenderedTree(root, function (inst) {
|
|
1296
1384
|
if (isDOMComponent(inst)) {
|
|
1297
|
-
var className = inst.className
|
|
1385
|
+
var className = inst.className
|
|
1298
1386
|
|
|
1299
1387
|
if (typeof className !== 'string') {
|
|
1300
1388
|
// SVG, probably.
|
|
1301
|
-
className = inst.getAttribute('class') || ''
|
|
1389
|
+
className = inst.getAttribute('class') || ''
|
|
1302
1390
|
}
|
|
1303
1391
|
|
|
1304
|
-
var classList = className.split(/\s+/)
|
|
1392
|
+
var classList = className.split(/\s+/)
|
|
1305
1393
|
|
|
1306
1394
|
if (!isArray(classNames)) {
|
|
1307
1395
|
if (classNames === undefined) {
|
|
1308
|
-
throw new Error(
|
|
1396
|
+
throw new Error(
|
|
1397
|
+
'TestUtils.scryRenderedDOMComponentsWithClass expects a ' +
|
|
1398
|
+
'className as a second argument.'
|
|
1399
|
+
)
|
|
1309
1400
|
}
|
|
1310
1401
|
|
|
1311
|
-
classNames = classNames.split(/\s+/)
|
|
1402
|
+
classNames = classNames.split(/\s+/)
|
|
1312
1403
|
}
|
|
1313
1404
|
|
|
1314
1405
|
return classNames.every(function (name) {
|
|
1315
|
-
return classList.indexOf(name) !== -1
|
|
1316
|
-
})
|
|
1406
|
+
return classList.indexOf(name) !== -1
|
|
1407
|
+
})
|
|
1317
1408
|
}
|
|
1318
1409
|
|
|
1319
|
-
return false
|
|
1320
|
-
})
|
|
1410
|
+
return false
|
|
1411
|
+
})
|
|
1321
1412
|
}
|
|
1322
1413
|
/**
|
|
1323
1414
|
* Like scryRenderedDOMComponentsWithClass but expects there to be one result,
|
|
@@ -1326,16 +1417,21 @@
|
|
|
1326
1417
|
* @return {!ReactDOMComponent} The one match.
|
|
1327
1418
|
*/
|
|
1328
1419
|
|
|
1329
|
-
|
|
1330
1420
|
function findRenderedDOMComponentWithClass(root, className) {
|
|
1331
|
-
validateClassInstance(root, 'findRenderedDOMComponentWithClass')
|
|
1332
|
-
var all = scryRenderedDOMComponentsWithClass(root, className)
|
|
1421
|
+
validateClassInstance(root, 'findRenderedDOMComponentWithClass')
|
|
1422
|
+
var all = scryRenderedDOMComponentsWithClass(root, className)
|
|
1333
1423
|
|
|
1334
1424
|
if (all.length !== 1) {
|
|
1335
|
-
throw new Error(
|
|
1425
|
+
throw new Error(
|
|
1426
|
+
'Did not find exactly one match (found: ' +
|
|
1427
|
+
all.length +
|
|
1428
|
+
') ' +
|
|
1429
|
+
'for class:' +
|
|
1430
|
+
className
|
|
1431
|
+
)
|
|
1336
1432
|
}
|
|
1337
1433
|
|
|
1338
|
-
return all[0]
|
|
1434
|
+
return all[0]
|
|
1339
1435
|
}
|
|
1340
1436
|
/**
|
|
1341
1437
|
* Finds all instances of components in the rendered tree that are DOM
|
|
@@ -1343,12 +1439,11 @@
|
|
|
1343
1439
|
* @return {array} an array of all the matches.
|
|
1344
1440
|
*/
|
|
1345
1441
|
|
|
1346
|
-
|
|
1347
1442
|
function scryRenderedDOMComponentsWithTag(root, tagName) {
|
|
1348
|
-
validateClassInstance(root, 'scryRenderedDOMComponentsWithTag')
|
|
1443
|
+
validateClassInstance(root, 'scryRenderedDOMComponentsWithTag')
|
|
1349
1444
|
return findAllInRenderedTree(root, function (inst) {
|
|
1350
|
-
return isDOMComponent(inst) && inst.tagName.toUpperCase() === tagName.toUpperCase()
|
|
1351
|
-
})
|
|
1445
|
+
return isDOMComponent(inst) && inst.tagName.toUpperCase() === tagName.toUpperCase()
|
|
1446
|
+
})
|
|
1352
1447
|
}
|
|
1353
1448
|
/**
|
|
1354
1449
|
* Like scryRenderedDOMComponentsWithTag but expects there to be one result,
|
|
@@ -1357,28 +1452,32 @@
|
|
|
1357
1452
|
* @return {!ReactDOMComponent} The one match.
|
|
1358
1453
|
*/
|
|
1359
1454
|
|
|
1360
|
-
|
|
1361
1455
|
function findRenderedDOMComponentWithTag(root, tagName) {
|
|
1362
|
-
validateClassInstance(root, 'findRenderedDOMComponentWithTag')
|
|
1363
|
-
var all = scryRenderedDOMComponentsWithTag(root, tagName)
|
|
1456
|
+
validateClassInstance(root, 'findRenderedDOMComponentWithTag')
|
|
1457
|
+
var all = scryRenderedDOMComponentsWithTag(root, tagName)
|
|
1364
1458
|
|
|
1365
1459
|
if (all.length !== 1) {
|
|
1366
|
-
throw new Error(
|
|
1460
|
+
throw new Error(
|
|
1461
|
+
'Did not find exactly one match (found: ' +
|
|
1462
|
+
all.length +
|
|
1463
|
+
') ' +
|
|
1464
|
+
'for tag:' +
|
|
1465
|
+
tagName
|
|
1466
|
+
)
|
|
1367
1467
|
}
|
|
1368
1468
|
|
|
1369
|
-
return all[0]
|
|
1469
|
+
return all[0]
|
|
1370
1470
|
}
|
|
1371
1471
|
/**
|
|
1372
1472
|
* Finds all instances of components with type equal to `componentType`.
|
|
1373
1473
|
* @return {array} an array of all the matches.
|
|
1374
1474
|
*/
|
|
1375
1475
|
|
|
1376
|
-
|
|
1377
1476
|
function scryRenderedComponentsWithType(root, componentType) {
|
|
1378
|
-
validateClassInstance(root, 'scryRenderedComponentsWithType')
|
|
1477
|
+
validateClassInstance(root, 'scryRenderedComponentsWithType')
|
|
1379
1478
|
return findAllInRenderedTree(root, function (inst) {
|
|
1380
|
-
return isCompositeComponentWithType(inst, componentType)
|
|
1381
|
-
})
|
|
1479
|
+
return isCompositeComponentWithType(inst, componentType)
|
|
1480
|
+
})
|
|
1382
1481
|
}
|
|
1383
1482
|
/**
|
|
1384
1483
|
* Same as `scryRenderedComponentsWithType` but expects there to be one result
|
|
@@ -1387,16 +1486,21 @@
|
|
|
1387
1486
|
* @return {!ReactComponent} The one match.
|
|
1388
1487
|
*/
|
|
1389
1488
|
|
|
1390
|
-
|
|
1391
1489
|
function findRenderedComponentWithType(root, componentType) {
|
|
1392
|
-
validateClassInstance(root, 'findRenderedComponentWithType')
|
|
1393
|
-
var all = scryRenderedComponentsWithType(root, componentType)
|
|
1490
|
+
validateClassInstance(root, 'findRenderedComponentWithType')
|
|
1491
|
+
var all = scryRenderedComponentsWithType(root, componentType)
|
|
1394
1492
|
|
|
1395
1493
|
if (all.length !== 1) {
|
|
1396
|
-
throw new Error(
|
|
1494
|
+
throw new Error(
|
|
1495
|
+
'Did not find exactly one match (found: ' +
|
|
1496
|
+
all.length +
|
|
1497
|
+
') ' +
|
|
1498
|
+
'for componentType:' +
|
|
1499
|
+
componentType
|
|
1500
|
+
)
|
|
1397
1501
|
}
|
|
1398
1502
|
|
|
1399
|
-
return all[0]
|
|
1503
|
+
return all[0]
|
|
1400
1504
|
}
|
|
1401
1505
|
/**
|
|
1402
1506
|
* Pass a mocked component module to this method to augment it with
|
|
@@ -1412,30 +1516,35 @@
|
|
|
1412
1516
|
* @return {object} the ReactTestUtils object (for chaining)
|
|
1413
1517
|
*/
|
|
1414
1518
|
|
|
1415
|
-
|
|
1416
1519
|
function mockComponent(module, mockTagName) {
|
|
1417
1520
|
{
|
|
1418
1521
|
if (!hasWarnedAboutDeprecatedMockComponent) {
|
|
1419
|
-
hasWarnedAboutDeprecatedMockComponent = true
|
|
1522
|
+
hasWarnedAboutDeprecatedMockComponent = true
|
|
1420
1523
|
|
|
1421
|
-
warn(
|
|
1524
|
+
warn(
|
|
1525
|
+
'ReactTestUtils.mockComponent() is deprecated. ' +
|
|
1526
|
+
'Use shallow rendering or jest.mock() instead.\n\n' +
|
|
1527
|
+
'See https://reactjs.org/link/test-utils-mock-component for more information.'
|
|
1528
|
+
)
|
|
1422
1529
|
}
|
|
1423
1530
|
}
|
|
1424
1531
|
|
|
1425
|
-
mockTagName = mockTagName || module.mockTagName || 'div'
|
|
1532
|
+
mockTagName = mockTagName || module.mockTagName || 'div'
|
|
1426
1533
|
module.prototype.render.mockImplementation(function () {
|
|
1427
|
-
return React.createElement(mockTagName, null, this.props.children)
|
|
1428
|
-
})
|
|
1429
|
-
return this
|
|
1534
|
+
return React.createElement(mockTagName, null, this.props.children)
|
|
1535
|
+
})
|
|
1536
|
+
return this
|
|
1430
1537
|
}
|
|
1431
1538
|
|
|
1432
1539
|
function nativeTouchData(x, y) {
|
|
1433
1540
|
return {
|
|
1434
|
-
touches: [
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1541
|
+
touches: [
|
|
1542
|
+
{
|
|
1543
|
+
pageX: x,
|
|
1544
|
+
pageY: y,
|
|
1545
|
+
},
|
|
1546
|
+
],
|
|
1547
|
+
}
|
|
1439
1548
|
} // Start of inline: the below functions were inlined from
|
|
1440
1549
|
// EventPropagator.js, as they deviated from ReactDOM's newer
|
|
1441
1550
|
// implementations.
|
|
@@ -1447,37 +1556,34 @@
|
|
|
1447
1556
|
* @param {*} inst Internal component instance
|
|
1448
1557
|
*/
|
|
1449
1558
|
|
|
1450
|
-
|
|
1451
1559
|
function executeDispatch(event, listener, inst) {
|
|
1452
|
-
var type = event.type || 'unknown-event'
|
|
1453
|
-
event.currentTarget = getNodeFromInstance(inst)
|
|
1454
|
-
invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event)
|
|
1455
|
-
event.currentTarget = null
|
|
1560
|
+
var type = event.type || 'unknown-event'
|
|
1561
|
+
event.currentTarget = getNodeFromInstance(inst)
|
|
1562
|
+
invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event)
|
|
1563
|
+
event.currentTarget = null
|
|
1456
1564
|
}
|
|
1457
1565
|
/**
|
|
1458
1566
|
* Standard/simple iteration through an event's collected dispatches.
|
|
1459
1567
|
*/
|
|
1460
1568
|
|
|
1461
|
-
|
|
1462
1569
|
function executeDispatchesInOrder(event) {
|
|
1463
|
-
var dispatchListeners = event._dispatchListeners
|
|
1464
|
-
var dispatchInstances = event._dispatchInstances
|
|
1570
|
+
var dispatchListeners = event._dispatchListeners
|
|
1571
|
+
var dispatchInstances = event._dispatchInstances
|
|
1465
1572
|
|
|
1466
1573
|
if (isArray(dispatchListeners)) {
|
|
1467
1574
|
for (var i = 0; i < dispatchListeners.length; i++) {
|
|
1468
1575
|
if (event.isPropagationStopped()) {
|
|
1469
|
-
break
|
|
1576
|
+
break
|
|
1470
1577
|
} // Listeners and Instances are two parallel arrays that are always in sync.
|
|
1471
1578
|
|
|
1472
|
-
|
|
1473
|
-
executeDispatch(event, dispatchListeners[i], dispatchInstances[i]);
|
|
1579
|
+
executeDispatch(event, dispatchListeners[i], dispatchInstances[i])
|
|
1474
1580
|
}
|
|
1475
1581
|
} else if (dispatchListeners) {
|
|
1476
|
-
executeDispatch(event, dispatchListeners, dispatchInstances)
|
|
1582
|
+
executeDispatch(event, dispatchListeners, dispatchInstances)
|
|
1477
1583
|
}
|
|
1478
1584
|
|
|
1479
|
-
event._dispatchListeners = null
|
|
1480
|
-
event._dispatchInstances = null
|
|
1585
|
+
event._dispatchListeners = null
|
|
1586
|
+
event._dispatchInstances = null
|
|
1481
1587
|
}
|
|
1482
1588
|
/**
|
|
1483
1589
|
* Dispatches an event and releases it back into the pool, unless persistent.
|
|
@@ -1486,57 +1592,55 @@
|
|
|
1486
1592
|
* @private
|
|
1487
1593
|
*/
|
|
1488
1594
|
|
|
1489
|
-
|
|
1490
1595
|
var executeDispatchesAndRelease = function (event) {
|
|
1491
1596
|
if (event) {
|
|
1492
|
-
executeDispatchesInOrder(event)
|
|
1597
|
+
executeDispatchesInOrder(event)
|
|
1493
1598
|
|
|
1494
1599
|
if (!event.isPersistent()) {
|
|
1495
|
-
event.constructor.release(event)
|
|
1600
|
+
event.constructor.release(event)
|
|
1496
1601
|
}
|
|
1497
1602
|
}
|
|
1498
|
-
}
|
|
1603
|
+
}
|
|
1499
1604
|
|
|
1500
1605
|
function isInteractive(tag) {
|
|
1501
|
-
return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'
|
|
1606
|
+
return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'
|
|
1502
1607
|
}
|
|
1503
1608
|
|
|
1504
1609
|
function getParent(inst) {
|
|
1505
1610
|
do {
|
|
1506
|
-
inst = inst.return
|
|
1611
|
+
inst = inst.return // TODO: If this is a HostRoot we might want to bail out.
|
|
1507
1612
|
// That is depending on if we want nested subtrees (layers) to bubble
|
|
1508
1613
|
// events to their parent. We could also go through parentNode on the
|
|
1509
1614
|
// host node but that wouldn't work for React Native and doesn't let us
|
|
1510
1615
|
// do the portal feature.
|
|
1511
|
-
} while (inst && inst.tag !== HostComponent)
|
|
1616
|
+
} while (inst && inst.tag !== HostComponent)
|
|
1512
1617
|
|
|
1513
1618
|
if (inst) {
|
|
1514
|
-
return inst
|
|
1619
|
+
return inst
|
|
1515
1620
|
}
|
|
1516
1621
|
|
|
1517
|
-
return null
|
|
1622
|
+
return null
|
|
1518
1623
|
}
|
|
1519
1624
|
/**
|
|
1520
1625
|
* Simulates the traversal of a two-phase, capture/bubble event dispatch.
|
|
1521
1626
|
*/
|
|
1522
1627
|
|
|
1523
|
-
|
|
1524
1628
|
function traverseTwoPhase(inst, fn, arg) {
|
|
1525
|
-
var path = []
|
|
1629
|
+
var path = []
|
|
1526
1630
|
|
|
1527
1631
|
while (inst) {
|
|
1528
|
-
path.push(inst)
|
|
1529
|
-
inst = getParent(inst)
|
|
1632
|
+
path.push(inst)
|
|
1633
|
+
inst = getParent(inst)
|
|
1530
1634
|
}
|
|
1531
1635
|
|
|
1532
|
-
var i
|
|
1636
|
+
var i
|
|
1533
1637
|
|
|
1534
|
-
for (i = path.length; i-- > 0;) {
|
|
1535
|
-
fn(path[i], 'captured', arg)
|
|
1638
|
+
for (i = path.length; i-- > 0; ) {
|
|
1639
|
+
fn(path[i], 'captured', arg)
|
|
1536
1640
|
}
|
|
1537
1641
|
|
|
1538
1642
|
for (i = 0; i < path.length; i++) {
|
|
1539
|
-
fn(path[i], 'bubbled', arg)
|
|
1643
|
+
fn(path[i], 'bubbled', arg)
|
|
1540
1644
|
}
|
|
1541
1645
|
}
|
|
1542
1646
|
|
|
@@ -1553,10 +1657,10 @@
|
|
|
1553
1657
|
case 'onMouseUp':
|
|
1554
1658
|
case 'onMouseUpCapture':
|
|
1555
1659
|
case 'onMouseEnter':
|
|
1556
|
-
return !!(props.disabled && isInteractive(type))
|
|
1660
|
+
return !!(props.disabled && isInteractive(type))
|
|
1557
1661
|
|
|
1558
1662
|
default:
|
|
1559
|
-
return false
|
|
1663
|
+
return false
|
|
1560
1664
|
}
|
|
1561
1665
|
}
|
|
1562
1666
|
/**
|
|
@@ -1565,64 +1669,69 @@
|
|
|
1565
1669
|
* @return {?function} The stored callback.
|
|
1566
1670
|
*/
|
|
1567
1671
|
|
|
1568
|
-
|
|
1569
1672
|
function getListener(inst, registrationName) {
|
|
1570
1673
|
// TODO: shouldPreventMouseEvent is DOM-specific and definitely should not
|
|
1571
1674
|
// live here; needs to be moved to a better place soon
|
|
1572
|
-
var stateNode = inst.stateNode
|
|
1675
|
+
var stateNode = inst.stateNode
|
|
1573
1676
|
|
|
1574
1677
|
if (!stateNode) {
|
|
1575
1678
|
// Work in progress (ex: onload events in incremental mode).
|
|
1576
|
-
return null
|
|
1679
|
+
return null
|
|
1577
1680
|
}
|
|
1578
1681
|
|
|
1579
|
-
var props = getFiberCurrentPropsFromNode(stateNode)
|
|
1682
|
+
var props = getFiberCurrentPropsFromNode(stateNode)
|
|
1580
1683
|
|
|
1581
1684
|
if (!props) {
|
|
1582
1685
|
// Work in progress.
|
|
1583
|
-
return null
|
|
1686
|
+
return null
|
|
1584
1687
|
}
|
|
1585
1688
|
|
|
1586
|
-
var listener = props[registrationName]
|
|
1689
|
+
var listener = props[registrationName]
|
|
1587
1690
|
|
|
1588
1691
|
if (shouldPreventMouseEvent(registrationName, inst.type, props)) {
|
|
1589
|
-
return null
|
|
1692
|
+
return null
|
|
1590
1693
|
}
|
|
1591
1694
|
|
|
1592
1695
|
if (listener && typeof listener !== 'function') {
|
|
1593
|
-
throw new Error(
|
|
1696
|
+
throw new Error(
|
|
1697
|
+
'Expected `' +
|
|
1698
|
+
registrationName +
|
|
1699
|
+
'` listener to be a function, instead got a value of `' +
|
|
1700
|
+
typeof listener +
|
|
1701
|
+
'` type.'
|
|
1702
|
+
)
|
|
1594
1703
|
}
|
|
1595
1704
|
|
|
1596
|
-
return listener
|
|
1705
|
+
return listener
|
|
1597
1706
|
}
|
|
1598
1707
|
|
|
1599
1708
|
function listenerAtPhase(inst, event, propagationPhase) {
|
|
1600
|
-
var registrationName = event._reactName
|
|
1709
|
+
var registrationName = event._reactName
|
|
1601
1710
|
|
|
1602
1711
|
if (propagationPhase === 'captured') {
|
|
1603
|
-
registrationName += 'Capture'
|
|
1712
|
+
registrationName += 'Capture'
|
|
1604
1713
|
}
|
|
1605
1714
|
|
|
1606
|
-
return getListener(inst, registrationName)
|
|
1715
|
+
return getListener(inst, registrationName)
|
|
1607
1716
|
}
|
|
1608
1717
|
|
|
1609
1718
|
function accumulateDispatches(inst, ignoredDirection, event) {
|
|
1610
1719
|
if (inst && event && event._reactName) {
|
|
1611
|
-
var registrationName = event._reactName
|
|
1612
|
-
var listener = getListener(inst, registrationName)
|
|
1720
|
+
var registrationName = event._reactName
|
|
1721
|
+
var listener = getListener(inst, registrationName)
|
|
1613
1722
|
|
|
1614
1723
|
if (listener) {
|
|
1615
1724
|
if (event._dispatchListeners == null) {
|
|
1616
|
-
event._dispatchListeners = []
|
|
1725
|
+
event._dispatchListeners = []
|
|
1617
1726
|
}
|
|
1618
1727
|
|
|
1619
1728
|
if (event._dispatchInstances == null) {
|
|
1620
|
-
event._dispatchInstances = []
|
|
1729
|
+
event._dispatchInstances = []
|
|
1621
1730
|
}
|
|
1622
1731
|
|
|
1623
|
-
event._dispatchListeners.push(listener)
|
|
1732
|
+
event._dispatchListeners.push(listener)
|
|
1624
1733
|
|
|
1625
|
-
event._dispatchInstances.push(inst)
|
|
1734
|
+
event._dispatchInstances.push(inst)
|
|
1626
1735
|
}
|
|
1627
1736
|
}
|
|
1628
1737
|
}
|
|
@@ -1630,42 +1739,46 @@
|
|
|
1630
1739
|
function accumulateDirectionalDispatches(inst, phase, event) {
|
|
1631
1740
|
{
|
|
1632
1741
|
if (!inst) {
|
|
1633
|
-
error('Dispatching inst must not be null')
|
|
1742
|
+
error('Dispatching inst must not be null')
|
|
1634
1743
|
}
|
|
1635
1744
|
}
|
|
1636
1745
|
|
|
1637
|
-
var listener = listenerAtPhase(inst, event, phase)
|
|
1746
|
+
var listener = listenerAtPhase(inst, event, phase)
|
|
1638
1747
|
|
|
1639
1748
|
if (listener) {
|
|
1640
1749
|
if (event._dispatchListeners == null) {
|
|
1641
|
-
event._dispatchListeners = []
|
|
1750
|
+
event._dispatchListeners = []
|
|
1642
1751
|
}
|
|
1643
1752
|
|
|
1644
1753
|
if (event._dispatchInstances == null) {
|
|
1645
|
-
event._dispatchInstances = []
|
|
1754
|
+
event._dispatchInstances = []
|
|
1646
1755
|
}
|
|
1647
1756
|
|
|
1648
|
-
event._dispatchListeners.push(listener)
|
|
1757
|
+
event._dispatchListeners.push(listener)
|
|
1649
1758
|
|
|
1650
|
-
event._dispatchInstances.push(inst)
|
|
1759
|
+
event._dispatchInstances.push(inst)
|
|
1651
1760
|
}
|
|
1652
1761
|
}
|
|
1653
1762
|
|
|
1654
1763
|
function accumulateDirectDispatchesSingle(event) {
|
|
1655
1764
|
if (event && event._reactName) {
|
|
1656
|
-
accumulateDispatches(event._targetInst, null, event)
|
|
1765
|
+
accumulateDispatches(event._targetInst, null, event)
|
|
1657
1766
|
}
|
|
1658
1767
|
}
|
|
1659
1768
|
|
|
1660
1769
|
function accumulateTwoPhaseDispatchesSingle(event) {
|
|
1661
1770
|
if (event && event._reactName) {
|
|
1662
|
-
traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event)
|
|
1771
|
+
traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event)
|
|
1663
1772
|
}
|
|
1664
1773
|
} // End of inline
|
|
1665
1774
|
|
|
1666
|
-
|
|
1667
|
-
var
|
|
1668
|
-
|
|
1775
|
+
var Simulate = {}
|
|
1776
|
+
var directDispatchEventTypes = new Set([
|
|
1777
|
+
'mouseEnter',
|
|
1778
|
+
'mouseLeave',
|
|
1779
|
+
'pointerEnter',
|
|
1780
|
+
'pointerLeave',
|
|
1781
|
+
])
|
|
1669
1782
|
/**
|
|
1670
1783
|
* Exports:
|
|
1671
1784
|
*
|
|
@@ -1678,82 +1791,183 @@
|
|
|
1678
1791
|
function makeSimulator(eventType) {
|
|
1679
1792
|
return function (domNode, eventData) {
|
|
1680
1793
|
if (React.isValidElement(domNode)) {
|
|
1681
|
-
throw new Error(
|
|
1794
|
+
throw new Error(
|
|
1795
|
+
'TestUtils.Simulate expected a DOM node as the first argument but received ' +
|
|
1796
|
+
'a React element. Pass the DOM node you wish to simulate the event on instead. ' +
|
|
1797
|
+
'Note that TestUtils.Simulate will not work if you are using shallow rendering.'
|
|
1798
|
+
)
|
|
1682
1799
|
}
|
|
1683
1800
|
|
|
1684
1801
|
if (isCompositeComponent(domNode)) {
|
|
1685
|
-
throw new Error(
|
|
1802
|
+
throw new Error(
|
|
1803
|
+
'TestUtils.Simulate expected a DOM node as the first argument but received ' +
|
|
1804
|
+
'a component instance. Pass the DOM node you wish to simulate the event on instead.'
|
|
1805
|
+
)
|
|
1686
1806
|
}
|
|
1687
1807
|
|
|
1688
|
-
var reactName = 'on' + eventType[0].toUpperCase() + eventType.slice(1)
|
|
1689
|
-
var fakeNativeEvent = new Event()
|
|
1690
|
-
fakeNativeEvent.target = domNode
|
|
1691
|
-
fakeNativeEvent.type = eventType.toLowerCase()
|
|
1692
|
-
var targetInst = getInstanceFromNode(domNode)
|
|
1693
|
-
var event = new SyntheticEvent(
|
|
1808
|
+
var reactName = 'on' + eventType[0].toUpperCase() + eventType.slice(1)
|
|
1809
|
+
var fakeNativeEvent = new Event()
|
|
1810
|
+
fakeNativeEvent.target = domNode
|
|
1811
|
+
fakeNativeEvent.type = eventType.toLowerCase()
|
|
1812
|
+
var targetInst = getInstanceFromNode(domNode)
|
|
1813
|
+
var event = new SyntheticEvent(
|
|
1814
|
+
reactName,
|
|
1815
|
+
fakeNativeEvent.type,
|
|
1816
|
+
targetInst,
|
|
1817
|
+
fakeNativeEvent,
|
|
1818
|
+
domNode
|
|
1819
|
+
) // Since we aren't using pooling, always persist the event. This will make
|
|
1694
1820
|
// sure it's marked and won't warn when setting additional properties.
|
|
1695
1821
|
|
|
1696
|
-
event.persist()
|
|
1697
|
-
assign(event, eventData)
|
|
1822
|
+
event.persist()
|
|
1823
|
+
assign(event, eventData)
|
|
1698
1824
|
|
|
1699
1825
|
if (directDispatchEventTypes.has(eventType)) {
|
|
1700
|
-
accumulateDirectDispatchesSingle(event)
|
|
1826
|
+
accumulateDirectDispatchesSingle(event)
|
|
1701
1827
|
} else {
|
|
1702
|
-
accumulateTwoPhaseDispatchesSingle(event)
|
|
1828
|
+
accumulateTwoPhaseDispatchesSingle(event)
|
|
1703
1829
|
}
|
|
1704
1830
|
|
|
1705
1831
|
ReactDOM.unstable_batchedUpdates(function () {
|
|
1706
1832
|
// Normally extractEvent enqueues a state restore, but we'll just always
|
|
1707
1833
|
// do that since we're by-passing it here.
|
|
1708
|
-
enqueueStateRestore(domNode)
|
|
1709
|
-
executeDispatchesAndRelease(event)
|
|
1710
|
-
rethrowCaughtError()
|
|
1711
|
-
})
|
|
1712
|
-
restoreStateIfNeeded()
|
|
1713
|
-
}
|
|
1834
|
+
enqueueStateRestore(domNode)
|
|
1835
|
+
executeDispatchesAndRelease(event)
|
|
1836
|
+
rethrowCaughtError()
|
|
1837
|
+
})
|
|
1838
|
+
restoreStateIfNeeded()
|
|
1839
|
+
}
|
|
1714
1840
|
} // A one-time snapshot with no plans to update. We'll probably want to deprecate Simulate API.
|
|
1715
1841
|
|
|
1716
|
-
|
|
1717
|
-
|
|
1842
|
+
var simulatedEventTypes = [
|
|
1843
|
+
'blur',
|
|
1844
|
+
'cancel',
|
|
1845
|
+
'click',
|
|
1846
|
+
'close',
|
|
1847
|
+
'contextMenu',
|
|
1848
|
+
'copy',
|
|
1849
|
+
'cut',
|
|
1850
|
+
'auxClick',
|
|
1851
|
+
'doubleClick',
|
|
1852
|
+
'dragEnd',
|
|
1853
|
+
'dragStart',
|
|
1854
|
+
'drop',
|
|
1855
|
+
'focus',
|
|
1856
|
+
'input',
|
|
1857
|
+
'invalid',
|
|
1858
|
+
'keyDown',
|
|
1859
|
+
'keyPress',
|
|
1860
|
+
'keyUp',
|
|
1861
|
+
'mouseDown',
|
|
1862
|
+
'mouseUp',
|
|
1863
|
+
'paste',
|
|
1864
|
+
'pause',
|
|
1865
|
+
'play',
|
|
1866
|
+
'pointerCancel',
|
|
1867
|
+
'pointerDown',
|
|
1868
|
+
'pointerUp',
|
|
1869
|
+
'rateChange',
|
|
1870
|
+
'reset',
|
|
1871
|
+
'resize',
|
|
1872
|
+
'seeked',
|
|
1873
|
+
'submit',
|
|
1874
|
+
'touchCancel',
|
|
1875
|
+
'touchEnd',
|
|
1876
|
+
'touchStart',
|
|
1877
|
+
'volumeChange',
|
|
1878
|
+
'drag',
|
|
1879
|
+
'dragEnter',
|
|
1880
|
+
'dragExit',
|
|
1881
|
+
'dragLeave',
|
|
1882
|
+
'dragOver',
|
|
1883
|
+
'mouseMove',
|
|
1884
|
+
'mouseOut',
|
|
1885
|
+
'mouseOver',
|
|
1886
|
+
'pointerMove',
|
|
1887
|
+
'pointerOut',
|
|
1888
|
+
'pointerOver',
|
|
1889
|
+
'scroll',
|
|
1890
|
+
'toggle',
|
|
1891
|
+
'touchMove',
|
|
1892
|
+
'wheel',
|
|
1893
|
+
'abort',
|
|
1894
|
+
'animationEnd',
|
|
1895
|
+
'animationIteration',
|
|
1896
|
+
'animationStart',
|
|
1897
|
+
'canPlay',
|
|
1898
|
+
'canPlayThrough',
|
|
1899
|
+
'durationChange',
|
|
1900
|
+
'emptied',
|
|
1901
|
+
'encrypted',
|
|
1902
|
+
'ended',
|
|
1903
|
+
'error',
|
|
1904
|
+
'gotPointerCapture',
|
|
1905
|
+
'load',
|
|
1906
|
+
'loadedData',
|
|
1907
|
+
'loadedMetadata',
|
|
1908
|
+
'loadStart',
|
|
1909
|
+
'lostPointerCapture',
|
|
1910
|
+
'playing',
|
|
1911
|
+
'progress',
|
|
1912
|
+
'seeking',
|
|
1913
|
+
'stalled',
|
|
1914
|
+
'suspend',
|
|
1915
|
+
'timeUpdate',
|
|
1916
|
+
'transitionEnd',
|
|
1917
|
+
'waiting',
|
|
1918
|
+
'mouseEnter',
|
|
1919
|
+
'mouseLeave',
|
|
1920
|
+
'pointerEnter',
|
|
1921
|
+
'pointerLeave',
|
|
1922
|
+
'change',
|
|
1923
|
+
'select',
|
|
1924
|
+
'beforeInput',
|
|
1925
|
+
'compositionEnd',
|
|
1926
|
+
'compositionStart',
|
|
1927
|
+
'compositionUpdate',
|
|
1928
|
+
]
|
|
1718
1929
|
|
|
1719
1930
|
function buildSimulators() {
|
|
1720
1931
|
simulatedEventTypes.forEach(function (eventType) {
|
|
1721
|
-
Simulate[eventType] = makeSimulator(eventType)
|
|
1722
|
-
})
|
|
1932
|
+
Simulate[eventType] = makeSimulator(eventType)
|
|
1933
|
+
})
|
|
1723
1934
|
}
|
|
1724
1935
|
|
|
1725
|
-
buildSimulators()
|
|
1726
|
-
var didWarnAboutUsingAct = false
|
|
1727
|
-
var act =
|
|
1936
|
+
buildSimulators()
|
|
1937
|
+
var didWarnAboutUsingAct = false
|
|
1938
|
+
var act = function actWithWarning(callback) {
|
|
1728
1939
|
{
|
|
1729
1940
|
if (!didWarnAboutUsingAct) {
|
|
1730
|
-
didWarnAboutUsingAct = true
|
|
1941
|
+
didWarnAboutUsingAct = true
|
|
1731
1942
|
|
|
1732
|
-
error(
|
|
1943
|
+
error(
|
|
1944
|
+
'`ReactDOMTestUtils.act` is deprecated in favor of `React.act`. ' +
|
|
1945
|
+
'Import `act` from `react` instead of `react-dom/test-utils`. ' +
|
|
1946
|
+
'See https://react.dev/warnings/react-dom-test-utils for more info.'
|
|
1947
|
+
)
|
|
1733
1948
|
}
|
|
1734
1949
|
}
|
|
1735
1950
|
|
|
1736
|
-
return reactAct(callback)
|
|
1737
|
-
}
|
|
1738
|
-
|
|
1739
|
-
exports.Simulate = Simulate
|
|
1740
|
-
exports.act = act
|
|
1741
|
-
exports.findAllInRenderedTree = findAllInRenderedTree
|
|
1742
|
-
exports.findRenderedComponentWithType = findRenderedComponentWithType
|
|
1743
|
-
exports.findRenderedDOMComponentWithClass = findRenderedDOMComponentWithClass
|
|
1744
|
-
exports.findRenderedDOMComponentWithTag = findRenderedDOMComponentWithTag
|
|
1745
|
-
exports.isCompositeComponent = isCompositeComponent
|
|
1746
|
-
exports.isCompositeComponentWithType = isCompositeComponentWithType
|
|
1747
|
-
exports.isDOMComponent = isDOMComponent
|
|
1748
|
-
exports.isDOMComponentElement = isDOMComponentElement
|
|
1749
|
-
exports.isElement = isElement
|
|
1750
|
-
exports.isElementOfType = isElementOfType
|
|
1751
|
-
exports.mockComponent = mockComponent
|
|
1752
|
-
exports.nativeTouchData = nativeTouchData
|
|
1753
|
-
exports.renderIntoDocument = renderIntoDocument
|
|
1754
|
-
exports.scryRenderedComponentsWithType = scryRenderedComponentsWithType
|
|
1755
|
-
exports.scryRenderedDOMComponentsWithClass = scryRenderedDOMComponentsWithClass
|
|
1756
|
-
exports.scryRenderedDOMComponentsWithTag = scryRenderedDOMComponentsWithTag
|
|
1757
|
-
exports.traverseTwoPhase = traverseTwoPhase
|
|
1758
|
-
|
|
1759
|
-
})));
|
|
1951
|
+
return reactAct(callback)
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
exports.Simulate = Simulate
|
|
1955
|
+
exports.act = act
|
|
1956
|
+
exports.findAllInRenderedTree = findAllInRenderedTree
|
|
1957
|
+
exports.findRenderedComponentWithType = findRenderedComponentWithType
|
|
1958
|
+
exports.findRenderedDOMComponentWithClass = findRenderedDOMComponentWithClass
|
|
1959
|
+
exports.findRenderedDOMComponentWithTag = findRenderedDOMComponentWithTag
|
|
1960
|
+
exports.isCompositeComponent = isCompositeComponent
|
|
1961
|
+
exports.isCompositeComponentWithType = isCompositeComponentWithType
|
|
1962
|
+
exports.isDOMComponent = isDOMComponent
|
|
1963
|
+
exports.isDOMComponentElement = isDOMComponentElement
|
|
1964
|
+
exports.isElement = isElement
|
|
1965
|
+
exports.isElementOfType = isElementOfType
|
|
1966
|
+
exports.mockComponent = mockComponent
|
|
1967
|
+
exports.nativeTouchData = nativeTouchData
|
|
1968
|
+
exports.renderIntoDocument = renderIntoDocument
|
|
1969
|
+
exports.scryRenderedComponentsWithType = scryRenderedComponentsWithType
|
|
1970
|
+
exports.scryRenderedDOMComponentsWithClass = scryRenderedDOMComponentsWithClass
|
|
1971
|
+
exports.scryRenderedDOMComponentsWithTag = scryRenderedDOMComponentsWithTag
|
|
1972
|
+
exports.traverseTwoPhase = traverseTwoPhase
|
|
1973
|
+
})
|