mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Add support for onScrollEnd event (#26789)
## Summary
This adds support for the new
[scrollend](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollend_event)
event. It was recently added to the spec, and is currently supported in
Firefox 109 and Chrome Canary (shipping in Chrome 114). You can read
more about this event
[here](https://developer.chrome.com/blog/scrollend-a-new-javascript-event/).
This PR adds support for the `onScrollEnd` prop, following the
implementation for `onScroll`.
## How did you test this change?
Added unit tests.
DiffTrain build for [537228f9fd](https://github.com/facebook/react/commit/537228f9fd703d18bea1f6d20fa0e5006b795c42)
This commit is contained in:
@@ -1 +1 @@
|
||||
be67db46b60d94f9fbefccf2523429af25873e5b
|
||||
537228f9fd703d18bea1f6d20fa0e5006b795c42
|
||||
|
||||
@@ -27,7 +27,7 @@ if (
|
||||
}
|
||||
"use strict";
|
||||
|
||||
var ReactVersion = "18.3.0-www-classic-5bedd128";
|
||||
var ReactVersion = "18.3.0-www-classic-01108d4a";
|
||||
|
||||
// ATTENTION
|
||||
// When adding new symbols to this file,
|
||||
|
||||
@@ -615,4 +615,4 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "18.3.0-www-modern-1eaea04e";
|
||||
exports.version = "18.3.0-www-modern-00808b45";
|
||||
|
||||
@@ -626,7 +626,7 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "18.3.0-www-modern-316f00ed";
|
||||
exports.version = "18.3.0-www-modern-313f0ec6";
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
|
||||
@@ -34036,7 +34036,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-www-classic-ba4a7e73";
|
||||
var ReactVersion = "18.3.0-www-classic-2d079347";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
@@ -37189,7 +37189,7 @@ var topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important
|
||||
//
|
||||
// prettier-ignore
|
||||
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'scrollEnd', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
|
||||
{
|
||||
// Special case: these two events don't have on* React handler
|
||||
@@ -37325,6 +37325,7 @@ function extractEvents$1(
|
||||
break;
|
||||
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
|
||||
@@ -37385,7 +37386,7 @@ function extractEvents$1(
|
||||
// nonDelegatedEvents list in DOMPluginEventSystem.
|
||||
// Then we can remove this special list.
|
||||
// This is a breaking change that can wait until React 18.
|
||||
domEventName === "scroll";
|
||||
(domEventName === "scroll" || domEventName === "scrollend");
|
||||
|
||||
var _listeners = accumulateSinglePhaseListeners(
|
||||
targetInst,
|
||||
@@ -37525,9 +37526,15 @@ var mediaEventTypes = [
|
||||
// because these events do not consistently bubble in the DOM.
|
||||
|
||||
var nonDelegatedEvents = new Set(
|
||||
["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(
|
||||
mediaEventTypes
|
||||
)
|
||||
[
|
||||
"cancel",
|
||||
"close",
|
||||
"invalid",
|
||||
"load",
|
||||
"scroll",
|
||||
"scrollend",
|
||||
"toggle"
|
||||
].concat(mediaEventTypes)
|
||||
);
|
||||
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
@@ -38786,6 +38793,18 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "dangerouslySetInnerHTML": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "object" || !("__html" in value)) {
|
||||
@@ -39194,6 +39213,18 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "onClick": {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
if (value != null) {
|
||||
@@ -41257,6 +41288,10 @@ function diffHydratedProperties(
|
||||
listenToNonDelegatedEvent("scroll", domElement);
|
||||
}
|
||||
|
||||
if (props.onScrollEnd != null) {
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
if (props.onClick != null) {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
trapClickOnNonInteractiveElement(domElement);
|
||||
|
||||
@@ -33881,7 +33881,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-www-modern-c68162ba";
|
||||
var ReactVersion = "18.3.0-www-modern-a7b8748a";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
@@ -37697,7 +37697,7 @@ var topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important
|
||||
//
|
||||
// prettier-ignore
|
||||
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'scrollEnd', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
|
||||
{
|
||||
// Special case: these two events don't have on* React handler
|
||||
@@ -37833,6 +37833,7 @@ function extractEvents$1(
|
||||
break;
|
||||
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
|
||||
@@ -37893,7 +37894,7 @@ function extractEvents$1(
|
||||
// nonDelegatedEvents list in DOMPluginEventSystem.
|
||||
// Then we can remove this special list.
|
||||
// This is a breaking change that can wait until React 18.
|
||||
domEventName === "scroll";
|
||||
(domEventName === "scroll" || domEventName === "scrollend");
|
||||
|
||||
var _listeners = accumulateSinglePhaseListeners(
|
||||
targetInst,
|
||||
@@ -38033,9 +38034,15 @@ var mediaEventTypes = [
|
||||
// because these events do not consistently bubble in the DOM.
|
||||
|
||||
var nonDelegatedEvents = new Set(
|
||||
["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(
|
||||
mediaEventTypes
|
||||
)
|
||||
[
|
||||
"cancel",
|
||||
"close",
|
||||
"invalid",
|
||||
"load",
|
||||
"scroll",
|
||||
"scrollend",
|
||||
"toggle"
|
||||
].concat(mediaEventTypes)
|
||||
);
|
||||
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
@@ -39299,6 +39306,18 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "dangerouslySetInnerHTML": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "object" || !("__html" in value)) {
|
||||
@@ -39707,6 +39726,18 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "onClick": {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
if (value != null) {
|
||||
@@ -41767,6 +41798,10 @@ function diffHydratedProperties(
|
||||
listenToNonDelegatedEvent("scroll", domElement);
|
||||
}
|
||||
|
||||
if (props.onScrollEnd != null) {
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
if (props.onClick != null) {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
trapClickOnNonInteractiveElement(domElement);
|
||||
|
||||
@@ -12835,7 +12835,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -12905,7 +12905,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -13182,6 +13184,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -13226,7 +13229,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -13755,6 +13759,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -13988,6 +13995,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -14857,6 +14867,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -16390,7 +16401,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1779 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-classic-4be75e6a",
|
||||
version: "18.3.0-www-classic-526fea3c",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2125 = {
|
||||
@@ -16420,7 +16431,7 @@ var internals$jscomp$inline_2125 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-classic-4be75e6a"
|
||||
reconcilerVersion: "18.3.0-www-classic-526fea3c"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2126 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -16757,4 +16768,4 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-classic-4be75e6a";
|
||||
exports.version = "18.3.0-www-classic-526fea3c";
|
||||
|
||||
@@ -13075,7 +13075,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -13145,7 +13145,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -13422,6 +13424,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -13466,7 +13469,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -13995,6 +13999,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -14228,6 +14235,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -15082,6 +15092,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -15912,7 +15923,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1738 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-modern-81ff1bb4",
|
||||
version: "18.3.0-www-modern-956715e8",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2089 = {
|
||||
@@ -15943,7 +15954,7 @@ var internals$jscomp$inline_2089 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-modern-81ff1bb4"
|
||||
reconcilerVersion: "18.3.0-www-modern-956715e8"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2090 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -16208,4 +16219,4 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-modern-81ff1bb4";
|
||||
exports.version = "18.3.0-www-modern-956715e8";
|
||||
|
||||
@@ -13610,7 +13610,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -13680,7 +13680,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -13957,6 +13959,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -14001,7 +14004,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -14530,6 +14534,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -14763,6 +14770,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -15632,6 +15642,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -17165,7 +17176,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1864 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-classic-ff5a1ccf",
|
||||
version: "18.3.0-www-classic-c1e1b7dc",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
(function (internals) {
|
||||
@@ -17209,7 +17220,7 @@ var devToolsConfig$jscomp$inline_1864 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-classic-ff5a1ccf"
|
||||
reconcilerVersion: "18.3.0-www-classic-c1e1b7dc"
|
||||
});
|
||||
assign(Internals, {
|
||||
ReactBrowserEventEmitter: {
|
||||
@@ -17533,7 +17544,7 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-classic-ff5a1ccf";
|
||||
exports.version = "18.3.0-www-classic-c1e1b7dc";
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
|
||||
@@ -13844,7 +13844,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -13914,7 +13914,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -14191,6 +14193,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -14235,7 +14238,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -14764,6 +14768,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -14997,6 +15004,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -15851,6 +15861,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -16681,7 +16692,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1823 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-modern-0262bd01",
|
||||
version: "18.3.0-www-modern-003e81c0",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
(function (internals) {
|
||||
@@ -16726,7 +16737,7 @@ var devToolsConfig$jscomp$inline_1823 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-modern-0262bd01"
|
||||
reconcilerVersion: "18.3.0-www-modern-003e81c0"
|
||||
});
|
||||
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
|
||||
exports.createPortal = function (children, container) {
|
||||
@@ -16978,7 +16989,7 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-modern-0262bd01";
|
||||
exports.version = "18.3.0-www-modern-003e81c0";
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
|
||||
@@ -34653,7 +34653,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-www-classic-8ec75daf";
|
||||
var ReactVersion = "18.3.0-www-classic-9928cd8e";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
@@ -37806,7 +37806,7 @@ var topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important
|
||||
//
|
||||
// prettier-ignore
|
||||
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'scrollEnd', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
|
||||
{
|
||||
// Special case: these two events don't have on* React handler
|
||||
@@ -37942,6 +37942,7 @@ function extractEvents$1(
|
||||
break;
|
||||
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
|
||||
@@ -38002,7 +38003,7 @@ function extractEvents$1(
|
||||
// nonDelegatedEvents list in DOMPluginEventSystem.
|
||||
// Then we can remove this special list.
|
||||
// This is a breaking change that can wait until React 18.
|
||||
domEventName === "scroll";
|
||||
(domEventName === "scroll" || domEventName === "scrollend");
|
||||
|
||||
var _listeners = accumulateSinglePhaseListeners(
|
||||
targetInst,
|
||||
@@ -38142,9 +38143,15 @@ var mediaEventTypes = [
|
||||
// because these events do not consistently bubble in the DOM.
|
||||
|
||||
var nonDelegatedEvents = new Set(
|
||||
["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(
|
||||
mediaEventTypes
|
||||
)
|
||||
[
|
||||
"cancel",
|
||||
"close",
|
||||
"invalid",
|
||||
"load",
|
||||
"scroll",
|
||||
"scrollend",
|
||||
"toggle"
|
||||
].concat(mediaEventTypes)
|
||||
);
|
||||
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
@@ -39403,6 +39410,18 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "dangerouslySetInnerHTML": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "object" || !("__html" in value)) {
|
||||
@@ -39811,6 +39830,18 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "onClick": {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
if (value != null) {
|
||||
@@ -41874,6 +41905,10 @@ function diffHydratedProperties(
|
||||
listenToNonDelegatedEvent("scroll", domElement);
|
||||
}
|
||||
|
||||
if (props.onScrollEnd != null) {
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
if (props.onClick != null) {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
trapClickOnNonInteractiveElement(domElement);
|
||||
|
||||
@@ -34498,7 +34498,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-www-modern-1eaea04e";
|
||||
var ReactVersion = "18.3.0-www-modern-00808b45";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
@@ -38314,7 +38314,7 @@ var topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important
|
||||
//
|
||||
// prettier-ignore
|
||||
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
var simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'scrollEnd', 'toggle', 'touchMove', 'waiting', 'wheel'];
|
||||
|
||||
{
|
||||
// Special case: these two events don't have on* React handler
|
||||
@@ -38450,6 +38450,7 @@ function extractEvents$1(
|
||||
break;
|
||||
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
|
||||
@@ -38510,7 +38511,7 @@ function extractEvents$1(
|
||||
// nonDelegatedEvents list in DOMPluginEventSystem.
|
||||
// Then we can remove this special list.
|
||||
// This is a breaking change that can wait until React 18.
|
||||
domEventName === "scroll";
|
||||
(domEventName === "scroll" || domEventName === "scrollend");
|
||||
|
||||
var _listeners = accumulateSinglePhaseListeners(
|
||||
targetInst,
|
||||
@@ -38650,9 +38651,15 @@ var mediaEventTypes = [
|
||||
// because these events do not consistently bubble in the DOM.
|
||||
|
||||
var nonDelegatedEvents = new Set(
|
||||
["cancel", "close", "invalid", "load", "scroll", "toggle"].concat(
|
||||
mediaEventTypes
|
||||
)
|
||||
[
|
||||
"cancel",
|
||||
"close",
|
||||
"invalid",
|
||||
"load",
|
||||
"scroll",
|
||||
"scrollend",
|
||||
"toggle"
|
||||
].concat(mediaEventTypes)
|
||||
);
|
||||
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
@@ -39916,6 +39923,18 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "dangerouslySetInnerHTML": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "object" || !("__html" in value)) {
|
||||
@@ -40324,6 +40343,18 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onScrollEnd": {
|
||||
if (value != null) {
|
||||
if (typeof value !== "function") {
|
||||
warnForInvalidEventListener(key, value);
|
||||
}
|
||||
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "onClick": {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
if (value != null) {
|
||||
@@ -42384,6 +42415,10 @@ function diffHydratedProperties(
|
||||
listenToNonDelegatedEvent("scroll", domElement);
|
||||
}
|
||||
|
||||
if (props.onScrollEnd != null) {
|
||||
listenToNonDelegatedEvent("scrollend", domElement);
|
||||
}
|
||||
|
||||
if (props.onClick != null) {
|
||||
// TODO: This cast may not be sound for SVG, MathML or custom elements.
|
||||
trapClickOnNonInteractiveElement(domElement);
|
||||
|
||||
@@ -13107,7 +13107,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -13177,7 +13177,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -13454,6 +13456,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -13498,7 +13501,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -14027,6 +14031,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -14260,6 +14267,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -15129,6 +15139,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -16719,7 +16730,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1808 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-classic-5bedd128",
|
||||
version: "18.3.0-www-classic-01108d4a",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2159 = {
|
||||
@@ -16749,7 +16760,7 @@ var internals$jscomp$inline_2159 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-classic-5bedd128"
|
||||
reconcilerVersion: "18.3.0-www-classic-01108d4a"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2160 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -17237,4 +17248,4 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-classic-5bedd128";
|
||||
exports.version = "18.3.0-www-classic-01108d4a";
|
||||
|
||||
@@ -13402,7 +13402,7 @@ var ANIMATION_END = getVendorPrefixedEventName("animationend"),
|
||||
TRANSITION_END = getVendorPrefixedEventName("transitionend"),
|
||||
topLevelEventsToReactNames = new Map(),
|
||||
simpleEventPluginEvents =
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
|
||||
"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(
|
||||
" "
|
||||
);
|
||||
topLevelEventsToReactNames.set("beforeblur", null);
|
||||
@@ -13472,7 +13472,9 @@ var mediaEventTypes =
|
||||
" "
|
||||
),
|
||||
nonDelegatedEvents = new Set(
|
||||
"cancel close invalid load scroll toggle".split(" ").concat(mediaEventTypes)
|
||||
"cancel close invalid load scroll scrollend toggle"
|
||||
.split(" ")
|
||||
.concat(mediaEventTypes)
|
||||
);
|
||||
function executeDispatch(event, listener, currentTarget) {
|
||||
var type = event.type || "unknown-event";
|
||||
@@ -13749,6 +13751,7 @@ function dispatchEventForPluginEventSystem(
|
||||
SyntheticEventCtor = SyntheticTransitionEvent;
|
||||
break;
|
||||
case "scroll":
|
||||
case "scrollend":
|
||||
SyntheticEventCtor = SyntheticUIEvent;
|
||||
break;
|
||||
case "wheel":
|
||||
@@ -13793,7 +13796,8 @@ function dispatchEventForPluginEventSystem(
|
||||
reactName,
|
||||
nativeEvent.type,
|
||||
inCapturePhase,
|
||||
!inCapturePhase && "scroll" === domEventName,
|
||||
!inCapturePhase &&
|
||||
("scroll" === domEventName || "scrollend" === domEventName),
|
||||
nativeEvent
|
||||
)),
|
||||
0 < inCapturePhase.length &&
|
||||
@@ -14322,6 +14326,9 @@ function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "dangerouslySetInnerHTML":
|
||||
if (null != value) {
|
||||
if ("object" !== typeof value || !("__html" in value))
|
||||
@@ -14555,6 +14562,9 @@ function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
|
||||
case "onScroll":
|
||||
null != value && listenToNonDelegatedEvent("scroll", domElement);
|
||||
break;
|
||||
case "onScrollEnd":
|
||||
null != value && listenToNonDelegatedEvent("scrollend", domElement);
|
||||
break;
|
||||
case "onClick":
|
||||
null != value && (domElement.onclick = noop$1);
|
||||
break;
|
||||
@@ -15409,6 +15419,7 @@ function hydrateInstance(
|
||||
normalizeMarkupForTextOrAttribute(internalInstanceHandle)),
|
||||
"body" !== type && (instance.textContent = hostContext));
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
@@ -16296,7 +16307,7 @@ Internals.Events = [
|
||||
var devToolsConfig$jscomp$inline_1767 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-www-modern-316f00ed",
|
||||
version: "18.3.0-www-modern-313f0ec6",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2123 = {
|
||||
@@ -16327,7 +16338,7 @@ var internals$jscomp$inline_2123 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-www-modern-316f00ed"
|
||||
reconcilerVersion: "18.3.0-www-modern-313f0ec6"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2124 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -16743,4 +16754,4 @@ exports.useFormState = function () {
|
||||
exports.useFormStatus = function () {
|
||||
throw Error(formatProdErrorMessage(248));
|
||||
};
|
||||
exports.version = "18.3.0-www-modern-316f00ed";
|
||||
exports.version = "18.3.0-www-modern-313f0ec6";
|
||||
|
||||
Reference in New Issue
Block a user