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 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
- dataURL,
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 }, dataURL ? /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_renderer8.Image, { src: dataURL || "/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);
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
- dataURL: string;
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
- dataURL: string;
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
- dataURL,
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 }, dataURL ? /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(Image2, { src: dataURL || "/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);
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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-pdf-levelup",
3
- "version": "1.0.15",
3
+ "version": "1.0.16",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",