@thehappycoder/react-responsive-pagination
Version:
React component for responsive pagination
38 lines (37 loc) • 1.81 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var totalWidthCalculator_1 = require("./totalWidthCalculator");
var itemWidthCalculator_1 = require("./itemWidthCalculator");
var navWidthCalculator_1 = require("./navWidthCalculator");
var pageWidthCalculator_1 = require("./pageWidthCalculator");
var numberWidthCalculator_1 = require("./numberWidthCalculator");
function createGraph(rootMetrics) {
var itemWidths = rootMetrics.itemWidths, outerFrameWidth = rootMetrics.outerFrameWidth;
return totalWidthCalculator_1.createTotalWidthCalculator({
getItemWidth: itemWidthCalculator_1.createItemWidthCalculator({
getPageWidth: pageWidthCalculator_1.createPageWidthCalculator({
getNormalPageWidth: numberWidthCalculator_1.createNumberWidthCalculator({
singleDigit: itemWidths.normalPageSingleDigit,
doubleDigit: itemWidths.normalPageDoubleDigit,
}),
getActivePageWidth: numberWidthCalculator_1.createNumberWidthCalculator({
singleDigit: itemWidths.activePageSingleDigit,
doubleDigit: itemWidths.activePageDoubleDigit,
}),
}),
getNavWidth: navWidthCalculator_1.createNavWidthCalculator({
previous: {
enabled: itemWidths.navPreviousEnabled,
disabled: itemWidths.navPreviousDisabled,
},
next: {
enabled: itemWidths.navNextEnabled,
disabled: itemWidths.navNextDisabled,
},
}),
ellipsisWidth: itemWidths.ellipsis,
}),
outerFrameWidth: outerFrameWidth,
});
}
exports.createWidthCalculator = createGraph;