| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | import { top, bottom, left, right } from "../enums.js";import detectOverflow from "../utils/detectOverflow.js";function getSideOffsets(overflow, rect, preventedOffsets) {  if (preventedOffsets === void 0) {    preventedOffsets = {      x: 0,      y: 0    };  }  return {    top: overflow.top - rect.height - preventedOffsets.y,    right: overflow.right - rect.width + preventedOffsets.x,    bottom: overflow.bottom - rect.height + preventedOffsets.y,    left: overflow.left - rect.width - preventedOffsets.x  };}function isAnySideFullyClipped(overflow) {  return [top, right, bottom, left].some(function (side) {    return overflow[side] >= 0;  });}function hide(_ref) {  var state = _ref.state,      name = _ref.name;  var referenceRect = state.rects.reference;  var popperRect = state.rects.popper;  var preventedOffsets = state.modifiersData.preventOverflow;  var referenceOverflow = detectOverflow(state, {    elementContext: 'reference'  });  var popperAltOverflow = detectOverflow(state, {    altBoundary: true  });  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);  state.modifiersData[name] = {    referenceClippingOffsets: referenceClippingOffsets,    popperEscapeOffsets: popperEscapeOffsets,    isReferenceHidden: isReferenceHidden,    hasPopperEscaped: hasPopperEscaped  };  state.attributes.popper = Object.assign({}, state.attributes.popper, {    'data-popper-reference-hidden': isReferenceHidden,    'data-popper-escaped': hasPopperEscaped  });} // eslint-disable-next-line import/no-unused-modulesexport default {  name: 'hide',  enabled: true,  phase: 'main',  requiresIfExists: ['preventOverflow'],  fn: hide};
 |