Files
rspade_system/node_modules/popper.js/src/modifiers/shift.js
root f6fac6c4bc Fix bin/publish: copy docs.dist from project root
Fix bin/publish: use correct .env path for rspade_system
Fix bin/publish script: prevent grep exit code 1 from terminating script

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 02:08:33 +00:00

32 lines
999 B
JavaScript
Executable File

/**
* @function
* @memberof Modifiers
* @argument {Object} data - The data object generated by `update` method
* @argument {Object} options - Modifiers configuration and options
* @returns {Object} The data object, properly modified
*/
export default function shift(data) {
const placement = data.placement;
const basePlacement = placement.split('-')[0];
const shiftvariation = placement.split('-')[1];
// if shift shiftvariation is specified, run the modifier
if (shiftvariation) {
const { reference, popper } = data.offsets;
const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
const side = isVertical ? 'left' : 'top';
const measurement = isVertical ? 'width' : 'height';
const shiftOffsets = {
start: { [side]: reference[side] },
end: {
[side]: reference[side] + reference[measurement] - popper[measurement],
},
};
data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };
}
return data;
}