{"version":3,"file":"usePopper.mjs","sources":["../../../../../../../../node_modules/react-popper/lib/esm/usePopper.js"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var prevOptions = React.useRef(null);\n  var optionsWithDefaults = {\n    onFirstUpdate: options.onFirstUpdate,\n    placement: options.placement || 'bottom',\n    strategy: options.strategy || 'absolute',\n    modifiers: options.modifiers || EMPTY_MODIFIERS\n  };\n\n  var _React$useState = React.useState({\n    styles: {\n      popper: {\n        position: optionsWithDefaults.strategy,\n        left: '0',\n        top: '0'\n      },\n      arrow: {\n        position: 'absolute'\n      }\n    },\n    attributes: {}\n  }),\n      state = _React$useState[0],\n      setState = _React$useState[1];\n\n  var updateStateModifier = React.useMemo(function () {\n    return {\n      name: 'updateState',\n      enabled: true,\n      phase: 'write',\n      fn: function fn(_ref) {\n        var state = _ref.state;\n        var elements = Object.keys(state.elements);\n        ReactDOM.flushSync(function () {\n          setState({\n            styles: fromEntries(elements.map(function (element) {\n              return [element, state.styles[element] || {}];\n            })),\n            attributes: fromEntries(elements.map(function (element) {\n              return [element, state.attributes[element]];\n            }))\n          });\n        });\n      },\n      requires: ['computeStyles']\n    };\n  }, []);\n  var popperOptions = React.useMemo(function () {\n    var newOptions = {\n      onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n      placement: optionsWithDefaults.placement,\n      strategy: optionsWithDefaults.strategy,\n      modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n        name: 'applyStyles',\n        enabled: false\n      }])\n    };\n\n    if (isEqual(prevOptions.current, newOptions)) {\n      return prevOptions.current || newOptions;\n    } else {\n      prevOptions.current = newOptions;\n      return newOptions;\n    }\n  }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n  var popperInstanceRef = React.useRef();\n  useIsomorphicLayoutEffect(function () {\n    if (popperInstanceRef.current) {\n      popperInstanceRef.current.setOptions(popperOptions);\n    }\n  }, [popperOptions]);\n  useIsomorphicLayoutEffect(function () {\n    if (referenceElement == null || popperElement == null) {\n      return;\n    }\n\n    var createPopper = options.createPopper || defaultCreatePopper;\n    var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n    popperInstanceRef.current = popperInstance;\n    return function () {\n      popperInstance.destroy();\n      popperInstanceRef.current = null;\n    };\n  }, [referenceElement, popperElement, options.createPopper]);\n  return {\n    state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n    styles: state.styles,\n    attributes: state.attributes,\n    update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n    forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n  };\n};"],"names":["ReactDOM.flushSync","createPopper","defaultCreatePopper"],"mappings":"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","x_google_ignoreList":[0]}