@acorex/cdk 18.9.8 → 18.10.2

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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1xcmNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9xcmNvZGUvc3JjL2Fjb3JleC1jZGstcXJjb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,3 @@
1
+ import { generateQRCode } from './qrcode.class';
2
+ export { generateQRCode };
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9xcmNvZGUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZW5lcmF0ZVFSQ29kZSB9IGZyb20gJy4vcXJjb2RlLmNsYXNzJztcblxuZXhwb3J0IHsgZ2VuZXJhdGVRUkNvZGUgfTtcbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import QRCode from 'qrcode';
2
+ /**
3
+ * Generates a QR code with the given content and options.
4
+ * @param content - The text/content to encode in the QR code.
5
+ * @param width - The width/size of the QR code.
6
+ * @param level - The error correction level ('L', 'M', 'Q', 'H') (default: 'M').
7
+ * @param color - The color of the QR code (default: '#000000').
8
+ * @param backgroundColor - The background color of the QR code (default: '#FFFFFF').
9
+ * @param outputType - The output type: 'canvas', 'svg', or 'url' (default: 'canvas').
10
+ * @param canvas - Optional canvas element reference if output type is 'canvas'.
11
+ * @param svg - Optional SVG element reference if output type is 'svg'.
12
+ * @returns A Promise that resolves with a URL if the output type is 'url', or void for other types.
13
+ */
14
+ export function generateQRCode(content, // Mandatory content parameter
15
+ width, // Mandatory size parameter
16
+ level = 'M', // Default level is 'M'
17
+ color, // Default color is black
18
+ backgroundColor, // Default background color is white
19
+ outputType = 'canvas', // Default output type is 'canvas'
20
+ canvas, // Optional canvas element for canvas output
21
+ svg) {
22
+ const qrOptions = {
23
+ margin: 0,
24
+ width, // Size is mandatory
25
+ errorCorrectionLevel: level,
26
+ color: {
27
+ dark: color, // QR code color
28
+ light: backgroundColor, // Background color
29
+ },
30
+ };
31
+ return new Promise((resolve, reject) => {
32
+ if (outputType === 'canvas') {
33
+ if (!canvas) {
34
+ reject(new Error('Canvas element is required for canvas output'));
35
+ return;
36
+ }
37
+ QRCode.toCanvas(canvas, content, qrOptions, (error) => {
38
+ if (error) {
39
+ reject(new Error(`Failed to generate QR code on canvas: ${error.message}`));
40
+ }
41
+ else {
42
+ resolve();
43
+ }
44
+ });
45
+ }
46
+ else if (outputType === 'svg') {
47
+ if (!svg) {
48
+ reject(new Error('SVG element is required for SVG output'));
49
+ return;
50
+ }
51
+ QRCode.toString(content, { ...qrOptions, type: 'svg' }, (error, svgString) => {
52
+ if (error) {
53
+ reject(new Error(`Failed to generate QR code as SVG: ${error.message}`));
54
+ }
55
+ else {
56
+ svg.innerHTML = svgString;
57
+ resolve();
58
+ }
59
+ });
60
+ }
61
+ else if (outputType === 'url') {
62
+ QRCode.toDataURL(content, qrOptions, (error, url) => {
63
+ if (error) {
64
+ reject(new Error(`Failed to generate QR code as Data URL: ${error.message}`));
65
+ }
66
+ else {
67
+ resolve(url);
68
+ }
69
+ });
70
+ }
71
+ else {
72
+ reject(new Error('Unsupported output type. Expected "canvas", "svg", or "url".'));
73
+ }
74
+ });
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXJjb2RlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvcXJjb2RlL3NyYy9xcmNvZGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsT0FBZSxFQUFFLDhCQUE4QjtBQUMvQyxLQUFhLEVBQUUsMkJBQTJCO0FBQzFDLFFBQStCLEdBQUcsRUFBRSx1QkFBdUI7QUFDM0QsS0FBYSxFQUFFLHlCQUF5QjtBQUN4QyxlQUF1QixFQUFFLG9DQUFvQztBQUM3RCxhQUF1QyxRQUFRLEVBQUUsa0NBQWtDO0FBQ25GLE1BQTBCLEVBQUUsNENBQTRDO0FBQ3hFLEdBQWlCO0lBRWpCLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixvQkFBb0IsRUFBRSxLQUFLO1FBQzNCLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCO1lBQzdCLEtBQUssRUFBRSxlQUFlLEVBQUUsbUJBQW1CO1NBQzVDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sSUFBSSxPQUFPLENBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3BELElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMseUNBQXlDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxVQUFVLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNULE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQzNFLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHNDQUFzQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDO2dCQUNaLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDJDQUEyQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIFFSIGNvZGUgd2l0aCB0aGUgZ2l2ZW4gY29udGVudCBhbmQgb3B0aW9ucy5cbiAqIEBwYXJhbSBjb250ZW50IC0gVGhlIHRleHQvY29udGVudCB0byBlbmNvZGUgaW4gdGhlIFFSIGNvZGUuXG4gKiBAcGFyYW0gd2lkdGggLSBUaGUgd2lkdGgvc2l6ZSBvZiB0aGUgUVIgY29kZS5cbiAqIEBwYXJhbSBsZXZlbCAtIFRoZSBlcnJvciBjb3JyZWN0aW9uIGxldmVsICgnTCcsICdNJywgJ1EnLCAnSCcpIChkZWZhdWx0OiAnTScpLlxuICogQHBhcmFtIGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBRUiBjb2RlIChkZWZhdWx0OiAnIzAwMDAwMCcpLlxuICogQHBhcmFtIGJhY2tncm91bmRDb2xvciAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBRUiBjb2RlIChkZWZhdWx0OiAnI0ZGRkZGRicpLlxuICogQHBhcmFtIG91dHB1dFR5cGUgLSBUaGUgb3V0cHV0IHR5cGU6ICdjYW52YXMnLCAnc3ZnJywgb3IgJ3VybCcgKGRlZmF1bHQ6ICdjYW52YXMnKS5cbiAqIEBwYXJhbSBjYW52YXMgLSBPcHRpb25hbCBjYW52YXMgZWxlbWVudCByZWZlcmVuY2UgaWYgb3V0cHV0IHR5cGUgaXMgJ2NhbnZhcycuXG4gKiBAcGFyYW0gc3ZnIC0gT3B0aW9uYWwgU1ZHIGVsZW1lbnQgcmVmZXJlbmNlIGlmIG91dHB1dCB0eXBlIGlzICdzdmcnLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFVSTCBpZiB0aGUgb3V0cHV0IHR5cGUgaXMgJ3VybCcsIG9yIHZvaWQgZm9yIG90aGVyIHR5cGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVRUkNvZGUoXG4gIGNvbnRlbnQ6IHN0cmluZywgLy8gTWFuZGF0b3J5IGNvbnRlbnQgcGFyYW1ldGVyXG4gIHdpZHRoOiBudW1iZXIsIC8vIE1hbmRhdG9yeSBzaXplIHBhcmFtZXRlclxuICBsZXZlbDogJ0wnIHwgJ00nIHwgJ1EnIHwgJ0gnID0gJ00nLCAvLyBEZWZhdWx0IGxldmVsIGlzICdNJ1xuICBjb2xvcjogc3RyaW5nLCAvLyBEZWZhdWx0IGNvbG9yIGlzIGJsYWNrXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nLCAvLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgaXMgd2hpdGVcbiAgb3V0cHV0VHlwZTogJ2NhbnZhcycgfCAnc3ZnJyB8ICd1cmwnID0gJ2NhbnZhcycsIC8vIERlZmF1bHQgb3V0cHV0IHR5cGUgaXMgJ2NhbnZhcydcbiAgY2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQsIC8vIE9wdGlvbmFsIGNhbnZhcyBlbGVtZW50IGZvciBjYW52YXMgb3V0cHV0XG4gIHN2Zz86IEhUTUxFbGVtZW50LCAvLyBPcHRpb25hbCBzdmcgZWxlbWVudCBmb3Igc3ZnIG91dHB1dFxuKTogUHJvbWlzZTxzdHJpbmcgfCB2b2lkPiB7XG4gIGNvbnN0IHFyT3B0aW9ucyA9IHtcbiAgICBtYXJnaW46IDAsXG4gICAgd2lkdGgsIC8vIFNpemUgaXMgbWFuZGF0b3J5XG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6IGxldmVsLFxuICAgIGNvbG9yOiB7XG4gICAgICBkYXJrOiBjb2xvciwgLy8gUVIgY29kZSBjb2xvclxuICAgICAgbGlnaHQ6IGJhY2tncm91bmRDb2xvciwgLy8gQmFja2dyb3VuZCBjb2xvclxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZyB8IHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAob3V0cHV0VHlwZSA9PT0gJ2NhbnZhcycpIHtcbiAgICAgIGlmICghY2FudmFzKSB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0NhbnZhcyBlbGVtZW50IGlzIHJlcXVpcmVkIGZvciBjYW52YXMgb3V0cHV0JykpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBRUkNvZGUudG9DYW52YXMoY2FudmFzLCBjb250ZW50LCBxck9wdGlvbnMsIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgUVIgY29kZSBvbiBjYW52YXM6ICR7ZXJyb3IubWVzc2FnZX1gKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKG91dHB1dFR5cGUgPT09ICdzdmcnKSB7XG4gICAgICBpZiAoIXN2Zykge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKCdTVkcgZWxlbWVudCBpcyByZXF1aXJlZCBmb3IgU1ZHIG91dHB1dCcpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgUVJDb2RlLnRvU3RyaW5nKGNvbnRlbnQsIHsgLi4ucXJPcHRpb25zLCB0eXBlOiAnc3ZnJyB9LCAoZXJyb3IsIHN2Z1N0cmluZykgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgUVIgY29kZSBhcyBTVkc6ICR7ZXJyb3IubWVzc2FnZX1gKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3ZnLmlubmVySFRNTCA9IHN2Z1N0cmluZztcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAob3V0cHV0VHlwZSA9PT0gJ3VybCcpIHtcbiAgICAgIFFSQ29kZS50b0RhdGFVUkwoY29udGVudCwgcXJPcHRpb25zLCAoZXJyb3IsIHVybCkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgUVIgY29kZSBhcyBEYXRhIFVSTDogJHtlcnJvci5tZXNzYWdlfWApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKHVybCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWplY3QobmV3IEVycm9yKCdVbnN1cHBvcnRlZCBvdXRwdXQgdHlwZS4gRXhwZWN0ZWQgXCJjYW52YXNcIiwgXCJzdmdcIiwgb3IgXCJ1cmxcIi4nKSk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,83 @@
1
+ import QRCode from 'qrcode';
2
+
3
+ /**
4
+ * Generates a QR code with the given content and options.
5
+ * @param content - The text/content to encode in the QR code.
6
+ * @param width - The width/size of the QR code.
7
+ * @param level - The error correction level ('L', 'M', 'Q', 'H') (default: 'M').
8
+ * @param color - The color of the QR code (default: '#000000').
9
+ * @param backgroundColor - The background color of the QR code (default: '#FFFFFF').
10
+ * @param outputType - The output type: 'canvas', 'svg', or 'url' (default: 'canvas').
11
+ * @param canvas - Optional canvas element reference if output type is 'canvas'.
12
+ * @param svg - Optional SVG element reference if output type is 'svg'.
13
+ * @returns A Promise that resolves with a URL if the output type is 'url', or void for other types.
14
+ */
15
+ function generateQRCode(content, // Mandatory content parameter
16
+ width, // Mandatory size parameter
17
+ level = 'M', // Default level is 'M'
18
+ color, // Default color is black
19
+ backgroundColor, // Default background color is white
20
+ outputType = 'canvas', // Default output type is 'canvas'
21
+ canvas, // Optional canvas element for canvas output
22
+ svg) {
23
+ const qrOptions = {
24
+ margin: 0,
25
+ width, // Size is mandatory
26
+ errorCorrectionLevel: level,
27
+ color: {
28
+ dark: color, // QR code color
29
+ light: backgroundColor, // Background color
30
+ },
31
+ };
32
+ return new Promise((resolve, reject) => {
33
+ if (outputType === 'canvas') {
34
+ if (!canvas) {
35
+ reject(new Error('Canvas element is required for canvas output'));
36
+ return;
37
+ }
38
+ QRCode.toCanvas(canvas, content, qrOptions, (error) => {
39
+ if (error) {
40
+ reject(new Error(`Failed to generate QR code on canvas: ${error.message}`));
41
+ }
42
+ else {
43
+ resolve();
44
+ }
45
+ });
46
+ }
47
+ else if (outputType === 'svg') {
48
+ if (!svg) {
49
+ reject(new Error('SVG element is required for SVG output'));
50
+ return;
51
+ }
52
+ QRCode.toString(content, { ...qrOptions, type: 'svg' }, (error, svgString) => {
53
+ if (error) {
54
+ reject(new Error(`Failed to generate QR code as SVG: ${error.message}`));
55
+ }
56
+ else {
57
+ svg.innerHTML = svgString;
58
+ resolve();
59
+ }
60
+ });
61
+ }
62
+ else if (outputType === 'url') {
63
+ QRCode.toDataURL(content, qrOptions, (error, url) => {
64
+ if (error) {
65
+ reject(new Error(`Failed to generate QR code as Data URL: ${error.message}`));
66
+ }
67
+ else {
68
+ resolve(url);
69
+ }
70
+ });
71
+ }
72
+ else {
73
+ reject(new Error('Unsupported output type. Expected "canvas", "svg", or "url".'));
74
+ }
75
+ });
76
+ }
77
+
78
+ /**
79
+ * Generated bundle index. Do not edit.
80
+ */
81
+
82
+ export { generateQRCode };
83
+ //# sourceMappingURL=acorex-cdk-qrcode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-cdk-qrcode.mjs","sources":["../../../../libs/cdk/qrcode/src/qrcode.class.ts","../../../../libs/cdk/qrcode/src/acorex-cdk-qrcode.ts"],"sourcesContent":["import QRCode from 'qrcode';\n\n/**\n * Generates a QR code with the given content and options.\n * @param content - The text/content to encode in the QR code.\n * @param width - The width/size of the QR code.\n * @param level - The error correction level ('L', 'M', 'Q', 'H') (default: 'M').\n * @param color - The color of the QR code (default: '#000000').\n * @param backgroundColor - The background color of the QR code (default: '#FFFFFF').\n * @param outputType - The output type: 'canvas', 'svg', or 'url' (default: 'canvas').\n * @param canvas - Optional canvas element reference if output type is 'canvas'.\n * @param svg - Optional SVG element reference if output type is 'svg'.\n * @returns A Promise that resolves with a URL if the output type is 'url', or void for other types.\n */\nexport function generateQRCode(\n content: string, // Mandatory content parameter\n width: number, // Mandatory size parameter\n level: 'L' | 'M' | 'Q' | 'H' = 'M', // Default level is 'M'\n color: string, // Default color is black\n backgroundColor: string, // Default background color is white\n outputType: 'canvas' | 'svg' | 'url' = 'canvas', // Default output type is 'canvas'\n canvas?: HTMLCanvasElement, // Optional canvas element for canvas output\n svg?: HTMLElement, // Optional svg element for svg output\n): Promise<string | void> {\n const qrOptions = {\n margin: 0,\n width, // Size is mandatory\n errorCorrectionLevel: level,\n color: {\n dark: color, // QR code color\n light: backgroundColor, // Background color\n },\n };\n\n return new Promise<string | void>((resolve, reject) => {\n if (outputType === 'canvas') {\n if (!canvas) {\n reject(new Error('Canvas element is required for canvas output'));\n return;\n }\n QRCode.toCanvas(canvas, content, qrOptions, (error) => {\n if (error) {\n reject(new Error(`Failed to generate QR code on canvas: ${error.message}`));\n } else {\n resolve();\n }\n });\n } else if (outputType === 'svg') {\n if (!svg) {\n reject(new Error('SVG element is required for SVG output'));\n return;\n }\n QRCode.toString(content, { ...qrOptions, type: 'svg' }, (error, svgString) => {\n if (error) {\n reject(new Error(`Failed to generate QR code as SVG: ${error.message}`));\n } else {\n svg.innerHTML = svgString;\n resolve();\n }\n });\n } else if (outputType === 'url') {\n QRCode.toDataURL(content, qrOptions, (error, url) => {\n if (error) {\n reject(new Error(`Failed to generate QR code as Data URL: ${error.message}`));\n } else {\n resolve(url);\n }\n });\n } else {\n reject(new Error('Unsupported output type. Expected \"canvas\", \"svg\", or \"url\".'));\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;;;;;;;;;;AAWG;AACa,SAAA,cAAc,CAC5B,OAAe;AACf,KAAa;AACb,KAA+B,GAAA,GAAG;AAClC,KAAa;AACb,eAAuB;AACvB,UAAuC,GAAA,QAAQ;AAC/C,MAA0B;AAC1B,GAAiB,EAAA;AAEjB,IAAA,MAAM,SAAS,GAAG;AAChB,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK;AACL,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,KAAK,EAAE;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,eAAe;AACvB,SAAA;KACF,CAAC;IAEF,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,KAAI;AACpD,QAAA,IAAI,UAAU,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBAClE,OAAO;aACR;AACD,YAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,KAAI;gBACpD,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,sCAAA,EAAyC,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC,CAAC;iBAC7E;qBAAM;AACL,oBAAA,OAAO,EAAE,CAAC;iBACX;AACH,aAAC,CAAC,CAAC;SACJ;AAAM,aAAA,IAAI,UAAU,KAAK,KAAK,EAAE;YAC/B,IAAI,CAAC,GAAG,EAAE;AACR,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC5D,OAAO;aACR;AACD,YAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;gBAC3E,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,mCAAA,EAAsC,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC,CAAC;iBAC1E;qBAAM;AACL,oBAAA,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;AAC1B,oBAAA,OAAO,EAAE,CAAC;iBACX;AACH,aAAC,CAAC,CAAC;SACJ;AAAM,aAAA,IAAI,UAAU,KAAK,KAAK,EAAE;AAC/B,YAAA,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAI;gBAClD,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,wCAAA,EAA2C,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC,CAAC;iBAC/E;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;AACH,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC,CAAC;SACnF;AACH,KAAC,CAAC,CAAC;AACL;;ACxEA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@acorex/cdk",
3
- "version": "18.9.8",
3
+ "version": "18.10.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",
7
7
  "quill": "^2.0.2",
8
- "quill-delta-to-html": "^0.12.1"
8
+ "quill-delta-to-html": "^0.12.1",
9
+ "qrcode": "^1.5.4"
9
10
  },
10
11
  "sideEffects": false,
11
12
  "module": "fesm2022/acorex-cdk.mjs",
@@ -20,6 +21,12 @@
20
21
  "esm": "./esm2022/acorex-cdk.mjs",
21
22
  "default": "./fesm2022/acorex-cdk.mjs"
22
23
  },
24
+ "./qrcode": {
25
+ "types": "./qrcode/index.d.ts",
26
+ "esm2022": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
27
+ "esm": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
28
+ "default": "./fesm2022/acorex-cdk-qrcode.mjs"
29
+ },
23
30
  "./wysiwyg": {
24
31
  "types": "./wysiwyg/index.d.ts",
25
32
  "esm2022": "./esm2022/wysiwyg/acorex-cdk-wysiwyg.mjs",
@@ -0,0 +1,3 @@
1
+ # @acorex/cdk/qrcode
2
+
3
+ Secondary entry point of `@acorex/cdk`. It can be used by importing from `@acorex/cdk/qrcode`.
@@ -0,0 +1,2 @@
1
+ import { generateQRCode } from './qrcode.class';
2
+ export { generateQRCode };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Generates a QR code with the given content and options.
3
+ * @param content - The text/content to encode in the QR code.
4
+ * @param width - The width/size of the QR code.
5
+ * @param level - The error correction level ('L', 'M', 'Q', 'H') (default: 'M').
6
+ * @param color - The color of the QR code (default: '#000000').
7
+ * @param backgroundColor - The background color of the QR code (default: '#FFFFFF').
8
+ * @param outputType - The output type: 'canvas', 'svg', or 'url' (default: 'canvas').
9
+ * @param canvas - Optional canvas element reference if output type is 'canvas'.
10
+ * @param svg - Optional SVG element reference if output type is 'svg'.
11
+ * @returns A Promise that resolves with a URL if the output type is 'url', or void for other types.
12
+ */
13
+ export declare function generateQRCode(content: string, // Mandatory content parameter
14
+ width: number, // Mandatory size parameter
15
+ level: 'L' | 'M' | 'Q' | 'H', // Default level is 'M'
16
+ color: string, // Default color is black
17
+ backgroundColor: string, // Default background color is white
18
+ outputType?: 'canvas' | 'svg' | 'url', // Default output type is 'canvas'
19
+ canvas?: HTMLCanvasElement, // Optional canvas element for canvas output
20
+ svg?: HTMLElement): Promise<string | void>;