diff --git a/package.json b/package.json index 741c60152905bc..bd169865bbf14c 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "eslint-plugin-jsdoc": "48.0.4", "eslint-plugin-mdx": "3.1.5", "eslint-plugin-react": "7.37.0", - "eslint-plugin-react-hooks": "0.0.0-experimental-dd048c3b-20251105", + "eslint-plugin-react-hooks": "0.0.0-experimental-fa50caf5-20251107", "event-stream": "4.0.1", "execa": "2.0.3", "expect": "29.7.0", @@ -257,16 +257,16 @@ "pretty-ms": "7.0.0", "random-seed": "0.3.0", "react": "19.0.0", - "react-builtin": "npm:react@19.3.0-canary-dd048c3b-20251105", + "react-builtin": "npm:react@19.3.0-canary-fa50caf5-20251107", "react-dom": "19.0.0", - "react-dom-builtin": "npm:react-dom@19.3.0-canary-dd048c3b-20251105", - "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-dd048c3b-20251105", - "react-experimental-builtin": "npm:react@0.0.0-experimental-dd048c3b-20251105", - "react-is-builtin": "npm:react-is@19.3.0-canary-dd048c3b-20251105", - "react-server-dom-turbopack": "19.3.0-canary-dd048c3b-20251105", - "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-dd048c3b-20251105", - "react-server-dom-webpack": "19.3.0-canary-dd048c3b-20251105", - "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-dd048c3b-20251105", + "react-dom-builtin": "npm:react-dom@19.3.0-canary-fa50caf5-20251107", + "react-dom-experimental-builtin": "npm:react-dom@0.0.0-experimental-fa50caf5-20251107", + "react-experimental-builtin": "npm:react@0.0.0-experimental-fa50caf5-20251107", + "react-is-builtin": "npm:react-is@19.3.0-canary-fa50caf5-20251107", + "react-server-dom-turbopack": "19.3.0-canary-fa50caf5-20251107", + "react-server-dom-turbopack-experimental": "npm:react-server-dom-turbopack@0.0.0-experimental-fa50caf5-20251107", + "react-server-dom-webpack": "19.3.0-canary-fa50caf5-20251107", + "react-server-dom-webpack-experimental": "npm:react-server-dom-webpack@0.0.0-experimental-fa50caf5-20251107", "react-ssr-prepass": "1.0.8", "react-virtualized": "9.22.3", "relay-compiler": "13.0.2", @@ -276,8 +276,8 @@ "resolve-from": "5.0.0", "sass": "1.54.0", "satori": "0.15.2", - "scheduler-builtin": "npm:scheduler@0.28.0-canary-dd048c3b-20251105", - "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-dd048c3b-20251105", + "scheduler-builtin": "npm:scheduler@0.28.0-canary-fa50caf5-20251107", + "scheduler-experimental-builtin": "npm:scheduler@0.0.0-experimental-fa50caf5-20251107", "seedrandom": "3.0.5", "semver": "7.3.7", "serve-handler": "6.1.6", @@ -322,10 +322,10 @@ "@types/react-dom": "19.2.1", "@types/retry": "0.12.0", "jest-snapshot": "30.0.0-alpha.6", - "react": "19.3.0-canary-dd048c3b-20251105", - "react-dom": "19.3.0-canary-dd048c3b-20251105", - "react-is": "19.3.0-canary-dd048c3b-20251105", - "scheduler": "0.28.0-canary-dd048c3b-20251105" + "react": "19.3.0-canary-fa50caf5-20251107", + "react-dom": "19.3.0-canary-fa50caf5-20251107", + "react-is": "19.3.0-canary-fa50caf5-20251107", + "scheduler": "0.28.0-canary-fa50caf5-20251107" }, "packageExtensions": { "eslint-plugin-react-hooks@0.0.0-experimental-6de32a5a-20250822": { diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js index b19c256b605e58..37213883c32a3b 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.development.js @@ -1453,8 +1453,8 @@ delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { - var targetInst = targetNode[internalInstanceKey]; - if (targetInst) return targetInst; + var targetInst; + if ((targetInst = targetNode[internalInstanceKey])) return targetInst; for (var parentNode = targetNode.parentNode; parentNode; ) { if ( (targetInst = @@ -11443,10 +11443,7 @@ (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(null, JSCompiler_object_inline_stack_3231) ); - if ( - "number" === - typeof JSCompiler_object_inline_stack_3231.unstable_expectedLoadTime - ) + if (!0 === JSCompiler_object_inline_stack_3231.defer) return ( reuseSuspenseHandlerOnStack(workInProgress), mountSuspenseFallbackChildren( @@ -14669,7 +14666,7 @@ function commitAppearingPairViewTransitions(placement) { if (0 !== (placement.subtreeFlags & 18874368)) for (placement = placement.child; null !== placement; ) { - if (22 !== placement.tag || null !== placement.memoizedState) + if (22 !== placement.tag || null === placement.memoizedState) if ( (commitAppearingPairViewTransitions(placement), 30 === placement.tag && @@ -14733,7 +14730,7 @@ var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -14832,7 +14829,7 @@ function restorePairedViewTransitions(parent) { if (0 !== (parent.subtreeFlags & 18874368)) for (parent = parent.child; null !== parent; ) { - if (22 !== parent.tag || null !== parent.memoizedState) { + if (22 !== parent.tag || null === parent.memoizedState) { if (30 === parent.tag && 0 !== (parent.flags & 18874368)) { var instance = parent.stateNode; null !== instance.paired && @@ -17884,7 +17881,7 @@ var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -25439,27 +25436,24 @@ } } function applyViewTransitionName(instance, name, className) { + name = + CSS.escape(name) !== name ? "r-" + btoa(name).replace(/=/g, "") : name; instance.style.viewTransitionName = name; null != className && (instance.style.viewTransitionClass = className); - name = getComputedStyle(instance); - if ("inline" === name.display) { - className = instance.getClientRects(); - if (1 === className.length) var JSCompiler_inline_result = 1; + className = getComputedStyle(instance); + if ("inline" === className.display) { + name = instance.getClientRects(); + if (1 === name.length) var JSCompiler_inline_result = 1; else - for ( - var i = (JSCompiler_inline_result = 0); - i < className.length; - i++ - ) { - var rect = className[i]; + for (var i = (JSCompiler_inline_result = 0); i < name.length; i++) { + var rect = name[i]; 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++; } 1 === JSCompiler_inline_result ? ((instance = instance.style), - (instance.display = - 1 === className.length ? "inline-block" : "block"), - (instance.marginTop = "-" + name.paddingTop), - (instance.marginBottom = "-" + name.paddingBottom)) + (instance.display = 1 === name.length ? "inline-block" : "block"), + (instance.marginTop = "-" + className.paddingTop), + (instance.marginBottom = "-" + className.paddingBottom)) : warnForBlockInsideInline(instance); } } @@ -32406,11 +32400,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.3.0-experimental-dd048c3b-20251105" !== isomorphicReactPackageVersion) + if ("19.3.0-experimental-fa50caf5-20251107" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.3.0-experimental-dd048c3b-20251105\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.3.0-experimental-fa50caf5-20251107\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -32447,10 +32441,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.3.0-experimental-dd048c3b-20251105", + version: "19.3.0-experimental-fa50caf5-20251107", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.3.0-experimental-dd048c3b-20251105" + reconcilerVersion: "19.3.0-experimental-fa50caf5-20251107" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -32598,7 +32592,7 @@ listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; - exports.version = "19.3.0-experimental-dd048c3b-20251105"; + exports.version = "19.3.0-experimental-fa50caf5-20251107"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js index 923a23de578da2..1a82afac77a878 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js @@ -976,8 +976,8 @@ function detachDeletedInstance(node) { delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { - var targetInst = targetNode[internalInstanceKey]; - if (targetInst) return targetInst; + var targetInst; + if ((targetInst = targetNode[internalInstanceKey])) return targetInst; for (var parentNode = targetNode.parentNode; parentNode; ) { if ( (targetInst = @@ -7299,7 +7299,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(null, nextProps) ); - if ("number" === typeof nextProps.unstable_expectedLoadTime) + if (!0 === nextProps.defer) return ( reuseSuspenseHandlerOnStack(), mountSuspenseFallbackChildren( @@ -9549,7 +9549,7 @@ function restoreViewTransitionOnHostInstances( function commitAppearingPairViewTransitions(placement) { if (0 !== (placement.subtreeFlags & 18874368)) for (placement = placement.child; null !== placement; ) { - if (22 !== placement.tag || null !== placement.memoizedState) + if (22 !== placement.tag || null === placement.memoizedState) if ( (commitAppearingPairViewTransitions(placement), 30 === placement.tag && @@ -9605,7 +9605,7 @@ function commitDeletedPairViewTransitions(deletion) { var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -9695,7 +9695,7 @@ function commitNestedViewTransitions(changedParent) { function restorePairedViewTransitions(parent) { if (0 !== (parent.subtreeFlags & 18874368)) for (parent = parent.child; null !== parent; ) { - if (22 !== parent.tag || null !== parent.memoizedState) { + if (22 !== parent.tag || null === parent.memoizedState) { if (30 === parent.tag && 0 !== (parent.flags & 18874368)) { var instance = parent.stateNode; null !== instance.paired && @@ -12008,7 +12008,7 @@ function trackDeletedPairViewTransitions(deletion) { var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -16643,22 +16643,23 @@ function unhideInstance(instance, props) { null == props || "boolean" === typeof props ? "" : ("" + props).trim(); } function applyViewTransitionName(instance, name, className) { + name = CSS.escape(name) !== name ? "r-" + btoa(name).replace(/=/g, "") : name; instance.style.viewTransitionName = name; null != className && (instance.style.viewTransitionClass = className); - name = getComputedStyle(instance); - if ("inline" === name.display) { - className = instance.getClientRects(); - if (1 === className.length) var JSCompiler_inline_result = 1; + className = getComputedStyle(instance); + if ("inline" === className.display) { + name = instance.getClientRects(); + if (1 === name.length) var JSCompiler_inline_result = 1; else - for (var i = (JSCompiler_inline_result = 0); i < className.length; i++) { - var rect = className[i]; + for (var i = (JSCompiler_inline_result = 0); i < name.length; i++) { + var rect = name[i]; 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++; } 1 === JSCompiler_inline_result && ((instance = instance.style), - (instance.display = 1 === className.length ? "inline-block" : "block"), - (instance.marginTop = "-" + name.paddingTop), - (instance.marginBottom = "-" + name.paddingBottom)); + (instance.display = 1 === name.length ? "inline-block" : "block"), + (instance.marginTop = "-" + className.paddingTop), + (instance.marginBottom = "-" + className.paddingBottom)); } } function restoreViewTransitionName(instance, props) { @@ -19617,14 +19618,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_2198 = React.version; if ( - "19.3.0-experimental-dd048c3b-20251105" !== + "19.3.0-experimental-fa50caf5-20251107" !== isomorphicReactPackageVersion$jscomp$inline_2198 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_2198, - "19.3.0-experimental-dd048c3b-20251105" + "19.3.0-experimental-fa50caf5-20251107" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -19646,10 +19647,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_2903 = { bundleType: 0, - version: "19.3.0-experimental-dd048c3b-20251105", + version: "19.3.0-experimental-fa50caf5-20251107", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.3.0-experimental-dd048c3b-20251105" + reconcilerVersion: "19.3.0-experimental-fa50caf5-20251107" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2904 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -19756,4 +19757,4 @@ exports.hydrateRoot = function (container, initialChildren, options) { listenToAllSupportedEvents(container); return new ReactDOMHydrationRoot(initialChildren); }; -exports.version = "19.3.0-experimental-dd048c3b-20251105"; +exports.version = "19.3.0-experimental-fa50caf5-20251107"; diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js index f197e1d60abacc..e2384fce56775d 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.development.js @@ -1461,8 +1461,8 @@ delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { - var targetInst = targetNode[internalInstanceKey]; - if (targetInst) return targetInst; + var targetInst; + if ((targetInst = targetNode[internalInstanceKey])) return targetInst; for (var parentNode = targetNode.parentNode; parentNode; ) { if ( (targetInst = @@ -11451,10 +11451,7 @@ (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(null, JSCompiler_object_inline_stack_3236) ); - if ( - "number" === - typeof JSCompiler_object_inline_stack_3236.unstable_expectedLoadTime - ) + if (!0 === JSCompiler_object_inline_stack_3236.defer) return ( reuseSuspenseHandlerOnStack(workInProgress), mountSuspenseFallbackChildren( @@ -14677,7 +14674,7 @@ function commitAppearingPairViewTransitions(placement) { if (0 !== (placement.subtreeFlags & 18874368)) for (placement = placement.child; null !== placement; ) { - if (22 !== placement.tag || null !== placement.memoizedState) + if (22 !== placement.tag || null === placement.memoizedState) if ( (commitAppearingPairViewTransitions(placement), 30 === placement.tag && @@ -14741,7 +14738,7 @@ var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -14840,7 +14837,7 @@ function restorePairedViewTransitions(parent) { if (0 !== (parent.subtreeFlags & 18874368)) for (parent = parent.child; null !== parent; ) { - if (22 !== parent.tag || null !== parent.memoizedState) { + if (22 !== parent.tag || null === parent.memoizedState) { if (30 === parent.tag && 0 !== (parent.flags & 18874368)) { var instance = parent.stateNode; null !== instance.paired && @@ -17892,7 +17889,7 @@ var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -25447,27 +25444,24 @@ } } function applyViewTransitionName(instance, name, className) { + name = + CSS.escape(name) !== name ? "r-" + btoa(name).replace(/=/g, "") : name; instance.style.viewTransitionName = name; null != className && (instance.style.viewTransitionClass = className); - name = getComputedStyle(instance); - if ("inline" === name.display) { - className = instance.getClientRects(); - if (1 === className.length) var JSCompiler_inline_result = 1; + className = getComputedStyle(instance); + if ("inline" === className.display) { + name = instance.getClientRects(); + if (1 === name.length) var JSCompiler_inline_result = 1; else - for ( - var i = (JSCompiler_inline_result = 0); - i < className.length; - i++ - ) { - var rect = className[i]; + for (var i = (JSCompiler_inline_result = 0); i < name.length; i++) { + var rect = name[i]; 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++; } 1 === JSCompiler_inline_result ? ((instance = instance.style), - (instance.display = - 1 === className.length ? "inline-block" : "block"), - (instance.marginTop = "-" + name.paddingTop), - (instance.marginBottom = "-" + name.paddingBottom)) + (instance.display = 1 === name.length ? "inline-block" : "block"), + (instance.marginTop = "-" + className.paddingTop), + (instance.marginBottom = "-" + className.paddingBottom)) : warnForBlockInsideInline(instance); } } @@ -32458,11 +32452,11 @@ }; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.3.0-experimental-dd048c3b-20251105" !== isomorphicReactPackageVersion) + if ("19.3.0-experimental-fa50caf5-20251107" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.3.0-experimental-dd048c3b-20251105\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.3.0-experimental-fa50caf5-20251107\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -32499,10 +32493,10 @@ !(function () { var internals = { bundleType: 1, - version: "19.3.0-experimental-dd048c3b-20251105", + version: "19.3.0-experimental-fa50caf5-20251107", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.3.0-experimental-dd048c3b-20251105" + reconcilerVersion: "19.3.0-experimental-fa50caf5-20251107" }; internals.overrideHookState = overrideHookState; internals.overrideHookStateDeletePath = overrideHookStateDeletePath; @@ -32980,7 +32974,7 @@ exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.3.0-experimental-dd048c3b-20251105"; + exports.version = "19.3.0-experimental-fa50caf5-20251107"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js index 5828d85c174b32..6492d6b8103b54 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js @@ -1071,8 +1071,8 @@ function detachDeletedInstance(node) { delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { - var targetInst = targetNode[internalInstanceKey]; - if (targetInst) return targetInst; + var targetInst; + if ((targetInst = targetNode[internalInstanceKey])) return targetInst; for (var parentNode = targetNode.parentNode; parentNode; ) { if ( (targetInst = @@ -7837,7 +7837,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { (workInProgress.memoizedState = SUSPENDED_MARKER), bailoutOffscreenComponent(null, nextProps) ); - if ("number" === typeof nextProps.unstable_expectedLoadTime) + if (!0 === nextProps.defer) return ( reuseSuspenseHandlerOnStack(), mountSuspenseFallbackChildren( @@ -10294,7 +10294,7 @@ function restoreViewTransitionOnHostInstances( function commitAppearingPairViewTransitions(placement) { if (0 !== (placement.subtreeFlags & 18874368)) for (placement = placement.child; null !== placement; ) { - if (22 !== placement.tag || null !== placement.memoizedState) + if (22 !== placement.tag || null === placement.memoizedState) if ( (commitAppearingPairViewTransitions(placement), 30 === placement.tag && @@ -10350,7 +10350,7 @@ function commitDeletedPairViewTransitions(deletion) { var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -10440,7 +10440,7 @@ function commitNestedViewTransitions(changedParent) { function restorePairedViewTransitions(parent) { if (0 !== (parent.subtreeFlags & 18874368)) for (parent = parent.child; null !== parent; ) { - if (22 !== parent.tag || null !== parent.memoizedState) { + if (22 !== parent.tag || null === parent.memoizedState) { if (30 === parent.tag && 0 !== (parent.flags & 18874368)) { var instance = parent.stateNode; null !== instance.paired && @@ -13335,7 +13335,7 @@ function trackDeletedPairViewTransitions(deletion) { var pairs = appearingViewTransitions; if (0 !== (deletion.subtreeFlags & 18874368)) for (deletion = deletion.child; null !== deletion; ) { - if (22 !== deletion.tag || null !== deletion.memoizedState) { + if (22 !== deletion.tag || null === deletion.memoizedState) { if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) { var props = deletion.memoizedProps, name = props.name; @@ -18660,22 +18660,23 @@ function unhideInstance(instance, props) { null == props || "boolean" === typeof props ? "" : ("" + props).trim(); } function applyViewTransitionName(instance, name, className) { + name = CSS.escape(name) !== name ? "r-" + btoa(name).replace(/=/g, "") : name; instance.style.viewTransitionName = name; null != className && (instance.style.viewTransitionClass = className); - name = getComputedStyle(instance); - if ("inline" === name.display) { - className = instance.getClientRects(); - if (1 === className.length) var JSCompiler_inline_result = 1; + className = getComputedStyle(instance); + if ("inline" === className.display) { + name = instance.getClientRects(); + if (1 === name.length) var JSCompiler_inline_result = 1; else - for (var i = (JSCompiler_inline_result = 0); i < className.length; i++) { - var rect = className[i]; + for (var i = (JSCompiler_inline_result = 0); i < name.length; i++) { + var rect = name[i]; 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++; } 1 === JSCompiler_inline_result && ((instance = instance.style), - (instance.display = 1 === className.length ? "inline-block" : "block"), - (instance.marginTop = "-" + name.paddingTop), - (instance.marginBottom = "-" + name.paddingBottom)); + (instance.display = 1 === name.length ? "inline-block" : "block"), + (instance.marginTop = "-" + className.paddingTop), + (instance.marginBottom = "-" + className.paddingBottom)); } } function restoreViewTransitionName(instance, props) { @@ -21672,14 +21673,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) { }; var isomorphicReactPackageVersion$jscomp$inline_2494 = React.version; if ( - "19.3.0-experimental-dd048c3b-20251105" !== + "19.3.0-experimental-fa50caf5-20251107" !== isomorphicReactPackageVersion$jscomp$inline_2494 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_2494, - "19.3.0-experimental-dd048c3b-20251105" + "19.3.0-experimental-fa50caf5-20251107" ) ); ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { @@ -21701,10 +21702,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) { }; var internals$jscomp$inline_3212 = { bundleType: 0, - version: "19.3.0-experimental-dd048c3b-20251105", + version: "19.3.0-experimental-fa50caf5-20251107", rendererPackageName: "react-dom", currentDispatcherRef: ReactSharedInternals, - reconcilerVersion: "19.3.0-experimental-dd048c3b-20251105" + reconcilerVersion: "19.3.0-experimental-fa50caf5-20251107" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_3213 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -21972,7 +21973,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.3.0-experimental-dd048c3b-20251105"; +exports.version = "19.3.0-experimental-fa50caf5-20251107"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js index 7a6d6c3a257c4f..4447ba6237039a 100644 --- a/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js +++ b/packages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js @@ -4624,7 +4624,8 @@ } function isEligibleForOutlining(request, boundary) { return ( - (500 < boundary.byteSize || !1) && null === boundary.contentPreamble + (500 < boundary.byteSize || boundary.defer) && + null === boundary.preamble ); } function defaultErrorHandler(error) { @@ -4759,8 +4760,8 @@ request, row, fallbackAbortableTasks, - contentPreamble, - fallbackPreamble + preamble, + defer ) { fallbackAbortableTasks = { status: PENDING, @@ -4770,25 +4771,24 @@ row: row, completedSegments: [], byteSize: 0, + defer: defer, fallbackAbortableTasks: fallbackAbortableTasks, errorDigest: null, contentState: createHoistableState(), fallbackState: createHoistableState(), - contentPreamble: contentPreamble, - fallbackPreamble: fallbackPreamble, - trackedContentKeyPath: null, - trackedFallbackNode: null, + preamble: preamble, + tracked: null, errorMessage: null, errorStack: null, errorComponentStack: null }; null !== row && (row.pendingTasks++, - (contentPreamble = row.boundaries), - null !== contentPreamble && + (preamble = row.boundaries), + null !== preamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, - contentPreamble.push(fallbackAbortableTasks)), + preamble.push(fallbackAbortableTasks)), (request = row.inheritedHoistables), null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request)); @@ -6116,16 +6116,15 @@ parentSegment = task.blockedSegment, fallback = props.fallback, content = props.children, + defer = !0 === props.defer, fallbackAbortSet = new Set(); var newBoundary = createSuspenseBoundary( request, task.row, fallbackAbortSet, null, - null + defer ); - null !== request.trackedPostpones && - (newBoundary.trackedContentKeyPath = keyPath); var boundarySegment = createPendingSegment( request, parentSegment.chunks.length, @@ -6145,26 +6144,35 @@ !1 ); contentRootSegment.parentFlushed = !0; - if (null !== request.trackedPostpones) { + var trackedPostpones = request.trackedPostpones; + if (null !== trackedPostpones || defer) { var suspenseComponentStack = task.componentStack, fallbackKeyPath = [ keyPath[0], "Suspense Fallback", keyPath[2] - ], - fallbackReplayNode = [ + ]; + if (null !== trackedPostpones) { + var fallbackReplayNode = [ fallbackKeyPath[1], fallbackKeyPath[2], [], null ]; - request.trackedPostpones.workingMap.set( - fallbackKeyPath, - fallbackReplayNode - ); - newBoundary.trackedFallbackNode = fallbackReplayNode; + trackedPostpones.workingMap.set( + fallbackKeyPath, + fallbackReplayNode + ); + newBoundary.tracked = { + contentKeyPath: keyPath, + fallbackNode: fallbackReplayNode + }; + } task.blockedSegment = boundarySegment; - task.blockedPreamble = newBoundary.fallbackPreamble; + task.blockedPreamble = + null === newBoundary.preamble + ? null + : newBoundary.preamble.fallback; task.keyPath = fallbackKeyPath; task.formatContext = getSuspenseFallbackFormatContext( request.resumableState, @@ -6203,7 +6211,9 @@ -1, newBoundary, contentRootSegment, - newBoundary.contentPreamble, + null === newBoundary.preamble + ? null + : newBoundary.preamble.content, newBoundary.contentState, task.abortSet, keyPath, @@ -6222,7 +6232,10 @@ request.pingedTasks.push(suspendedPrimaryTask); } else { task.blockedBoundary = newBoundary; - task.blockedPreamble = newBoundary.contentPreamble; + task.blockedPreamble = + null === newBoundary.preamble + ? null + : newBoundary.preamble.content; task.hoistableState = newBoundary.contentState; task.blockedSegment = contentRootSegment; task.keyPath = keyPath; @@ -6301,7 +6314,9 @@ -1, parentBoundary, boundarySegment, - newBoundary.fallbackPreamble, + null === newBoundary.preamble + ? null + : newBoundary.preamble.fallback, newBoundary.fallbackState, fallbackAbortSet, [keyPath[0], "Suspense Fallback", keyPath[2]], @@ -6561,19 +6576,20 @@ parentBoundary = task.blockedBoundary, parentHoistableState = task.hoistableState, content = props.children, - fallback = props.fallback, - fallbackAbortSet = new Set(); - props = createSuspenseBoundary( + fallback = props.fallback; + var resumedBoundary = !0 === props.defer; + props = new Set(); + resumedBoundary = createSuspenseBoundary( replay, task.row, - fallbackAbortSet, + props, null, - null + resumedBoundary ); - props.parentFlushed = !0; - props.rootSegmentID = request; - task.blockedBoundary = props; - task.hoistableState = props.contentState; + resumedBoundary.parentFlushed = !0; + resumedBoundary.rootSegmentID = request; + task.blockedBoundary = resumedBoundary; + task.hoistableState = resumedBoundary.contentState; task.keyPath = keyPath; task.formatContext = getSuspenseContentFormatContext( replay.resumableState, @@ -6591,13 +6607,16 @@ "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); task.replay.pendingTasks--; - if (0 === props.pendingTasks && props.status === PENDING) { - props.status = COMPLETED; - replay.completedBoundaries.push(props); + if ( + 0 === resumedBoundary.pendingTasks && + resumedBoundary.status === PENDING + ) { + resumedBoundary.status = COMPLETED; + replay.completedBoundaries.push(resumedBoundary); break a; } } catch (error) { - (props.status = CLIENT_RENDERED), + (resumedBoundary.status = CLIENT_RENDERED), (childNodes = getThrownInfo(task.componentStack)), (childSlots = logRecoverableError( replay, @@ -6606,14 +6625,14 @@ task.debugTask )), encodeErrorForBoundary( - props, + resumedBoundary, childSlots, error, childNodes, !1 ), task.replay.pendingTasks--, - replay.clientRenderedBoundaries.push(props); + replay.clientRenderedBoundaries.push(resumedBoundary); } finally { (task.blockedBoundary = parentBoundary), (task.hoistableState = parentHoistableState), @@ -6629,8 +6648,8 @@ fallback, -1, parentBoundary, - props.fallbackState, - fallbackAbortSet, + resumedBoundary.fallbackState, + props, [keyPath[0], "Suspense Fallback", keyPath[2]], getSuspenseFallbackFormatContext( replay.resumableState, @@ -7047,13 +7066,18 @@ function trackPostponedBoundary(request, trackedPostpones, boundary) { boundary.status = POSTPONED; boundary.rootSegmentID = request.nextSegmentId++; - request = boundary.trackedContentKeyPath; + var tracked = boundary.tracked; + if (null === tracked) + throw Error( + "It should not be possible to postpone at the root. This is a bug in React." + ); + request = tracked.contentKeyPath; if (null === request) throw Error( "It should not be possible to postpone at the root. This is a bug in React." ); - var fallbackReplayNode = boundary.trackedFallbackNode, - children = [], + tracked = tracked.fallbackNode; + var children = [], boundaryNode = trackedPostpones.workingMap.get(request); if (void 0 === boundaryNode) return ( @@ -7062,14 +7086,14 @@ request[2], children, null, - fallbackReplayNode, + tracked, boundary.rootSegmentID ]), trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary ); - boundaryNode[4] = fallbackReplayNode; + boundaryNode[4] = tracked; boundaryNode[5] = boundary.rootSegmentID; return boundaryNode; } @@ -7090,7 +7114,8 @@ boundary ); if ( - boundary.trackedContentKeyPath === keyPath && + null !== boundary.tracked && + boundary.tracked.contentKeyPath === keyPath && -1 === task.childIndex ) { -1 === segment.id && @@ -7146,11 +7171,13 @@ function untrackBoundary(request, boundary) { request = request.trackedPostpones; null !== request && - ((boundary = boundary.trackedContentKeyPath), + ((boundary = boundary.tracked), null !== boundary && - ((boundary = request.workingMap.get(boundary)), - void 0 !== boundary && - ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null)))); + ((boundary = boundary.contentKeyPath), + null !== boundary && + ((request = request.workingMap.get(boundary)), + void 0 !== request && + ((request.length = 4), (request[2] = []), (request[3] = null))))); } function spawnNewSuspendedReplayTask(request, task, thenableState) { return createReplayTask( @@ -7366,7 +7393,7 @@ null, new Set(), null, - null + !1 ); resumedBoundary.parentFlushed = !0; resumedBoundary.rootSegmentID = node; @@ -7649,7 +7676,7 @@ finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && - null !== boundary.contentPreamble && + null !== boundary.preamble && preparePreamble(request); else { if ( @@ -7921,7 +7948,7 @@ request.clientRenderedBoundaries.push(boundary$jscomp$0); 0 === request.pendingRootTasks && null === request.trackedPostpones && - null !== boundary$jscomp$0.contentPreamble && + null !== boundary$jscomp$0.preamble && preparePreamble(request); } 0 === request.allPendingTasks && completeAll(request); @@ -7979,12 +8006,11 @@ segment, collectedPreambleSegments ); - var preamble = boundary.contentPreamble, - fallbackPreamble = boundary.fallbackPreamble; - if (null === preamble || null === fallbackPreamble) return !1; + var preamble = boundary.preamble; + if (null === preamble) return !1; switch (boundary.status) { case COMPLETED: - hoistPreambleState(request.renderState, preamble); + hoistPreambleState(request.renderState, preamble.content); request.byteSize += boundary.byteSize; segment = boundary.completedSegments[0]; if (!segment) @@ -8001,7 +8027,7 @@ case CLIENT_RENDERED: if (segment.status === COMPLETED) return ( - hoistPreambleState(request.renderState, fallbackPreamble), + hoistPreambleState(request.renderState, preamble.fallback), preparePreambleFromSubtree( request, segment, @@ -8144,7 +8170,8 @@ if ( !flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && - flushedByteSize + boundary.byteSize > request.progressiveChunkSize + (flushedByteSize + boundary.byteSize > request.progressiveChunkSize || + boundary.defer) ) return ( (boundary.rootSegmentID = request.nextSegmentId++), @@ -10063,7 +10090,7 @@ completeBoundaryScriptFunctionOnly = '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;ba&&2E3q&&2E3q&&2E3" )); bootstrapScriptContent = idPrefix + "P:"; - var JSCompiler_object_inline_segmentPrefix_1881 = idPrefix + "S:"; + var JSCompiler_object_inline_segmentPrefix_1883 = idPrefix + "S:"; idPrefix += "B:"; - var JSCompiler_object_inline_preconnects_1895 = new Set(), - JSCompiler_object_inline_fontPreloads_1896 = new Set(), - JSCompiler_object_inline_highImagePreloads_1897 = new Set(), - JSCompiler_object_inline_styles_1898 = new Map(), - JSCompiler_object_inline_bootstrapScripts_1899 = new Set(), - JSCompiler_object_inline_scripts_1900 = new Set(), - JSCompiler_object_inline_bulkPreloads_1901 = new Set(), - JSCompiler_object_inline_preloads_1902 = { + var JSCompiler_object_inline_preconnects_1897 = new Set(), + JSCompiler_object_inline_fontPreloads_1898 = new Set(), + JSCompiler_object_inline_highImagePreloads_1899 = new Set(), + JSCompiler_object_inline_styles_1900 = new Map(), + JSCompiler_object_inline_bootstrapScripts_1901 = new Set(), + JSCompiler_object_inline_scripts_1902 = new Set(), + JSCompiler_object_inline_bulkPreloads_1903 = new Set(), + JSCompiler_object_inline_preloads_1904 = { images: new Map(), stylesheets: new Map(), scripts: new Map(), @@ -2997,7 +2997,7 @@ function createRenderState(resumableState, generateStaticMarkup) { scriptConfig.moduleScriptResources[href] = null; scriptConfig = []; pushLinkImpl(scriptConfig, props); - JSCompiler_object_inline_bootstrapScripts_1899.add(scriptConfig); + JSCompiler_object_inline_bootstrapScripts_1901.add(scriptConfig); bootstrapChunks.push('