Jesus sucks
This commit is contained in:
96
backend/frontend/node_modules/react-bootstrap/esm/Collapse.js
generated
vendored
Normal file
96
backend/frontend/node_modules/react-bootstrap/esm/Collapse.js
generated
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
import classNames from 'classnames';
|
||||
import css from 'dom-helpers/css';
|
||||
import React, { useMemo } from 'react';
|
||||
import { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';
|
||||
import { getChildRef } from '@restart/ui/utils';
|
||||
import transitionEndListener from './transitionEndListener';
|
||||
import createChainedFunction from './createChainedFunction';
|
||||
import triggerBrowserReflow from './triggerBrowserReflow';
|
||||
import TransitionWrapper from './TransitionWrapper';
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
const MARGINS = {
|
||||
height: ['marginTop', 'marginBottom'],
|
||||
width: ['marginLeft', 'marginRight']
|
||||
};
|
||||
function getDefaultDimensionValue(dimension, elem) {
|
||||
const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;
|
||||
const value = elem[offset];
|
||||
const margins = MARGINS[dimension];
|
||||
return value +
|
||||
// @ts-ignore
|
||||
parseInt(css(elem, margins[0]), 10) +
|
||||
// @ts-ignore
|
||||
parseInt(css(elem, margins[1]), 10);
|
||||
}
|
||||
const collapseStyles = {
|
||||
[EXITED]: 'collapse',
|
||||
[EXITING]: 'collapsing',
|
||||
[ENTERING]: 'collapsing',
|
||||
[ENTERED]: 'collapse show'
|
||||
};
|
||||
const Collapse = /*#__PURE__*/React.forwardRef(({
|
||||
onEnter,
|
||||
onEntering,
|
||||
onEntered,
|
||||
onExit,
|
||||
onExiting,
|
||||
className,
|
||||
children,
|
||||
dimension = 'height',
|
||||
in: inProp = false,
|
||||
timeout = 300,
|
||||
mountOnEnter = false,
|
||||
unmountOnExit = false,
|
||||
appear = false,
|
||||
getDimensionValue = getDefaultDimensionValue,
|
||||
...props
|
||||
}, ref) => {
|
||||
/* Compute dimension */
|
||||
const computedDimension = typeof dimension === 'function' ? dimension() : dimension;
|
||||
|
||||
/* -- Expanding -- */
|
||||
const handleEnter = useMemo(() => createChainedFunction(elem => {
|
||||
elem.style[computedDimension] = '0';
|
||||
}, onEnter), [computedDimension, onEnter]);
|
||||
const handleEntering = useMemo(() => createChainedFunction(elem => {
|
||||
const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;
|
||||
elem.style[computedDimension] = `${elem[scroll]}px`;
|
||||
}, onEntering), [computedDimension, onEntering]);
|
||||
const handleEntered = useMemo(() => createChainedFunction(elem => {
|
||||
elem.style[computedDimension] = null;
|
||||
}, onEntered), [computedDimension, onEntered]);
|
||||
|
||||
/* -- Collapsing -- */
|
||||
const handleExit = useMemo(() => createChainedFunction(elem => {
|
||||
elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;
|
||||
triggerBrowserReflow(elem);
|
||||
}, onExit), [onExit, getDimensionValue, computedDimension]);
|
||||
const handleExiting = useMemo(() => createChainedFunction(elem => {
|
||||
elem.style[computedDimension] = null;
|
||||
}, onExiting), [computedDimension, onExiting]);
|
||||
return /*#__PURE__*/_jsx(TransitionWrapper, {
|
||||
ref: ref,
|
||||
addEndListener: transitionEndListener,
|
||||
...props,
|
||||
"aria-expanded": props.role ? inProp : null,
|
||||
onEnter: handleEnter,
|
||||
onEntering: handleEntering,
|
||||
onEntered: handleEntered,
|
||||
onExit: handleExit,
|
||||
onExiting: handleExiting,
|
||||
childRef: getChildRef(children),
|
||||
in: inProp,
|
||||
timeout: timeout,
|
||||
mountOnEnter: mountOnEnter,
|
||||
unmountOnExit: unmountOnExit,
|
||||
appear: appear,
|
||||
children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, {
|
||||
...innerProps,
|
||||
className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
// @ts-ignore
|
||||
|
||||
export default Collapse;
|
||||
Reference in New Issue
Block a user