@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
31 lines • 1.28 kB
JavaScript
import { PageControlDirectionType } from '../types/pageControlStates';
export const getPositionWithIn = (currentPosition, pages) => {
return Math.max(0, Math.min(currentPosition, pages - 1));
};
export const calcFirstLastVisiblePosition = ({ isBullet, direction, currentPosition, pages, dots, }) => {
let firstVisiblePosition = 0;
let lastVisiblePosition = firstVisiblePosition + dots - 1;
// On lines pagination (!isBullet), we do not use forth and back logic
if (!isBullet || direction === PageControlDirectionType.FORTH) {
if (currentPosition - dots < 0) {
firstVisiblePosition = 0;
lastVisiblePosition = firstVisiblePosition + dots - 1;
}
else {
lastVisiblePosition = currentPosition;
firstVisiblePosition = lastVisiblePosition - (dots - 1);
}
}
else {
if (pages - dots <= currentPosition) {
lastVisiblePosition = pages - 1;
firstVisiblePosition = lastVisiblePosition - (dots - 1);
}
else {
firstVisiblePosition = currentPosition;
lastVisiblePosition = firstVisiblePosition + dots - 1;
}
}
return { firstVisiblePosition, lastVisiblePosition };
};
//# sourceMappingURL=positions.js.map