import getBasePlacement from"../utils/getBasePlacement.js";import{top,left,right,placements}from"../enums.js";function distanceAndSkiddingToXY(e,t,n){var s=getBasePlacement(e),f=0<=[left,top].indexOf(s)?-1:1,t="function"==typeof n?n(Object.assign({},t,{placement:e})):n,e=t[0]||0,n=(t[1]||0)*f;return 0<=[left,right].indexOf(s)?{x:n,y:e}:{x:e,y:n}}function offset(e){var n=e.state,t=e.options,e=e.name,t=t.offset,s=void 0===t?[0,0]:t,t=placements.reduce(function(e,t){return e[t]=distanceAndSkiddingToXY(t,n.rects,s),e},{}),f=t[n.placement],i=f.x,f=f.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=i,n.modifiersData.popperOffsets.y+=f),n.modifiersData[e]=t}export default{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};export{distanceAndSkiddingToXY};