|
|
import getClientRect from '../utils/getClientRect'; |
|
|
import getOppositePlacement from '../utils/getOppositePlacement'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default function inner(data) { |
|
|
const placement = data.placement; |
|
|
const basePlacement = placement.split('-')[0]; |
|
|
const { popper, reference } = data.offsets; |
|
|
const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; |
|
|
|
|
|
const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; |
|
|
|
|
|
popper[isHoriz ? 'left' : 'top'] = |
|
|
reference[basePlacement] - |
|
|
(subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); |
|
|
|
|
|
data.placement = getOppositePlacement(placement); |
|
|
data.offsets.popper = getClientRect(popper); |
|
|
|
|
|
return data; |
|
|
} |
|
|
|