@thehappycoder/react-responsive-pagination
Version:
React component for responsive pagination
36 lines (35 loc) • 1.62 kB
JavaScript
import { createTotalWidthCalculator } from './totalWidthCalculator';
import { createItemWidthCalculator } from './itemWidthCalculator';
import { createNavWidthCalculator } from './navWidthCalculator';
import { createPageWidthCalculator } from './pageWidthCalculator';
import { createNumberWidthCalculator } from './numberWidthCalculator';
export { createGraph as createWidthCalculator };
function createGraph(rootMetrics) {
var itemWidths = rootMetrics.itemWidths, outerFrameWidth = rootMetrics.outerFrameWidth;
return createTotalWidthCalculator({
getItemWidth: createItemWidthCalculator({
getPageWidth: createPageWidthCalculator({
getNormalPageWidth: createNumberWidthCalculator({
singleDigit: itemWidths.normalPageSingleDigit,
doubleDigit: itemWidths.normalPageDoubleDigit,
}),
getActivePageWidth: createNumberWidthCalculator({
singleDigit: itemWidths.activePageSingleDigit,
doubleDigit: itemWidths.activePageDoubleDigit,
}),
}),
getNavWidth: createNavWidthCalculator({
previous: {
enabled: itemWidths.navPreviousEnabled,
disabled: itemWidths.navPreviousDisabled,
},
next: {
enabled: itemWidths.navNextEnabled,
disabled: itemWidths.navNextDisabled,
},
}),
ellipsisWidth: itemWidths.ellipsis,
}),
outerFrameWidth: outerFrameWidth,
});
}