pdf-e-signature
Version:
A React component that allows users to select positions for e-signatures on PDFs
51 lines (50 loc) • 2.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const PDFControls = _ref => {
let {
numPages,
currentPage,
setCurrentPage,
scale,
setScale,
onGenerateSignedPdf,
isGeneratingPdf,
hasSignatures,
onReset
} = _ref;
return /*#__PURE__*/_react.default.createElement("div", {
className: "flex justify-between items-center mb-4"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "flex space-x-4"
}, /*#__PURE__*/_react.default.createElement("button", {
onClick: onGenerateSignedPdf,
disabled: !hasSignatures || isGeneratingPdf,
className: "px-4 py-2 bg-blue-500 text-white rounded disabled:bg-gray-300"
}, isGeneratingPdf ? 'Generating PDF...' : 'Generate Signed PDF')), /*#__PURE__*/_react.default.createElement("div", {
className: "flex items-center space-x-4"
}, numPages && /*#__PURE__*/_react.default.createElement("div", {
className: "flex space-x-2 items-center"
}, /*#__PURE__*/_react.default.createElement("button", {
onClick: () => setCurrentPage(prev => Math.max(prev - 1, 1)),
disabled: currentPage <= 1,
className: "px-2 py-1 bg-gray-200 rounded disabled:bg-gray-100"
}, "Previous"), /*#__PURE__*/_react.default.createElement("span", null, "Page ", currentPage, " of ", numPages), /*#__PURE__*/_react.default.createElement("button", {
onClick: () => setCurrentPage(prev => Math.min(prev + 1, numPages)),
disabled: currentPage >= numPages,
className: "px-2 py-1 bg-gray-200 rounded disabled:bg-gray-100"
}, "Next")), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
onClick: () => setScale(prev => Math.max(prev - 0.2, 0.6)),
className: "px-2 py-1 bg-gray-200 rounded mr-1"
}, "-"), /*#__PURE__*/_react.default.createElement("span", {
className: "mx-1"
}, Math.round(scale * 100), "%"), /*#__PURE__*/_react.default.createElement("button", {
onClick: () => setScale(prev => Math.min(prev + 0.2, 3)),
className: "px-2 py-1 bg-gray-200 rounded ml-1"
}, "+"))));
};
var _default = exports.default = PDFControls;