react-pdf-levelup 1.0.15 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +29 -2
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +29 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -582,7 +582,9 @@ var Footer = ({ children, style, fixed = false }) => {
|
|
|
582
582
|
|
|
583
583
|
// src/components/PDF/core/QRCode.tsx
|
|
584
584
|
var import_react8 = __toESM(require("react"), 1);
|
|
585
|
+
var import_react9 = require("react");
|
|
585
586
|
var import_renderer8 = require("@react-pdf/renderer");
|
|
587
|
+
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
586
588
|
var styles8 = import_renderer8.StyleSheet.create({
|
|
587
589
|
qrContainer: {
|
|
588
590
|
position: "relative",
|
|
@@ -599,14 +601,39 @@ var styles8 = import_renderer8.StyleSheet.create({
|
|
|
599
601
|
}
|
|
600
602
|
});
|
|
601
603
|
var QRCode = ({
|
|
602
|
-
|
|
604
|
+
value,
|
|
603
605
|
size = 150,
|
|
606
|
+
color = "#000000",
|
|
607
|
+
backgroundColor = "#ffffff",
|
|
608
|
+
errorCorrectionLevel = "M",
|
|
604
609
|
style,
|
|
610
|
+
includeMargin = true,
|
|
605
611
|
logo,
|
|
606
612
|
logoSize = 30,
|
|
607
613
|
logoBackgroundColor = "#ffffff",
|
|
608
614
|
logoMargin = 5
|
|
609
615
|
}) => {
|
|
616
|
+
const [qrDataURL, setQrDataURL] = (0, import_react9.useState)("");
|
|
617
|
+
(0, import_react9.useEffect)(() => {
|
|
618
|
+
const generateQRCode = async () => {
|
|
619
|
+
try {
|
|
620
|
+
const options = {
|
|
621
|
+
errorCorrectionLevel,
|
|
622
|
+
margin: includeMargin ? 4 : 0,
|
|
623
|
+
color: {
|
|
624
|
+
dark: color,
|
|
625
|
+
light: backgroundColor
|
|
626
|
+
},
|
|
627
|
+
width: size
|
|
628
|
+
};
|
|
629
|
+
const dataURL = await import_qrcode.default.toDataURL(value, options);
|
|
630
|
+
setQrDataURL(dataURL);
|
|
631
|
+
} catch (error) {
|
|
632
|
+
console.error("Error generating QR code:", error);
|
|
633
|
+
}
|
|
634
|
+
};
|
|
635
|
+
generateQRCode();
|
|
636
|
+
}, [value, size, color, backgroundColor, errorCorrectionLevel, includeMargin]);
|
|
610
637
|
const containerStyle = __spreadValues(__spreadProps(__spreadValues({}, styles8.qrContainer), {
|
|
611
638
|
width: size,
|
|
612
639
|
height: size
|
|
@@ -622,7 +649,7 @@ var QRCode = ({
|
|
|
622
649
|
width: logoSize,
|
|
623
650
|
height: logoSize
|
|
624
651
|
});
|
|
625
|
-
return /* @__PURE__ */ import_react8.default.createElement(import_renderer8.View, { style: containerStyle },
|
|
652
|
+
return /* @__PURE__ */ import_react8.default.createElement(import_renderer8.View, { style: containerStyle }, qrDataURL ? /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_renderer8.Image, { src: qrDataURL || "/placeholder.svg", style: { width: size, height: size } }), logo && /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_renderer8.View, { style: logoBackgroundStyle }), /* @__PURE__ */ import_react8.default.createElement(import_renderer8.Image, { src: logo || "/placeholder.svg", style: logoStyle }))) : null);
|
|
626
653
|
};
|
|
627
654
|
var QRCode_default = QRCode;
|
|
628
655
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.d.cts
CHANGED
|
@@ -114,9 +114,13 @@ declare const Header: React.FC<PageElementProps>;
|
|
|
114
114
|
declare const Footer: React.FC<PageElementProps>;
|
|
115
115
|
|
|
116
116
|
interface QRCodeProps {
|
|
117
|
-
|
|
117
|
+
value: string;
|
|
118
118
|
size?: number;
|
|
119
|
+
color?: string;
|
|
120
|
+
backgroundColor?: string;
|
|
121
|
+
errorCorrectionLevel?: "L" | "M" | "Q" | "H";
|
|
119
122
|
style?: any;
|
|
123
|
+
includeMargin?: boolean;
|
|
120
124
|
logo?: string;
|
|
121
125
|
logoSize?: number;
|
|
122
126
|
logoBackgroundColor?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -114,9 +114,13 @@ declare const Header: React.FC<PageElementProps>;
|
|
|
114
114
|
declare const Footer: React.FC<PageElementProps>;
|
|
115
115
|
|
|
116
116
|
interface QRCodeProps {
|
|
117
|
-
|
|
117
|
+
value: string;
|
|
118
118
|
size?: number;
|
|
119
|
+
color?: string;
|
|
120
|
+
backgroundColor?: string;
|
|
121
|
+
errorCorrectionLevel?: "L" | "M" | "Q" | "H";
|
|
119
122
|
style?: any;
|
|
123
|
+
includeMargin?: boolean;
|
|
120
124
|
logo?: string;
|
|
121
125
|
logoSize?: number;
|
|
122
126
|
logoBackgroundColor?: string;
|
package/dist/index.js
CHANGED
|
@@ -506,7 +506,9 @@ var Footer = ({ children, style, fixed = false }) => {
|
|
|
506
506
|
|
|
507
507
|
// src/components/PDF/core/QRCode.tsx
|
|
508
508
|
import React8 from "react";
|
|
509
|
+
import { useEffect, useState } from "react";
|
|
509
510
|
import { Image as Image2, StyleSheet as StyleSheet8, View as View5 } from "@react-pdf/renderer";
|
|
511
|
+
import QRCodeLib from "qrcode";
|
|
510
512
|
var styles8 = StyleSheet8.create({
|
|
511
513
|
qrContainer: {
|
|
512
514
|
position: "relative",
|
|
@@ -523,14 +525,39 @@ var styles8 = StyleSheet8.create({
|
|
|
523
525
|
}
|
|
524
526
|
});
|
|
525
527
|
var QRCode = ({
|
|
526
|
-
|
|
528
|
+
value,
|
|
527
529
|
size = 150,
|
|
530
|
+
color = "#000000",
|
|
531
|
+
backgroundColor = "#ffffff",
|
|
532
|
+
errorCorrectionLevel = "M",
|
|
528
533
|
style,
|
|
534
|
+
includeMargin = true,
|
|
529
535
|
logo,
|
|
530
536
|
logoSize = 30,
|
|
531
537
|
logoBackgroundColor = "#ffffff",
|
|
532
538
|
logoMargin = 5
|
|
533
539
|
}) => {
|
|
540
|
+
const [qrDataURL, setQrDataURL] = useState("");
|
|
541
|
+
useEffect(() => {
|
|
542
|
+
const generateQRCode = async () => {
|
|
543
|
+
try {
|
|
544
|
+
const options = {
|
|
545
|
+
errorCorrectionLevel,
|
|
546
|
+
margin: includeMargin ? 4 : 0,
|
|
547
|
+
color: {
|
|
548
|
+
dark: color,
|
|
549
|
+
light: backgroundColor
|
|
550
|
+
},
|
|
551
|
+
width: size
|
|
552
|
+
};
|
|
553
|
+
const dataURL = await QRCodeLib.toDataURL(value, options);
|
|
554
|
+
setQrDataURL(dataURL);
|
|
555
|
+
} catch (error) {
|
|
556
|
+
console.error("Error generating QR code:", error);
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
generateQRCode();
|
|
560
|
+
}, [value, size, color, backgroundColor, errorCorrectionLevel, includeMargin]);
|
|
534
561
|
const containerStyle = __spreadValues(__spreadProps(__spreadValues({}, styles8.qrContainer), {
|
|
535
562
|
width: size,
|
|
536
563
|
height: size
|
|
@@ -546,7 +573,7 @@ var QRCode = ({
|
|
|
546
573
|
width: logoSize,
|
|
547
574
|
height: logoSize
|
|
548
575
|
});
|
|
549
|
-
return /* @__PURE__ */ React8.createElement(View5, { style: containerStyle },
|
|
576
|
+
return /* @__PURE__ */ React8.createElement(View5, { style: containerStyle }, qrDataURL ? /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(Image2, { src: qrDataURL || "/placeholder.svg", style: { width: size, height: size } }), logo && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(View5, { style: logoBackgroundStyle }), /* @__PURE__ */ React8.createElement(Image2, { src: logo || "/placeholder.svg", style: logoStyle }))) : null);
|
|
550
577
|
};
|
|
551
578
|
var QRCode_default = QRCode;
|
|
552
579
|
export {
|