react-pdf-builder
Version:
Build beautiful PDF documents in React.
23 lines (22 loc) • 1.53 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PDFStory = void 0;
const renderer_1 = require("@react-pdf/renderer");
const react_1 = __importDefault(require("react"));
const ThemedPage_1 = require("../../components/basics/ThemedPage");
const Themes_1 = require("../../themes/Themes");
const Fonts_1 = require("../../fonts/Fonts");
const PDFThemeProvider_1 = require("../../components/theme/PDFThemeProvider");
const PDFStory = ({ children, pageSize = 'LETTER', orientation, scale = 1, pageProps, themeBuilder, width = 500, height = 700, }) => {
const theme = (themeBuilder !== null && themeBuilder !== void 0 ? themeBuilder : Themes_1.Themes.default).build({ scale });
const roboto = Fonts_1.Fonts.load(Fonts_1.Fonts.sansSerif.roboto);
renderer_1.Font.register(roboto);
return (react_1.default.createElement(PDFThemeProvider_1.PDFThemeProvider, { theme: theme },
react_1.default.createElement(renderer_1.PDFViewer, { style: { height, width } },
react_1.default.createElement(renderer_1.Document, null,
react_1.default.createElement(ThemedPage_1.ThemedPage, Object.assign({ size: pageSize, orientation: orientation }, pageProps, { style: Object.assign({ fontFamily: roboto.family }, pageProps === null || pageProps === void 0 ? void 0 : pageProps.style) }), children)))));
};
exports.PDFStory = PDFStory;
;