import{top,bottom,left,right}from"../enums.js";import detectOverflow from"../utils/detectOverflow.js";function getSideOffsets(e,t,r){return{top:e.top-t.height-(r=void 0===r?{x:0,y:0}:r).y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function isAnySideFullyClipped(t){return[top,right,bottom,left].some(function(e){return 0<=t[e]})}function hide(e){var t=e.state,e=e.name,r=t.rects.reference,i=t.rects.popper,p=t.modifiersData.preventOverflow,o=detectOverflow(t,{elementContext:"reference"}),f=detectOverflow(t,{altBoundary:!0}),o=getSideOffsets(o,r),r=getSideOffsets(f,i,p),f=isAnySideFullyClipped(o),i=isAnySideFullyClipped(r);t.modifiersData[e]={referenceClippingOffsets:o,popperEscapeOffsets:r,isReferenceHidden:f,hasPopperEscaped:i},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":i})}export default{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};