1 line
823 B
JavaScript
1 line
823 B
JavaScript
import getVariation from"./getVariation.js";import{variationPlacements,basePlacements,placements as allPlacements}from"../enums.js";import detectOverflow from"./detectOverflow.js";import getBasePlacement from"./getBasePlacement.js";export default function computeAutoPlacement(a,e){var e=e=void 0===e?{}:e,t=e.placement,n=e.boundary,r=e.rootBoundary,o=e.padding,i=e.flipVariations,e=e.allowedAutoPlacements,l=void 0===e?allPlacements:e,c=getVariation(t),e=c?i?variationPlacements:variationPlacements.filter(function(e){return getVariation(e)===c}):basePlacements,t=e.filter(function(e){return 0<=l.indexOf(e)}),m=(t=0===t.length?e:t).reduce(function(e,t){return e[t]=detectOverflow(a,{placement:t,boundary:n,rootBoundary:r,padding:o})[getBasePlacement(t)],e},{});return Object.keys(m).sort(function(e,t){return m[e]-m[t]})} |