UNPKG

@chalkbooks/react-doc-viewer

Version:
31 lines (30 loc) 2.81 kB
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; import React, { useContext } from "react"; import styled from "styled-components"; import { Button } from "../../../components/common"; import { PDFContext } from "../state"; import { setCurrentPage } from "../state/actions"; import { NextPDFNavIcon, PrevPDFNavIcon } from "./icons"; import { useTranslation } from "../../../hooks/useTranslation"; var PDFPagination = function () { var _a = useContext(PDFContext), _b = _a.state, currentPage = _b.currentPage, numPages = _b.numPages, dispatch = _a.dispatch; var t = useTranslation().t; return (React.createElement(Container, { id: "pdf-pagination" }, React.createElement(PageNavButtonLeft, { id: "pdf-pagination-prev", onClick: function () { return dispatch(setCurrentPage(currentPage - 1)); }, disabled: currentPage === 1 }, React.createElement(PrevPDFNavIcon, { color: "#000", size: "50%" })), React.createElement(PageTag, { id: "pdf-pagination-info" }, t("pdfPluginPageNumber", { currentPage: currentPage, allPagesCount: numPages, })), React.createElement(PageNavButtonRight, { id: "pdf-pagination-next", onClick: function () { return dispatch(setCurrentPage(currentPage + 1)); }, disabled: currentPage >= numPages }, React.createElement(NextPDFNavIcon, { color: "#000", size: "50%" })))); }; export default PDFPagination; var Container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"]))); var PageNavButtonLeft = styled(Button)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 30px;\n height: 30px;\n margin: 0 5px;\n\n @media (max-width: 768px) {\n width: 25px;\n height: 25px;\n }\n"], ["\n width: 30px;\n height: 30px;\n margin: 0 5px;\n\n @media (max-width: 768px) {\n width: 25px;\n height: 25px;\n }\n"]))); var PageNavButtonRight = styled(PageNavButtonLeft)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin: 0 20px 0 5px;\n"], ["\n margin: 0 20px 0 5px;\n"]))); var PageTag = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n font-size: 14px;\n text-align: left;\n\n @media (max-width: 768px) {\n font-size: 10px;\n }\n"], ["\n color: ", ";\n font-size: 14px;\n text-align: left;\n\n @media (max-width: 768px) {\n font-size: 10px;\n }\n"])), function (props) { return props.theme.textPrimary; }); var templateObject_1, templateObject_2, templateObject_3, templateObject_4;