Jesus sucks
This commit is contained in:
63
backend/frontend/node_modules/react-bootstrap/esm/TransitionWrapper.js
generated
vendored
Normal file
63
backend/frontend/node_modules/react-bootstrap/esm/TransitionWrapper.js
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
"use client";
|
||||
|
||||
import React, { useCallback, useRef } from 'react';
|
||||
import Transition from 'react-transition-group/Transition';
|
||||
import useMergedRefs from '@restart/hooks/useMergedRefs';
|
||||
import safeFindDOMNode from './safeFindDOMNode';
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
// Normalizes Transition callbacks when nodeRef is used.
|
||||
const TransitionWrapper = /*#__PURE__*/React.forwardRef(({
|
||||
onEnter,
|
||||
onEntering,
|
||||
onEntered,
|
||||
onExit,
|
||||
onExiting,
|
||||
onExited,
|
||||
addEndListener,
|
||||
children,
|
||||
childRef,
|
||||
...props
|
||||
}, ref) => {
|
||||
const nodeRef = useRef(null);
|
||||
const mergedRef = useMergedRefs(nodeRef, childRef);
|
||||
const attachRef = r => {
|
||||
mergedRef(safeFindDOMNode(r));
|
||||
};
|
||||
const normalize = callback => param => {
|
||||
if (callback && nodeRef.current) {
|
||||
callback(nodeRef.current, param);
|
||||
}
|
||||
};
|
||||
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
const handleEnter = useCallback(normalize(onEnter), [onEnter]);
|
||||
const handleEntering = useCallback(normalize(onEntering), [onEntering]);
|
||||
const handleEntered = useCallback(normalize(onEntered), [onEntered]);
|
||||
const handleExit = useCallback(normalize(onExit), [onExit]);
|
||||
const handleExiting = useCallback(normalize(onExiting), [onExiting]);
|
||||
const handleExited = useCallback(normalize(onExited), [onExited]);
|
||||
const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);
|
||||
/* eslint-enable react-hooks/exhaustive-deps */
|
||||
|
||||
return /*#__PURE__*/_jsx(Transition, {
|
||||
ref: ref,
|
||||
...props,
|
||||
onEnter: handleEnter,
|
||||
onEntered: handleEntered,
|
||||
onEntering: handleEntering,
|
||||
onExit: handleExit,
|
||||
onExited: handleExited,
|
||||
onExiting: handleExiting,
|
||||
addEndListener: handleAddEndListener,
|
||||
nodeRef: nodeRef,
|
||||
children: typeof children === 'function' ? (status, innerProps) =>
|
||||
// TODO: Types for RTG missing innerProps, so need to cast.
|
||||
children(status, {
|
||||
...innerProps,
|
||||
ref: attachRef
|
||||
}) : /*#__PURE__*/React.cloneElement(children, {
|
||||
ref: attachRef
|
||||
})
|
||||
});
|
||||
});
|
||||
export default TransitionWrapper;
|
||||
Reference in New Issue
Block a user