Vulture/VApp/node_modules/vuetify/lib/components/VSlideGroup/helpers.mjs

41 lines
1.7 KiB
JavaScript
Raw Normal View History

export function bias(val) {
const c = 0.501;
const x = Math.abs(val);
return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1));
}
export function calculateUpdatedOffset(_ref) {
let {
selectedElement,
containerSize,
contentSize,
isRtl,
currentScrollOffset,
isHorizontal
} = _ref;
const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight;
const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop;
const adjustedOffsetStart = isRtl && isHorizontal ? contentSize - offsetStart - clientSize : offsetStart;
const totalSize = containerSize + currentScrollOffset;
const itemOffset = clientSize + adjustedOffsetStart;
const additionalOffset = clientSize * 0.4;
if (adjustedOffsetStart <= currentScrollOffset) {
currentScrollOffset = Math.max(adjustedOffsetStart - additionalOffset, 0);
} else if (totalSize <= itemOffset) {
currentScrollOffset = Math.min(currentScrollOffset - (totalSize - itemOffset - additionalOffset), contentSize - containerSize);
}
return currentScrollOffset;
}
export function calculateCenteredOffset(_ref2) {
let {
selectedElement,
containerSize,
contentSize,
isRtl,
isHorizontal
} = _ref2;
const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight;
const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop;
const offsetCentered = isRtl && isHorizontal ? contentSize - offsetStart - clientSize / 2 - containerSize / 2 : offsetStart + clientSize / 2 - containerSize / 2;
return Math.min(contentSize - containerSize, Math.max(0, offsetCentered));
}
//# sourceMappingURL=helpers.mjs.map