/* harmony default export */

/* harmony export (binding) */

/* harmony import */

/*#__PURE__*/

/**
 * Attach a callback that fires when a component unmounts
 *
 * @param fn Handler to run when the component unmounts
 * @category effects
 */

/**
 * Copyright 2013-2014, Facebook, Inc.
 * All rights reserved.
 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js
 */

/**
 * Returns a ref that is immediately updated with the new value
 *
 * @param value The Ref value
 * @category refs
 */

/**
* Wrapper around react-bootstrap's OverlayTrigger disabling the overlay on touch devices.
*/

/***/

//         nextStatus = ENTERING

//         nextStatus = EXITING

//       if (status !== ENTERING && status !== ENTERED) {

//       if (status === ENTERING || status === ENTERED) {

//       }

//     const { status } = this.state

//     if (this.props.in) {

//     }

//     } else {

//   if (prevProps !== this.props) {

//   let nextStatus = null

//   return { nextStatus }

//   }

// EXPORTS //

// FUNCTIONS //

// In the context of a TransitionGroup all enters are really appears

// MAIN //

// MODULES //

// Name the function so it is clearer in the documentation

// TODO: remove fallback for next major

// This shouldn't be necessary, but there are weird race conditions with

// VARIABLES //

// allows for nested Transitions

// eslint-disable-next-line @typescript-eslint/no-unused-expressions

// getSnapshotBeforeUpdate(prevProps) {

// if we are mounting and running this it means appear _must_ be set

// nextStatus will always be ENTERING or EXITING.

// no enter animation skip right to ENTERED

// no exit animation skip right to EXITED

// reading a dimension prop will cause the browser to recalculate,

// setState callbacks and unmounting in testing, so always make sure that

// we can cancel any pending setState callbacks after we unmount.

// which will let our animations work

// }
