@lglab/react-qr-code 1.2.0 → 1.2.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.
package/dist/index.es.js CHANGED
@@ -1,11 +1,11 @@
1
- import { jsx as N, jsxs as Q, Fragment as tt } from "react/jsx-runtime";
2
- import { useMemo as L, useCallback as et, useRef as ot, useImperativeHandle as nt } from "react";
1
+ import { jsx as C, jsxs as K, Fragment as rt } from "react/jsx-runtime";
2
+ import { useMemo as T, useCallback as st, useRef as it, useImperativeHandle as at } from "react";
3
3
  /**
4
4
  * @license QR Code generator library (TypeScript)
5
5
  * Copyright (c) Project Nayuki.
6
6
  * SPDX-License-Identifier: MIT
7
7
  */
8
- var O;
8
+ var L;
9
9
  ((r) => {
10
10
  const d = class d {
11
11
  /*-- Constructor (low level) and fields --*/
@@ -13,12 +13,12 @@ var O;
13
13
  // error correction level, data codeword bytes, and mask number.
14
14
  // This is a low-level API that most users should not use directly.
15
15
  // A mid-level API is the encodeSegments() function.
16
- constructor(e, o, n, i) {
17
- if (this.version = e, this.errorCorrectionLevel = o, this.modules = [], this.isFunction = [], e < d.MIN_VERSION || e > d.MAX_VERSION)
16
+ constructor(t, o, n, a) {
17
+ if (this.version = t, this.errorCorrectionLevel = o, this.modules = [], this.isFunction = [], t < d.MIN_VERSION || t > d.MAX_VERSION)
18
18
  throw new RangeError("Version value out of range");
19
- if (i < -1 || i > 7)
19
+ if (a < -1 || a > 7)
20
20
  throw new RangeError("Mask value out of range");
21
- this.size = e * 4 + 17;
21
+ this.size = t * 4 + 17;
22
22
  let h = [];
23
23
  for (let f = 0; f < this.size; f++)
24
24
  h.push(!1);
@@ -26,15 +26,15 @@ var O;
26
26
  this.modules.push(h.slice()), this.isFunction.push(h.slice());
27
27
  this.drawFunctionPatterns();
28
28
  const $ = this.addEccAndInterleave(n);
29
- if (this.drawCodewords($), i == -1) {
29
+ if (this.drawCodewords($), a == -1) {
30
30
  let f = 1e9;
31
31
  for (let p = 0; p < 8; p++) {
32
32
  this.applyMask(p), this.drawFormatBits(p);
33
33
  const M = this.getPenaltyScore();
34
- M < f && (i = p, f = M), this.applyMask(p);
34
+ M < f && (a = p, f = M), this.applyMask(p);
35
35
  }
36
36
  }
37
- t(0 <= i && i <= 7), this.mask = i, this.applyMask(i), this.drawFormatBits(i), this.isFunction = [];
37
+ e(0 <= a && a <= 7), this.mask = a, this.applyMask(a), this.drawFormatBits(a), this.isFunction = [];
38
38
  }
39
39
  /*-- Static factory functions (high level) --*/
40
40
  // Returns a QR Code representing the given Unicode text string at the given error correction level.
@@ -42,16 +42,16 @@ var O;
42
42
  // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible
43
43
  // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the
44
44
  // ecl argument if it can be done without increasing the version.
45
- static encodeText(e, o) {
46
- const n = r.QrSegment.makeSegments(e);
45
+ static encodeText(t, o) {
46
+ const n = r.QrSegment.makeSegments(t);
47
47
  return d.encodeSegments(n, o);
48
48
  }
49
49
  // Returns a QR Code representing the given binary data at the given error correction level.
50
50
  // This function always encodes using the binary segment mode, not any text mode. The maximum number of
51
51
  // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.
52
52
  // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.
53
- static encodeBinary(e, o) {
54
- const n = r.QrSegment.makeBytes(e);
53
+ static encodeBinary(t, o) {
54
+ const n = r.QrSegment.makeBytes(t);
55
55
  return d.encodeSegments([n], o);
56
56
  }
57
57
  /*-- Static factory functions (mid level) --*/
@@ -64,43 +64,43 @@ var O;
64
64
  // This function allows the user to create a custom sequence of segments that switches
65
65
  // between modes (such as alphanumeric and byte) to encode text in less space.
66
66
  // This is a mid-level API; the high-level API is encodeText() and encodeBinary().
67
- static encodeSegments(e, o, n = 1, i = 40, h = -1, $ = !0) {
68
- if (!(d.MIN_VERSION <= n && n <= i && i <= d.MAX_VERSION) || h < -1 || h > 7)
67
+ static encodeSegments(t, o, n = 1, a = 40, h = -1, $ = !0) {
68
+ if (!(d.MIN_VERSION <= n && n <= a && a <= d.MAX_VERSION) || h < -1 || h > 7)
69
69
  throw new RangeError("Invalid value");
70
70
  let f, p;
71
71
  for (f = n; ; f++) {
72
- const R = d.getNumDataCodewords(f, o) * 8, A = l.getTotalBits(e, f);
73
- if (A <= R) {
74
- p = A;
72
+ const R = d.getNumDataCodewords(f, o) * 8, w = l.getTotalBits(t, f);
73
+ if (w <= R) {
74
+ p = w;
75
75
  break;
76
76
  }
77
- if (f >= i)
77
+ if (f >= a)
78
78
  throw new RangeError("Data too long");
79
79
  }
80
80
  for (const R of [d.Ecc.MEDIUM, d.Ecc.QUARTILE, d.Ecc.HIGH])
81
81
  $ && p <= d.getNumDataCodewords(f, R) * 8 && (o = R);
82
82
  let M = [];
83
- for (const R of e) {
83
+ for (const R of t) {
84
84
  c(R.mode.modeBits, 4, M), c(R.numChars, R.mode.numCharCountBits(f), M);
85
- for (const A of R.getData())
86
- M.push(A);
85
+ for (const w of R.getData())
86
+ M.push(w);
87
87
  }
88
- t(M.length == p);
88
+ e(M.length == p);
89
89
  const E = d.getNumDataCodewords(f, o) * 8;
90
- t(M.length <= E), c(0, Math.min(4, E - M.length), M), c(0, (8 - M.length % 8) % 8, M), t(M.length % 8 == 0);
90
+ e(M.length <= E), c(0, Math.min(4, E - M.length), M), c(0, (8 - M.length % 8) % 8, M), e(M.length % 8 == 0);
91
91
  for (let R = 236; M.length < E; R ^= 253)
92
92
  c(R, 8, M);
93
93
  let m = [];
94
94
  for (; m.length * 8 < M.length; )
95
95
  m.push(0);
96
- return M.forEach((R, A) => m[A >>> 3] |= R << 7 - (A & 7)), new d(f, o, m, h);
96
+ return M.forEach((R, w) => m[w >>> 3] |= R << 7 - (w & 7)), new d(f, o, m, h);
97
97
  }
98
98
  /*-- Accessor methods --*/
99
99
  // Returns the color of the module (pixel) at the given coordinates, which is false
100
100
  // for light or true for dark. The top left corner has the coordinates (x=0, y=0).
101
101
  // If the given coordinates are out of bounds, then false (light) is returned.
102
- getModule(e, o) {
103
- return 0 <= e && e < this.size && 0 <= o && o < this.size && this.modules[o][e];
102
+ getModule(t, o) {
103
+ return 0 <= t && t < this.size && 0 <= o && o < this.size && this.modules[o][t];
104
104
  }
105
105
  // Modified to expose modules for easy access
106
106
  getModules() {
@@ -112,30 +112,30 @@ var O;
112
112
  for (let n = 0; n < this.size; n++)
113
113
  this.setFunctionModule(6, n, n % 2 == 0), this.setFunctionModule(n, 6, n % 2 == 0);
114
114
  this.drawFinderPattern(3, 3), this.drawFinderPattern(this.size - 4, 3), this.drawFinderPattern(3, this.size - 4);
115
- const e = this.getAlignmentPatternPositions(), o = e.length;
115
+ const t = this.getAlignmentPatternPositions(), o = t.length;
116
116
  for (let n = 0; n < o; n++)
117
- for (let i = 0; i < o; i++)
118
- n == 0 && i == 0 || n == 0 && i == o - 1 || n == o - 1 && i == 0 || this.drawAlignmentPattern(e[n], e[i]);
117
+ for (let a = 0; a < o; a++)
118
+ n == 0 && a == 0 || n == 0 && a == o - 1 || n == o - 1 && a == 0 || this.drawAlignmentPattern(t[n], t[a]);
119
119
  this.drawFormatBits(0), this.drawVersion();
120
120
  }
121
121
  // Draws two copies of the format bits (with its own error correction code)
122
122
  // based on the given mask and this object's error correction level field.
123
- drawFormatBits(e) {
124
- const o = this.errorCorrectionLevel.formatBits << 3 | e;
123
+ drawFormatBits(t) {
124
+ const o = this.errorCorrectionLevel.formatBits << 3 | t;
125
125
  let n = o;
126
126
  for (let h = 0; h < 10; h++)
127
127
  n = n << 1 ^ (n >>> 9) * 1335;
128
- const i = (o << 10 | n) ^ 21522;
129
- t(i >>> 15 == 0);
128
+ const a = (o << 10 | n) ^ 21522;
129
+ e(a >>> 15 == 0);
130
130
  for (let h = 0; h <= 5; h++)
131
- this.setFunctionModule(8, h, a(i, h));
132
- this.setFunctionModule(8, 7, a(i, 6)), this.setFunctionModule(8, 8, a(i, 7)), this.setFunctionModule(7, 8, a(i, 8));
131
+ this.setFunctionModule(8, h, s(a, h));
132
+ this.setFunctionModule(8, 7, s(a, 6)), this.setFunctionModule(8, 8, s(a, 7)), this.setFunctionModule(7, 8, s(a, 8));
133
133
  for (let h = 9; h < 15; h++)
134
- this.setFunctionModule(14 - h, 8, a(i, h));
134
+ this.setFunctionModule(14 - h, 8, s(a, h));
135
135
  for (let h = 0; h < 8; h++)
136
- this.setFunctionModule(this.size - 1 - h, 8, a(i, h));
136
+ this.setFunctionModule(this.size - 1 - h, 8, s(a, h));
137
137
  for (let h = 8; h < 15; h++)
138
- this.setFunctionModule(8, this.size - 15 + h, a(i, h));
138
+ this.setFunctionModule(8, this.size - 15 + h, s(a, h));
139
139
  this.setFunctionModule(8, this.size - 8, !0);
140
140
  }
141
141
  // Draws two copies of the version bits (with its own error correction code),
@@ -143,144 +143,144 @@ var O;
143
143
  drawVersion() {
144
144
  if (this.version < 7)
145
145
  return;
146
- let e = this.version;
146
+ let t = this.version;
147
147
  for (let n = 0; n < 12; n++)
148
- e = e << 1 ^ (e >>> 11) * 7973;
149
- const o = this.version << 12 | e;
150
- t(o >>> 18 == 0);
148
+ t = t << 1 ^ (t >>> 11) * 7973;
149
+ const o = this.version << 12 | t;
150
+ e(o >>> 18 == 0);
151
151
  for (let n = 0; n < 18; n++) {
152
- const i = a(o, n), h = this.size - 11 + n % 3, $ = Math.floor(n / 3);
153
- this.setFunctionModule(h, $, i), this.setFunctionModule($, h, i);
152
+ const a = s(o, n), h = this.size - 11 + n % 3, $ = Math.floor(n / 3);
153
+ this.setFunctionModule(h, $, a), this.setFunctionModule($, h, a);
154
154
  }
155
155
  }
156
156
  // Draws a 9*9 finder pattern including the border separator,
157
157
  // with the center module at (x, y). Modules can be out of bounds.
158
- drawFinderPattern(e, o) {
158
+ drawFinderPattern(t, o) {
159
159
  for (let n = -4; n <= 4; n++)
160
- for (let i = -4; i <= 4; i++) {
161
- const h = Math.max(Math.abs(i), Math.abs(n)), $ = e + i, f = o + n;
160
+ for (let a = -4; a <= 4; a++) {
161
+ const h = Math.max(Math.abs(a), Math.abs(n)), $ = t + a, f = o + n;
162
162
  0 <= $ && $ < this.size && 0 <= f && f < this.size && this.setFunctionModule($, f, h != 2 && h != 4);
163
163
  }
164
164
  }
165
165
  // Draws a 5*5 alignment pattern, with the center module
166
166
  // at (x, y). All modules must be in bounds.
167
- drawAlignmentPattern(e, o) {
167
+ drawAlignmentPattern(t, o) {
168
168
  for (let n = -2; n <= 2; n++)
169
- for (let i = -2; i <= 2; i++)
170
- this.setFunctionModule(e + i, o + n, Math.max(Math.abs(i), Math.abs(n)) != 1);
169
+ for (let a = -2; a <= 2; a++)
170
+ this.setFunctionModule(t + a, o + n, Math.max(Math.abs(a), Math.abs(n)) != 1);
171
171
  }
172
172
  // Sets the color of a module and marks it as a function module.
173
173
  // Only used by the constructor. Coordinates must be in bounds.
174
- setFunctionModule(e, o, n) {
175
- this.modules[o][e] = n, this.isFunction[o][e] = !0;
174
+ setFunctionModule(t, o, n) {
175
+ this.modules[o][t] = n, this.isFunction[o][t] = !0;
176
176
  }
177
177
  /*-- Private helper methods for constructor: Codewords and masking --*/
178
178
  // Returns a new byte string representing the given data with the appropriate error correction
179
179
  // codewords appended to it, based on this object's version and error correction level.
180
- addEccAndInterleave(e) {
180
+ addEccAndInterleave(t) {
181
181
  const o = this.version, n = this.errorCorrectionLevel;
182
- if (e.length != d.getNumDataCodewords(o, n))
182
+ if (t.length != d.getNumDataCodewords(o, n))
183
183
  throw new RangeError("Invalid argument");
184
- const i = d.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][o], h = d.ECC_CODEWORDS_PER_BLOCK[n.ordinal][o], $ = Math.floor(d.getNumRawDataModules(o) / 8), f = i - $ % i, p = Math.floor($ / i);
184
+ const a = d.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][o], h = d.ECC_CODEWORDS_PER_BLOCK[n.ordinal][o], $ = Math.floor(d.getNumRawDataModules(o) / 8), f = a - $ % a, p = Math.floor($ / a);
185
185
  let M = [];
186
186
  const E = d.reedSolomonComputeDivisor(h);
187
- for (let R = 0, A = 0; R < i; R++) {
188
- let w = e.slice(A, A + p - h + (R < f ? 0 : 1));
189
- A += w.length;
190
- const C = d.reedSolomonComputeRemainder(w, E);
191
- R < f && w.push(0), M.push(w.concat(C));
187
+ for (let R = 0, w = 0; R < a; R++) {
188
+ let A = t.slice(w, w + p - h + (R < f ? 0 : 1));
189
+ w += A.length;
190
+ const N = d.reedSolomonComputeRemainder(A, E);
191
+ R < f && A.push(0), M.push(A.concat(N));
192
192
  }
193
193
  let m = [];
194
194
  for (let R = 0; R < M[0].length; R++)
195
- M.forEach((A, w) => {
196
- (R != p - h || w >= f) && m.push(A[R]);
195
+ M.forEach((w, A) => {
196
+ (R != p - h || A >= f) && m.push(w[R]);
197
197
  });
198
- return t(m.length == $), m;
198
+ return e(m.length == $), m;
199
199
  }
200
200
  // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire
201
201
  // data area of this QR Code. Function modules need to be marked off before this is called.
202
- drawCodewords(e) {
203
- if (e.length != Math.floor(d.getNumRawDataModules(this.version) / 8))
202
+ drawCodewords(t) {
203
+ if (t.length != Math.floor(d.getNumRawDataModules(this.version) / 8))
204
204
  throw new RangeError("Invalid argument");
205
205
  let o = 0;
206
206
  for (let n = this.size - 1; n >= 1; n -= 2) {
207
207
  n == 6 && (n = 5);
208
- for (let i = 0; i < this.size; i++)
208
+ for (let a = 0; a < this.size; a++)
209
209
  for (let h = 0; h < 2; h++) {
210
- const $ = n - h, p = (n + 1 & 2) == 0 ? this.size - 1 - i : i;
211
- !this.isFunction[p][$] && o < e.length * 8 && (this.modules[p][$] = a(e[o >>> 3], 7 - (o & 7)), o++);
210
+ const $ = n - h, p = (n + 1 & 2) == 0 ? this.size - 1 - a : a;
211
+ !this.isFunction[p][$] && o < t.length * 8 && (this.modules[p][$] = s(t[o >>> 3], 7 - (o & 7)), o++);
212
212
  }
213
213
  }
214
- t(o == e.length * 8);
214
+ e(o == t.length * 8);
215
215
  }
216
216
  // XORs the codeword modules in this QR Code with the given mask pattern.
217
217
  // The function modules must be marked and the codeword bits must be drawn
218
218
  // before masking. Due to the arithmetic of XOR, calling applyMask() with
219
219
  // the same mask value a second time will undo the mask. A final well-formed
220
220
  // QR Code needs exactly one (not zero, two, etc.) mask applied.
221
- applyMask(e) {
222
- if (e < 0 || e > 7)
221
+ applyMask(t) {
222
+ if (t < 0 || t > 7)
223
223
  throw new RangeError("Mask value out of range");
224
224
  for (let o = 0; o < this.size; o++)
225
225
  for (let n = 0; n < this.size; n++) {
226
- let i;
227
- switch (e) {
226
+ let a;
227
+ switch (t) {
228
228
  case 0:
229
- i = (n + o) % 2 == 0;
229
+ a = (n + o) % 2 == 0;
230
230
  break;
231
231
  case 1:
232
- i = o % 2 == 0;
232
+ a = o % 2 == 0;
233
233
  break;
234
234
  case 2:
235
- i = n % 3 == 0;
235
+ a = n % 3 == 0;
236
236
  break;
237
237
  case 3:
238
- i = (n + o) % 3 == 0;
238
+ a = (n + o) % 3 == 0;
239
239
  break;
240
240
  case 4:
241
- i = (Math.floor(n / 3) + Math.floor(o / 2)) % 2 == 0;
241
+ a = (Math.floor(n / 3) + Math.floor(o / 2)) % 2 == 0;
242
242
  break;
243
243
  case 5:
244
- i = n * o % 2 + n * o % 3 == 0;
244
+ a = n * o % 2 + n * o % 3 == 0;
245
245
  break;
246
246
  case 6:
247
- i = (n * o % 2 + n * o % 3) % 2 == 0;
247
+ a = (n * o % 2 + n * o % 3) % 2 == 0;
248
248
  break;
249
249
  case 7:
250
- i = ((n + o) % 2 + n * o % 3) % 2 == 0;
250
+ a = ((n + o) % 2 + n * o % 3) % 2 == 0;
251
251
  break;
252
252
  default:
253
253
  throw new Error("Unreachable");
254
254
  }
255
- !this.isFunction[o][n] && i && (this.modules[o][n] = !this.modules[o][n]);
255
+ !this.isFunction[o][n] && a && (this.modules[o][n] = !this.modules[o][n]);
256
256
  }
257
257
  }
258
258
  // Calculates and returns the penalty score based on state of this QR Code's current modules.
259
259
  // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.
260
260
  getPenaltyScore() {
261
- let e = 0;
261
+ let t = 0;
262
262
  for (let h = 0; h < this.size; h++) {
263
263
  let $ = !1, f = 0, p = [0, 0, 0, 0, 0, 0, 0];
264
264
  for (let M = 0; M < this.size; M++)
265
- this.modules[h][M] == $ ? (f++, f == 5 ? e += d.PENALTY_N1 : f > 5 && e++) : (this.finderPenaltyAddHistory(f, p), $ || (e += this.finderPenaltyCountPatterns(p) * d.PENALTY_N3), $ = this.modules[h][M], f = 1);
266
- e += this.finderPenaltyTerminateAndCount($, f, p) * d.PENALTY_N3;
265
+ this.modules[h][M] == $ ? (f++, f == 5 ? t += d.PENALTY_N1 : f > 5 && t++) : (this.finderPenaltyAddHistory(f, p), $ || (t += this.finderPenaltyCountPatterns(p) * d.PENALTY_N3), $ = this.modules[h][M], f = 1);
266
+ t += this.finderPenaltyTerminateAndCount($, f, p) * d.PENALTY_N3;
267
267
  }
268
268
  for (let h = 0; h < this.size; h++) {
269
269
  let $ = !1, f = 0, p = [0, 0, 0, 0, 0, 0, 0];
270
270
  for (let M = 0; M < this.size; M++)
271
- this.modules[M][h] == $ ? (f++, f == 5 ? e += d.PENALTY_N1 : f > 5 && e++) : (this.finderPenaltyAddHistory(f, p), $ || (e += this.finderPenaltyCountPatterns(p) * d.PENALTY_N3), $ = this.modules[M][h], f = 1);
272
- e += this.finderPenaltyTerminateAndCount($, f, p) * d.PENALTY_N3;
271
+ this.modules[M][h] == $ ? (f++, f == 5 ? t += d.PENALTY_N1 : f > 5 && t++) : (this.finderPenaltyAddHistory(f, p), $ || (t += this.finderPenaltyCountPatterns(p) * d.PENALTY_N3), $ = this.modules[M][h], f = 1);
272
+ t += this.finderPenaltyTerminateAndCount($, f, p) * d.PENALTY_N3;
273
273
  }
274
274
  for (let h = 0; h < this.size - 1; h++)
275
275
  for (let $ = 0; $ < this.size - 1; $++) {
276
276
  const f = this.modules[h][$];
277
- f == this.modules[h][$ + 1] && f == this.modules[h + 1][$] && f == this.modules[h + 1][$ + 1] && (e += d.PENALTY_N2);
277
+ f == this.modules[h][$ + 1] && f == this.modules[h + 1][$] && f == this.modules[h + 1][$ + 1] && (t += d.PENALTY_N2);
278
278
  }
279
279
  let o = 0;
280
280
  for (const h of this.modules)
281
281
  o = h.reduce(($, f) => $ + (f ? 1 : 0), o);
282
- const n = this.size * this.size, i = Math.ceil(Math.abs(o * 20 - n * 10) / n) - 1;
283
- return t(0 <= i && i <= 9), e += i * d.PENALTY_N4, t(0 <= e && e <= 2568888), e;
282
+ const n = this.size * this.size, a = Math.ceil(Math.abs(o * 20 - n * 10) / n) - 1;
283
+ return e(0 <= a && a <= 9), t += a * d.PENALTY_N4, e(0 <= t && t <= 2568888), t;
284
284
  }
285
285
  /*-- Private helper functions --*/
286
286
  // Returns an ascending list of positions of alignment patterns for this version number.
@@ -290,43 +290,43 @@ var O;
290
290
  if (this.version == 1)
291
291
  return [];
292
292
  {
293
- const e = Math.floor(this.version / 7) + 2, o = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (e * 2 - 2)) * 2;
293
+ const t = Math.floor(this.version / 7) + 2, o = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (t * 2 - 2)) * 2;
294
294
  let n = [6];
295
- for (let i = this.size - 7; n.length < e; i -= o)
296
- n.splice(1, 0, i);
295
+ for (let a = this.size - 7; n.length < t; a -= o)
296
+ n.splice(1, 0, a);
297
297
  return n;
298
298
  }
299
299
  }
300
300
  // Returns the number of data bits that can be stored in a QR Code of the given version number, after
301
301
  // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.
302
302
  // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.
303
- static getNumRawDataModules(e) {
304
- if (e < d.MIN_VERSION || e > d.MAX_VERSION)
303
+ static getNumRawDataModules(t) {
304
+ if (t < d.MIN_VERSION || t > d.MAX_VERSION)
305
305
  throw new RangeError("Version number out of range");
306
- let o = (16 * e + 128) * e + 64;
307
- if (e >= 2) {
308
- const n = Math.floor(e / 7) + 2;
309
- o -= (25 * n - 10) * n - 55, e >= 7 && (o -= 36);
306
+ let o = (16 * t + 128) * t + 64;
307
+ if (t >= 2) {
308
+ const n = Math.floor(t / 7) + 2;
309
+ o -= (25 * n - 10) * n - 55, t >= 7 && (o -= 36);
310
310
  }
311
- return t(208 <= o && o <= 29648), o;
311
+ return e(208 <= o && o <= 29648), o;
312
312
  }
313
313
  // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any
314
314
  // QR Code of the given version number and error correction level, with remainder bits discarded.
315
315
  // This stateless pure function could be implemented as a (40*4)-cell lookup table.
316
- static getNumDataCodewords(e, o) {
317
- return Math.floor(d.getNumRawDataModules(e) / 8) - d.ECC_CODEWORDS_PER_BLOCK[o.ordinal][e] * d.NUM_ERROR_CORRECTION_BLOCKS[o.ordinal][e];
316
+ static getNumDataCodewords(t, o) {
317
+ return Math.floor(d.getNumRawDataModules(t) / 8) - d.ECC_CODEWORDS_PER_BLOCK[o.ordinal][t] * d.NUM_ERROR_CORRECTION_BLOCKS[o.ordinal][t];
318
318
  }
319
319
  // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be
320
320
  // implemented as a lookup table over all possible parameter values, instead of as an algorithm.
321
- static reedSolomonComputeDivisor(e) {
322
- if (e < 1 || e > 255)
321
+ static reedSolomonComputeDivisor(t) {
322
+ if (t < 1 || t > 255)
323
323
  throw new RangeError("Degree out of range");
324
324
  let o = [];
325
- for (let i = 0; i < e - 1; i++)
325
+ for (let a = 0; a < t - 1; a++)
326
326
  o.push(0);
327
327
  o.push(1);
328
328
  let n = 1;
329
- for (let i = 0; i < e; i++) {
329
+ for (let a = 0; a < t; a++) {
330
330
  for (let h = 0; h < o.length; h++)
331
331
  o[h] = d.reedSolomonMultiply(o[h], n), h + 1 < o.length && (o[h] ^= o[h + 1]);
332
332
  n = d.reedSolomonMultiply(n, 2);
@@ -334,39 +334,39 @@ var O;
334
334
  return o;
335
335
  }
336
336
  // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.
337
- static reedSolomonComputeRemainder(e, o) {
338
- let n = o.map((i) => 0);
339
- for (const i of e) {
340
- const h = i ^ n.shift();
337
+ static reedSolomonComputeRemainder(t, o) {
338
+ let n = o.map((a) => 0);
339
+ for (const a of t) {
340
+ const h = a ^ n.shift();
341
341
  n.push(0), o.forEach(($, f) => n[f] ^= d.reedSolomonMultiply($, h));
342
342
  }
343
343
  return n;
344
344
  }
345
345
  // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result
346
346
  // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.
347
- static reedSolomonMultiply(e, o) {
348
- if (e >>> 8 || o >>> 8)
347
+ static reedSolomonMultiply(t, o) {
348
+ if (t >>> 8 || o >>> 8)
349
349
  throw new RangeError("Byte out of range");
350
350
  let n = 0;
351
- for (let i = 7; i >= 0; i--)
352
- n = n << 1 ^ (n >>> 7) * 285, n ^= (o >>> i & 1) * e;
353
- return t(n >>> 8 == 0), n;
351
+ for (let a = 7; a >= 0; a--)
352
+ n = n << 1 ^ (n >>> 7) * 285, n ^= (o >>> a & 1) * t;
353
+ return e(n >>> 8 == 0), n;
354
354
  }
355
355
  // Can only be called immediately after a light run is added, and
356
356
  // returns either 0, 1, or 2. A helper function for getPenaltyScore().
357
- finderPenaltyCountPatterns(e) {
358
- const o = e[1];
359
- t(o <= this.size * 3);
360
- const n = o > 0 && e[2] == o && e[3] == o * 3 && e[4] == o && e[5] == o;
361
- return (n && e[0] >= o * 4 && e[6] >= o ? 1 : 0) + (n && e[6] >= o * 4 && e[0] >= o ? 1 : 0);
357
+ finderPenaltyCountPatterns(t) {
358
+ const o = t[1];
359
+ e(o <= this.size * 3);
360
+ const n = o > 0 && t[2] == o && t[3] == o * 3 && t[4] == o && t[5] == o;
361
+ return (n && t[0] >= o * 4 && t[6] >= o ? 1 : 0) + (n && t[6] >= o * 4 && t[0] >= o ? 1 : 0);
362
362
  }
363
363
  // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().
364
- finderPenaltyTerminateAndCount(e, o, n) {
365
- return e && (this.finderPenaltyAddHistory(o, n), o = 0), o += this.size, this.finderPenaltyAddHistory(o, n), this.finderPenaltyCountPatterns(n);
364
+ finderPenaltyTerminateAndCount(t, o, n) {
365
+ return t && (this.finderPenaltyAddHistory(o, n), o = 0), o += this.size, this.finderPenaltyAddHistory(o, n), this.finderPenaltyCountPatterns(n);
366
366
  }
367
367
  // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().
368
- finderPenaltyAddHistory(e, o) {
369
- o[0] == 0 && (e += this.size), o.pop(), o.unshift(e);
368
+ finderPenaltyAddHistory(t, o) {
369
+ o[0] == 0 && (t += this.size), o.pop(), o.unshift(t);
370
370
  }
371
371
  };
372
372
  d.MIN_VERSION = 1, d.MAX_VERSION = 40, d.PENALTY_N1 = 3, d.PENALTY_N2 = 3, d.PENALTY_N3 = 40, d.PENALTY_N4 = 10, d.ECC_CODEWORDS_PER_BLOCK = [
@@ -392,18 +392,18 @@ var O;
392
392
  [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]
393
393
  // High
394
394
  ];
395
- let s = d;
396
- r.QrCode = s;
397
- function c(g, e, o) {
398
- if (e < 0 || e > 31 || g >>> e)
395
+ let i = d;
396
+ r.QrCode = i;
397
+ function c(g, t, o) {
398
+ if (t < 0 || t > 31 || g >>> t)
399
399
  throw new RangeError("Value out of range");
400
- for (let n = e - 1; n >= 0; n--)
400
+ for (let n = t - 1; n >= 0; n--)
401
401
  o.push(g >>> n & 1);
402
402
  }
403
- function a(g, e) {
404
- return (g >>> e & 1) != 0;
403
+ function s(g, t) {
404
+ return (g >>> t & 1) != 0;
405
405
  }
406
- function t(g) {
406
+ function e(g) {
407
407
  if (!g)
408
408
  throw new Error("Assertion error");
409
409
  }
@@ -412,8 +412,8 @@ var O;
412
412
  // Creates a new QR Code segment with the given attributes and data.
413
413
  // The character count (numChars) must agree with the mode and the bit buffer length,
414
414
  // but the constraint isn't checked. The given bit buffer is cloned and stored.
415
- constructor(e, o, n) {
416
- if (this.mode = e, this.numChars = o, this.bitData = n, o < 0)
415
+ constructor(t, o, n) {
416
+ if (this.mode = t, this.numChars = o, this.bitData = n, o < 0)
417
417
  throw new RangeError("Invalid argument");
418
418
  this.bitData = n.slice();
419
419
  }
@@ -421,67 +421,67 @@ var O;
421
421
  // Returns a segment representing the given binary data encoded in
422
422
  // byte mode. All input byte arrays are acceptable. Any text string
423
423
  // can be converted to UTF-8 bytes and encoded as a byte mode segment.
424
- static makeBytes(e) {
424
+ static makeBytes(t) {
425
425
  let o = [];
426
- for (const n of e)
426
+ for (const n of t)
427
427
  c(n, 8, o);
428
- return new u(u.Mode.BYTE, e.length, o);
428
+ return new u(u.Mode.BYTE, t.length, o);
429
429
  }
430
430
  // Returns a segment representing the given string of decimal digits encoded in numeric mode.
431
- static makeNumeric(e) {
432
- if (!u.isNumeric(e))
431
+ static makeNumeric(t) {
432
+ if (!u.isNumeric(t))
433
433
  throw new RangeError("String contains non-numeric characters");
434
434
  let o = [];
435
- for (let n = 0; n < e.length; ) {
436
- const i = Math.min(e.length - n, 3);
437
- c(parseInt(e.substring(n, n + i), 10), i * 3 + 1, o), n += i;
435
+ for (let n = 0; n < t.length; ) {
436
+ const a = Math.min(t.length - n, 3);
437
+ c(parseInt(t.substring(n, n + a), 10), a * 3 + 1, o), n += a;
438
438
  }
439
- return new u(u.Mode.NUMERIC, e.length, o);
439
+ return new u(u.Mode.NUMERIC, t.length, o);
440
440
  }
441
441
  // Returns a segment representing the given text string encoded in alphanumeric mode.
442
442
  // The characters allowed are: 0 to 9, A to Z (uppercase only), space,
443
443
  // dollar, percent, asterisk, plus, hyphen, period, slash, colon.
444
- static makeAlphanumeric(e) {
445
- if (!u.isAlphanumeric(e))
444
+ static makeAlphanumeric(t) {
445
+ if (!u.isAlphanumeric(t))
446
446
  throw new RangeError("String contains unencodable characters in alphanumeric mode");
447
447
  let o = [], n;
448
- for (n = 0; n + 2 <= e.length; n += 2) {
449
- let i = u.ALPHANUMERIC_CHARSET.indexOf(e.charAt(n)) * 45;
450
- i += u.ALPHANUMERIC_CHARSET.indexOf(e.charAt(n + 1)), c(i, 11, o);
448
+ for (n = 0; n + 2 <= t.length; n += 2) {
449
+ let a = u.ALPHANUMERIC_CHARSET.indexOf(t.charAt(n)) * 45;
450
+ a += u.ALPHANUMERIC_CHARSET.indexOf(t.charAt(n + 1)), c(a, 11, o);
451
451
  }
452
- return n < e.length && c(u.ALPHANUMERIC_CHARSET.indexOf(e.charAt(n)), 6, o), new u(u.Mode.ALPHANUMERIC, e.length, o);
452
+ return n < t.length && c(u.ALPHANUMERIC_CHARSET.indexOf(t.charAt(n)), 6, o), new u(u.Mode.ALPHANUMERIC, t.length, o);
453
453
  }
454
454
  // Returns a new mutable list of zero or more segments to represent the given Unicode text string.
455
455
  // The result may use various segment modes and switch modes to optimize the length of the bit stream.
456
- static makeSegments(e) {
457
- return e == "" ? [] : u.isNumeric(e) ? [u.makeNumeric(e)] : u.isAlphanumeric(e) ? [u.makeAlphanumeric(e)] : [u.makeBytes(u.toUtf8ByteArray(e))];
456
+ static makeSegments(t) {
457
+ return t == "" ? [] : u.isNumeric(t) ? [u.makeNumeric(t)] : u.isAlphanumeric(t) ? [u.makeAlphanumeric(t)] : [u.makeBytes(u.toUtf8ByteArray(t))];
458
458
  }
459
459
  // Returns a segment representing an Extended Channel Interpretation
460
460
  // (ECI) designator with the given assignment value.
461
- static makeEci(e) {
461
+ static makeEci(t) {
462
462
  let o = [];
463
- if (e < 0)
463
+ if (t < 0)
464
464
  throw new RangeError("ECI assignment value out of range");
465
- if (e < 128)
466
- c(e, 8, o);
467
- else if (e < 16384)
468
- c(2, 2, o), c(e, 14, o);
469
- else if (e < 1e6)
470
- c(6, 3, o), c(e, 21, o);
465
+ if (t < 128)
466
+ c(t, 8, o);
467
+ else if (t < 16384)
468
+ c(2, 2, o), c(t, 14, o);
469
+ else if (t < 1e6)
470
+ c(6, 3, o), c(t, 21, o);
471
471
  else
472
472
  throw new RangeError("ECI assignment value out of range");
473
473
  return new u(u.Mode.ECI, 0, o);
474
474
  }
475
475
  // Tests whether the given string can be encoded as a segment in numeric mode.
476
476
  // A string is encodable iff each character is in the range 0 to 9.
477
- static isNumeric(e) {
478
- return u.NUMERIC_REGEX.test(e);
477
+ static isNumeric(t) {
478
+ return u.NUMERIC_REGEX.test(t);
479
479
  }
480
480
  // Tests whether the given string can be encoded as a segment in alphanumeric mode.
481
481
  // A string is encodable iff each character is in the following set: 0 to 9, A to Z
482
482
  // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
483
- static isAlphanumeric(e) {
484
- return u.ALPHANUMERIC_REGEX.test(e);
483
+ static isAlphanumeric(t) {
484
+ return u.ALPHANUMERIC_REGEX.test(t);
485
485
  }
486
486
  /*-- Methods --*/
487
487
  // Returns a new copy of the data bits of this segment.
@@ -490,46 +490,46 @@ var O;
490
490
  }
491
491
  // (Package-private) Calculates and returns the number of bits needed to encode the given segments at
492
492
  // the given version. The result is infinity if a segment has too many characters to fit its length field.
493
- static getTotalBits(e, o) {
493
+ static getTotalBits(t, o) {
494
494
  let n = 0;
495
- for (const i of e) {
496
- const h = i.mode.numCharCountBits(o);
497
- if (i.numChars >= 1 << h)
495
+ for (const a of t) {
496
+ const h = a.mode.numCharCountBits(o);
497
+ if (a.numChars >= 1 << h)
498
498
  return 1 / 0;
499
- n += 4 + h + i.bitData.length;
499
+ n += 4 + h + a.bitData.length;
500
500
  }
501
501
  return n;
502
502
  }
503
503
  // Returns a new array of bytes representing the given string encoded in UTF-8.
504
- static toUtf8ByteArray(e) {
505
- e = encodeURI(e);
504
+ static toUtf8ByteArray(t) {
505
+ t = encodeURI(t);
506
506
  let o = [];
507
- for (let n = 0; n < e.length; n++)
508
- e.charAt(n) != "%" ? o.push(e.charCodeAt(n)) : (o.push(parseInt(e.substring(n + 1, n + 3), 16)), n += 2);
507
+ for (let n = 0; n < t.length; n++)
508
+ t.charAt(n) != "%" ? o.push(t.charCodeAt(n)) : (o.push(parseInt(t.substring(n + 1, n + 3), 16)), n += 2);
509
509
  return o;
510
510
  }
511
511
  };
512
512
  u.NUMERIC_REGEX = /^[0-9]*$/, u.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\/:-]*$/, u.ALPHANUMERIC_CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
513
513
  let l = u;
514
514
  r.QrSegment = l;
515
- })(O || (O = {}));
515
+ })(L || (L = {}));
516
516
  ((r) => {
517
- ((s) => {
518
- const a = class a {
517
+ ((i) => {
518
+ const s = class s {
519
519
  // The QR Code can tolerate about 30% erroneous codewords
520
520
  /*-- Constructor and fields --*/
521
521
  constructor(l, d) {
522
522
  this.ordinal = l, this.formatBits = d;
523
523
  }
524
524
  };
525
- a.LOW = new a(0, 1), a.MEDIUM = new a(1, 0), a.QUARTILE = new a(2, 3), a.HIGH = new a(3, 2);
526
- let c = a;
527
- s.Ecc = c;
525
+ s.LOW = new s(0, 1), s.MEDIUM = new s(1, 0), s.QUARTILE = new s(2, 3), s.HIGH = new s(3, 2);
526
+ let c = s;
527
+ i.Ecc = c;
528
528
  })(r.QrCode || (r.QrCode = {}));
529
- })(O || (O = {}));
529
+ })(L || (L = {}));
530
530
  ((r) => {
531
- ((s) => {
532
- const a = class a {
531
+ ((i) => {
532
+ const s = class s {
533
533
  /*-- Constructor and fields --*/
534
534
  constructor(l, d) {
535
535
  this.modeBits = l, this.numBitsCharCount = d;
@@ -541,17 +541,17 @@ var O;
541
541
  return this.numBitsCharCount[Math.floor((l + 7) / 17)];
542
542
  }
543
543
  };
544
- a.NUMERIC = new a(1, [10, 12, 14]), a.ALPHANUMERIC = new a(2, [9, 11, 13]), a.BYTE = new a(4, [8, 16, 16]), a.KANJI = new a(8, [8, 10, 12]), a.ECI = new a(7, [0, 0, 0]);
545
- let c = a;
546
- s.Mode = c;
544
+ s.NUMERIC = new s(1, [10, 12, 14]), s.ALPHANUMERIC = new s(2, [9, 11, 13]), s.BYTE = new s(4, [8, 16, 16]), s.KANJI = new s(8, [8, 10, 12]), s.ECI = new s(7, [0, 0, 0]);
545
+ let c = s;
546
+ i.Mode = c;
547
547
  })(r.QrSegment || (r.QrSegment = {}));
548
- })(O || (O = {}));
549
- const v = O, rt = {
550
- L: v.QrCode.Ecc.LOW,
551
- M: v.QrCode.Ecc.MEDIUM,
552
- Q: v.QrCode.Ecc.QUARTILE,
553
- H: v.QrCode.Ecc.HIGH
554
- }, st = 128, it = "M", at = "#FFFFFF", ct = 1, lt = 4, Z = 5, z = "#000000", ht = "square", ut = "square", dt = "square", ft = "react-qr-code", S = "react-qr-code-gradient", D = "react-qr-code-bg-gradient", $t = 0.1, I = 7, T = 3, b = [
548
+ })(L || (L = {}));
549
+ const S = L, ct = {
550
+ L: S.QrCode.Ecc.LOW,
551
+ M: S.QrCode.Ecc.MEDIUM,
552
+ Q: S.QrCode.Ecc.QUARTILE,
553
+ H: S.QrCode.Ecc.HIGH
554
+ }, lt = 128, ht = "M", ut = 1, dt = 4, W = 5, H = "#000000", ft = "square", $t = "square", pt = "square", mt = "react-qr-code", U = "react-qr-code-gradient", F = "react-qr-code-bg-gradient", Et = 0.1, I = 7, v = 3, B = [
555
555
  [1, 1, 1, 1, 1, 1, 1],
556
556
  [1, 0, 0, 0, 0, 0, 1],
557
557
  [1, 0, 0, 0, 0, 0, 1],
@@ -559,7 +559,7 @@ const v = O, rt = {
559
559
  [1, 0, 0, 0, 0, 0, 1],
560
560
  [1, 0, 0, 0, 0, 0, 1],
561
561
  [1, 1, 1, 1, 1, 1, 1]
562
- ], K = {
562
+ ], J = {
563
563
  "inpoint-sm": [0, 90, -90],
564
564
  inpoint: [0, 90, -90],
565
565
  "inpoint-lg": [0, 90, -90],
@@ -569,7 +569,7 @@ const v = O, rt = {
569
569
  "leaf-sm": [0, 90, -90],
570
570
  leaf: [0, 90, -90],
571
571
  "leaf-lg": [0, 90, -90]
572
- }, H = {
572
+ }, Y = {
573
573
  "rounded-sm": 3,
574
574
  rounded: 4,
575
575
  "rounded-lg": 5,
@@ -582,7 +582,7 @@ const v = O, rt = {
582
582
  "outpoint-sm": 3,
583
583
  outpoint: 4,
584
584
  "outpoint-lg": 5
585
- }, k = {
585
+ }, G = {
586
586
  square: 0,
587
587
  diamond: 0,
588
588
  circle: 3,
@@ -598,7 +598,7 @@ const v = O, rt = {
598
598
  "outpoint-sm": 1.5,
599
599
  outpoint: 2,
600
600
  "outpoint-lg": 2.3
601
- }, B = [
601
+ }, z = [
602
602
  [0, 0, 0, 0, 0, 0, 0],
603
603
  [0, 0, 0, 0, 0, 0, 0],
604
604
  [0, 0, 1, 1, 1, 0, 0],
@@ -606,28 +606,60 @@ const v = O, rt = {
606
606
  [0, 0, 1, 1, 1, 0, 0],
607
607
  [0, 0, 0, 0, 0, 0, 0],
608
608
  [0, 0, 0, 0, 0, 0, 0]
609
- ], pt = /\.?0+$/;
610
- function mt(r) {
611
- return r.toFixed(7).replace(pt, "");
609
+ ], Mt = /\.?0+$/;
610
+ function Rt(r) {
611
+ return r.toFixed(7).replace(Mt, "");
612
612
  }
613
- const V = (r) => {
614
- const s = r % 360 * (Math.PI / 180), c = Math.max(0, Math.min(100, 50 - 50 * Math.cos(s))), a = Math.max(0, Math.min(100, 50 - 50 * Math.sin(s))), t = Math.max(0, Math.min(100, 50 + 50 * Math.cos(s))), l = Math.max(0, Math.min(100, 50 + 50 * Math.sin(s)));
613
+ const tt = (r) => {
614
+ const i = r % 360 * (Math.PI / 180), c = Math.max(0, Math.min(100, 50 - 50 * Math.cos(i))), s = Math.max(0, Math.min(100, 50 - 50 * Math.sin(i))), e = Math.max(0, Math.min(100, 50 + 50 * Math.cos(i))), l = Math.max(0, Math.min(100, 50 + 50 * Math.sin(i)));
615
615
  return {
616
616
  x1: `${c}%`,
617
- y1: `${a}%`,
618
- x2: `${t}%`,
617
+ y1: `${s}%`,
618
+ x2: `${e}%`,
619
619
  y2: `${l}%`
620
620
  };
621
- }, W = (r, s, c, a) => {
622
- const t = c / 2, l = t / 2, d = Math.PI / a;
621
+ }, et = (r, i, c, s) => {
622
+ const e = c / 2, l = e / 2, d = Math.PI / s;
623
623
  let u = "";
624
- for (let g = 0; g < 2 * a; g++) {
625
- const e = g * d - Math.PI / 2, o = g % 2 === 0 ? t : l, n = r + o * Math.cos(e), i = s + o * Math.sin(e);
626
- u += `${g === 0 ? "M" : "L"} ${n},${i} `;
624
+ for (let g = 0; g < 2 * s; g++) {
625
+ const t = g * d - Math.PI / 2, o = g % 2 === 0 ? e : l, n = r + o * Math.cos(t), a = i + o * Math.sin(t);
626
+ u += `${g === 0 ? "M" : "L"} ${n},${a} `;
627
627
  }
628
628
  return u + "Z";
629
- }, J = (r, s, c) => {
630
- let a = !1, t = 0;
629
+ }, ot = (r, i, c) => {
630
+ const s = c / 8;
631
+ return `M ${r + c} ${i + s * 3}
632
+ V ${i + s}
633
+ h -${s}
634
+ V ${i}
635
+ H ${r + s * 5}
636
+ v ${s}
637
+ H ${r + s * 3}
638
+ V ${i}
639
+ H ${r + s}
640
+ v ${s}
641
+ H ${r}
642
+ v ${s * 2}
643
+ h ${s}
644
+ v ${s * 2}
645
+ H ${r}
646
+ v ${s * 2}
647
+ h ${s}
648
+ v ${s}
649
+ h ${s * 2}
650
+ v -${s}
651
+ h ${s * 2}
652
+ v ${s}
653
+ h ${s * 2}
654
+ v -${s}
655
+ h ${s}
656
+ V ${i + s * 5}
657
+ h -${s}
658
+ V ${i + s * 3}
659
+ h ${s}
660
+ Z`;
661
+ }, nt = (r, i, c) => {
662
+ let s = !1, e = 0;
631
663
  return [
632
664
  "M",
633
665
  1,
@@ -739,221 +771,239 @@ const V = (r) => {
739
771
  1,
740
772
  0.3262506,
741
773
  "z"
742
- ].map((l) => typeof l == "string" ? (t = 0, a = l.toUpperCase() == l, l) : (t++, l = l * c, a && (l += t % 2 == 1 ? r : s), mt(l))).join(" ");
743
- }, Et = ({ background: r, numCells: s }) => {
744
- var a, t;
774
+ ].map((l) => typeof l == "string" ? (e = 0, s = l.toUpperCase() == l, l) : (e++, l = l * c, s && (l += e % 2 == 1 ? r : i), Rt(l))).join(" ");
775
+ }, x = {
776
+ "data-testid": "background"
777
+ }, gt = ({ background: r, numCells: i }) => {
778
+ var s, e;
745
779
  if (!r)
746
- return /* @__PURE__ */ N("path", { fill: at, d: `M0,0 h${s}v${s}H0z` });
780
+ return null;
747
781
  if (typeof r == "string")
748
- return /* @__PURE__ */ N("path", { fill: r, d: `M0,0 h${s}v${s}H0z` });
749
- const c = V((r == null ? void 0 : r.rotation) || 0);
750
- return /* @__PURE__ */ Q(tt, { children: [
751
- /* @__PURE__ */ N("defs", { children: r.type === "linear" ? /* @__PURE__ */ N("linearGradient", { id: D, gradientUnits: "userSpaceOnUse", ...c, children: (a = r.stops) == null ? void 0 : a.map((l, d) => /* @__PURE__ */ N("stop", { offset: l.offset, stopColor: l.color }, d)) }) : /* @__PURE__ */ N(
782
+ return /* @__PURE__ */ C("path", { fill: r, d: `M0,0 h${i}v${i}H0z`, ...x });
783
+ const c = tt((r == null ? void 0 : r.rotation) || 0);
784
+ return /* @__PURE__ */ K(rt, { children: [
785
+ /* @__PURE__ */ C("defs", { children: r.type === "linear" ? /* @__PURE__ */ C("linearGradient", { id: F, gradientUnits: "userSpaceOnUse", ...c, children: (s = r.stops) == null ? void 0 : s.map((l, d) => /* @__PURE__ */ C("stop", { offset: l.offset, stopColor: l.color }, d)) }) : /* @__PURE__ */ C(
752
786
  "radialGradient",
753
787
  {
754
- id: D,
788
+ id: F,
755
789
  gradientUnits: "userSpaceOnUse",
756
790
  cx: "50%",
757
791
  cy: "50%",
758
792
  r: "50%",
759
- children: (t = r.stops) == null ? void 0 : t.map((l, d) => /* @__PURE__ */ N("stop", { offset: l.offset, stopColor: l.color }, d))
793
+ children: (e = r.stops) == null ? void 0 : e.map((l, d) => /* @__PURE__ */ C("stop", { offset: l.offset, stopColor: l.color }, d))
760
794
  }
761
795
  ) }),
762
- /* @__PURE__ */ N("path", { fill: `url(#${D})`, d: `M0,0 h${s}v${s}H0z` })
796
+ /* @__PURE__ */ C(
797
+ "path",
798
+ {
799
+ fill: `url(#${F})`,
800
+ d: `M0,0 h${i}v${i}H0z`,
801
+ ...x
802
+ }
803
+ )
763
804
  ] });
764
- }, Mt = (r) => r === "square" || r === "circle" || r === "star" || r === "heart" || r === "diamond", F = (r, s, c) => {
765
- const a = {
766
- left: r === 0 ? 0 : c[s][r - 1],
767
- right: r === c[s].length - 1 ? 0 : c[s][r + 1],
768
- top: s === 0 ? 0 : c[s - 1][r],
769
- bottom: s === c.length - 1 ? 0 : c[s + 1][r]
805
+ }, wt = (r) => r === "square" || r === "circle" || r === "star" || r === "heart" || r === "diamond" || r === "hashtag", At = (r, i) => r === "square-sm" ? 0.75 : i ? Math.random() * (1 - 0.75) + 0.75 : 1, b = (r, i, c) => {
806
+ const s = {
807
+ left: r === 0 ? !1 : c[i][r - 1],
808
+ right: r === c[i].length - 1 ? !1 : c[i][r + 1],
809
+ top: i === 0 ? !1 : c[i - 1][r],
810
+ bottom: i === c.length - 1 ? !1 : c[i + 1][r]
770
811
  };
771
812
  return {
772
- ...a,
773
- count: Object.values(a).filter(Boolean).length
813
+ ...s,
814
+ count: Object.values(s).filter(Boolean).length
774
815
  };
775
- }, y = (r, s, c) => `M${r},${s}h${c}v${c}h-${c}Z`, U = (r, s, c) => `M${r},${s + c / 2}a${c / 2},${c / 2} 0 1,0 ${c},0a${c / 2},${c / 2} 0 1,0 -${c},0Z`, Rt = (r, s, c) => `M${r},${s + c / 2}l${c / 2},-${c / 2}l${c / 2},${c / 2}l-${c / 2},${c / 2}Z`, gt = (r, s) => `M ${r} ${s}
816
+ }, y = (r, i, c) => `M${r},${i}h${c}v${c}h-${c}Z`, D = (r, i, c) => `M${r},${i + c / 2}a${c / 2},${c / 2} 0 1,0 ${c},0a${c / 2},${c / 2} 0 1,0 -${c},0Z`, Ct = (r, i, c) => `M${r},${i + c / 2}l${c / 2},-${c / 2}l${c / 2},${c / 2}l-${c / 2},${c / 2}Z`, Nt = (r, i) => `M ${r} ${i}
776
817
  v 1
777
818
  h 1
778
819
  v -0.5
779
- a 0.5 0.5, 0, 0, 0, -0.5 -0.5`, G = (r, s) => `M ${r + 1} ${s}
820
+ a 0.5 0.5, 0, 0, 0, -0.5 -0.5`, q = (r, i) => `M ${r + 1} ${i}
780
821
  v 1
781
822
  h -1
782
823
  v -0.5
783
- a 0.5 0.5, 0, 0, 1, 0.5 -0.5`, Y = (r, s) => `M ${r} ${s}
824
+ a 0.5 0.5, 0, 0, 1, 0.5 -0.5`, j = (r, i) => `M ${r} ${i}
784
825
  v 1
785
826
  h 0.5
786
827
  a 0.5 0.5, 0, 0, 0, 0.5 -0.5
787
828
  v -0.5
788
- h -1`, At = (r, s) => `M ${r + 1} ${s}
829
+ h -1`, It = (r, i) => `M ${r + 1} ${i}
789
830
  v 1
790
831
  h -0.5
791
832
  a 0.5 0.5, 0, 0, 1, -0.5 -0.5
792
833
  v -0.5
793
- h 1`, q = (r, s) => `M ${r} ${s}
834
+ h 1`, V = (r, i) => `M ${r} ${i}
794
835
  v 1
795
836
  h 0.5
796
- a 0.5 0.5, 0, 0, 0, 0 -1`, j = (r, s) => `M ${r + 1} ${s}
837
+ a 0.5 0.5, 0, 0, 0, 0 -1`, X = (r, i) => `M ${r + 1} ${i}
797
838
  v 1
798
839
  h -0.5
799
- a 0.5 0.5, 0, 0, 1, 0 -1`, X = (r, s) => `M ${r} ${s + 1}
840
+ a 0.5 0.5, 0, 0, 1, 0 -1`, Z = (r, i) => `M ${r} ${i + 1}
800
841
  h 1
801
842
  v -0.5
802
- a 0.5 0.5, 0, 0, 0, -1 0`, _ = (r, s) => `M ${r} ${s}
843
+ a 0.5 0.5, 0, 0, 0, -1 0`, Q = (r, i) => `M ${r} ${i}
803
844
  h 1
804
845
  v 0.5
805
- a 0.5 0.5, 0, 0, 1, -1 0`, wt = (r, s, c) => `M ${r + 1} ${s}h -${c / 2}a ${c / 2.5} ${c / 2.5}, 0, 0, 0, ${-c / 2.5} ${c / 2.5}v ${c / 2}h ${c / 2}a ${c / 2.5} ${c / 2.5}, 0, 0, 0, ${c / 2.5} ${-c / 2.5}`, Nt = ({
846
+ a 0.5 0.5, 0, 0, 1, -1 0`, Pt = (r, i, c) => `M ${r + 1} ${i}h -${c / 2}a ${c / 2.5} ${c / 2.5}, 0, 0, 0, ${-c / 2.5} ${c / 2.5}v ${c / 2}h ${c / 2}a ${c / 2.5} ${c / 2.5}, 0, 0, 0, ${c / 2.5} ${-c / 2.5}`, vt = ({
806
847
  x: r,
807
- y: s,
848
+ y: i,
808
849
  numCells: c
809
850
  }) => {
810
- var a, t, l;
811
- return !!((a = B[r]) != null && a[s] || (t = B[r - c + 7]) != null && t[s] || (l = B[r]) != null && l[s - c + 7]);
812
- }, Ct = ({
851
+ var s, e, l;
852
+ return !!((s = z[r]) != null && s[i] || (e = z[r - c + 7]) != null && e[i] || (l = z[r]) != null && l[i - c + 7]);
853
+ }, Tt = ({
813
854
  x: r,
814
- y: s,
855
+ y: i,
815
856
  radius: c
816
857
  }) => {
817
- const a = T - c, t = c / 2, l = T - t;
818
- return `M ${r} ${s + t}v ${a}a ${t} ${t}, 0, 0, 0, ${t} ${t}h ${l}v ${-l}a ${t} ${t}, 0, 0, 0, ${-t} ${-t}h ${-a}H ${r}z`;
819
- }, It = ({
858
+ const s = v - c, e = c / 2, l = v - e;
859
+ return `M ${r} ${i + e}v ${s}a ${e} ${e}, 0, 0, 0, ${e} ${e}h ${l}v ${-l}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}h ${-s}H ${r}z`;
860
+ }, Lt = ({
820
861
  x: r,
821
- y: s,
862
+ y: i,
822
863
  radius: c
823
864
  }) => {
824
- const a = T - c, t = c / 2, l = T - t;
825
- return `M ${r} ${s + t}v ${a}a ${t} ${t}, 0, 0, 0, ${t} ${t}h ${l}v ${-l}a ${t} ${t}, 0, 0, 0, ${-t} ${-t}h ${-a}a ${t} ${t}, 0, 0, 0, ${-t} ${t}`;
826
- }, Pt = ({
865
+ const s = v - c, e = c / 2, l = v - e;
866
+ return `M ${r} ${i + e}v ${s}a ${e} ${e}, 0, 0, 0, ${e} ${e}h ${l}v ${-l}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}h ${-s}a ${e} ${e}, 0, 0, 0, ${-e} ${e}`;
867
+ }, Ot = ({
827
868
  x: r,
828
- y: s,
869
+ y: i,
829
870
  numCells: c
830
871
  }) => {
831
- var a, t, l;
832
- return !!((a = b[r]) != null && a[s] || (t = b[r - c + 7]) != null && t[s] || (l = b[r]) != null && l[s - c + 7]);
833
- }, Tt = ({
872
+ var s, e, l;
873
+ return !!((s = B[r]) != null && s[i] || (e = B[r - c + 7]) != null && e[i] || (l = B[r]) != null && l[i - c + 7]);
874
+ }, St = ({
834
875
  x: r,
835
- y: s,
876
+ y: i,
836
877
  radius: c
837
878
  }) => {
838
- const a = I - c, t = c / 2;
839
- return `M ${r} ${s + t}v ${a}a ${t} ${t}, 0, 0, 0, ${t} ${t}h ${a}a ${t} ${t}, 0, 0, 0, ${t} ${-t}v ${-a}a ${t} ${t}, 0, 0, 0, ${-t} ${-t}h ${-a}a ${t} ${t}, 0, 0, 0, ${-t} ${t}M ${r + t} ${s + 1}h ${a}a ${t - 1} ${t - 1}, 0, 0, 1, ${t - 1} ${t - 1}v ${a}a ${t - 1} ${t - 1}, 0, 0, 1, ${-(t - 1)} ${t - 1}h ${-a}a ${t - 1} ${t - 1}, 0, 0, 1, ${-(t - 1)} ${-(t - 1)}v ${-a}a ${t - 1} ${t - 1}, 0, 0, 1, ${t - 1} ${-(t - 1)}`;
840
- }, Lt = ({
879
+ const s = I - c, e = c / 2;
880
+ return `M ${r} ${i + e}v ${s}a ${e} ${e}, 0, 0, 0, ${e} ${e}h ${s}a ${e} ${e}, 0, 0, 0, ${e} ${-e}v ${-s}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}h ${-s}a ${e} ${e}, 0, 0, 0, ${-e} ${e}M ${r + e} ${i + 1}h ${s}a ${e - 1} ${e - 1}, 0, 0, 1, ${e - 1} ${e - 1}v ${s}a ${e - 1} ${e - 1}, 0, 0, 1, ${-(e - 1)} ${e - 1}h ${-s}a ${e - 1} ${e - 1}, 0, 0, 1, ${-(e - 1)} ${-(e - 1)}v ${-s}a ${e - 1} ${e - 1}, 0, 0, 1, ${e - 1} ${-(e - 1)}`;
881
+ }, yt = ({
841
882
  x: r,
842
- y: s,
883
+ y: i,
843
884
  radius: c
844
885
  }) => {
845
- const a = I - c, t = c / 2, l = I - t;
846
- return `M ${r} ${s + t}v ${a}a ${t} ${t}, 0, 0, 0, ${t} ${t}h ${l}v ${-l}a ${t} ${t}, 0, 0, 0, ${-t} ${-t}h ${-a}H ${r}zM ${r + t} ${s + 1}h ${a}a ${t - 1} ${t - 1}, 0, 0, 1, ${t - 1} ${t - 1}v ${l - 1}h ${-(l - 1)}a ${t - 1} ${t - 1}, 0, 0, 1, ${-(t - 1)} ${-(t - 1)}v ${-(l - 1)}z`;
847
- }, Ot = ({
886
+ const s = I - c, e = c / 2, l = I - e;
887
+ return `M ${r} ${i + e}v ${s}a ${e} ${e}, 0, 0, 0, ${e} ${e}h ${l}v ${-l}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}h ${-s}H ${r}zM ${r + e} ${i + 1}h ${s}a ${e - 1} ${e - 1}, 0, 0, 1, ${e - 1} ${e - 1}v ${l - 1}h ${-(l - 1)}a ${e - 1} ${e - 1}, 0, 0, 1, ${-(e - 1)} ${-(e - 1)}v ${-(l - 1)}z`;
888
+ }, Ut = ({
848
889
  x: r,
849
- y: s,
890
+ y: i,
850
891
  radius: c
851
892
  }) => {
852
- const a = I - c, t = c / 2, l = I - t;
853
- return `M ${r} ${s + t}v ${a}a ${t} ${t}, 0, 0, 0, ${t} ${t}h ${l}v ${-l}a ${t} ${t}, 0, 0, 0, ${-t} ${-t}h ${-a}a ${t} ${t}, 0, 0, 0, ${-t} ${t}M ${r + t} ${s + 1}h ${a}a ${t - 1} ${t - 1}, 0, 0, 1, ${t - 1} ${t - 1}v ${l - 1}h ${-(l - 1)}a ${t - 1} ${t - 1}, 0, 0, 1, ${-(t - 1)} ${-(t - 1)}v ${-a}a ${t - 1} ${t - 1}, 0, 0, 1, ${t - 1} ${-(t - 1)}`;
854
- }, vt = (r) => ({
855
- color: (r == null ? void 0 : r.color) || z,
856
- style: (r == null ? void 0 : r.style) || dt,
893
+ const s = I - c, e = c / 2, l = I - e;
894
+ return `M ${r} ${i + e}v ${s}a ${e} ${e}, 0, 0, 0, ${e} ${e}h ${l}v ${-l}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}h ${-s}a ${e} ${e}, 0, 0, 0, ${-e} ${e}M ${r + e} ${i + 1}h ${s}a ${e - 1} ${e - 1}, 0, 0, 1, ${e - 1} ${e - 1}v ${l - 1}h ${-(l - 1)}a ${e - 1} ${e - 1}, 0, 0, 1, ${-(e - 1)} ${-(e - 1)}v ${-s}a ${e - 1} ${e - 1}, 0, 0, 1, ${e - 1} ${-(e - 1)}`;
895
+ }, bt = (r) => ({
896
+ color: (r == null ? void 0 : r.color) || H,
897
+ style: (r == null ? void 0 : r.style) || pt,
857
898
  randomSize: (r == null ? void 0 : r.randomSize) || !1
858
- }), yt = (r) => ({
859
- color: (r == null ? void 0 : r.color) || z,
860
- style: (r == null ? void 0 : r.style) || ht
861
- }), St = (r) => ({
862
- color: (r == null ? void 0 : r.color) || z,
863
- style: (r == null ? void 0 : r.style) || ut
864
- }), Ft = ({
899
+ }), Dt = (r) => ({
900
+ color: (r == null ? void 0 : r.color) || H,
901
+ style: (r == null ? void 0 : r.style) || ft
902
+ }), Ft = (r) => ({
903
+ color: (r == null ? void 0 : r.color) || H,
904
+ style: (r == null ? void 0 : r.style) || $t
905
+ }), Bt = ({
865
906
  modules: r,
866
- margin: s,
907
+ margin: i,
867
908
  settings: c,
868
- gradient: a
909
+ gradient: s
869
910
  }) => {
870
- const { color: t, style: l, randomSize: d } = L(
871
- () => vt(c),
911
+ const { color: e, style: l, randomSize: d } = T(
912
+ () => bt(c),
872
913
  [c]
873
- ), u = [], g = r.length, e = Mt(l) && d, o = et(() => l === "square-sm" ? 0.75 : e ? Math.random() * (1 - 0.75) + 0.75 : 1, [l, e]);
874
- return r.forEach((n, i) => {
914
+ ), u = [], g = r.length, t = wt(l) && d, o = st(
915
+ () => At(l, t),
916
+ [l, t]
917
+ );
918
+ return r.forEach((n, a) => {
875
919
  n.forEach((h, $) => {
876
- if (Pt({ x: $, y: i, numCells: g }) || Nt({ x: $, y: i, numCells: g }))
920
+ if (Ot({ x: $, y: a, numCells: g }) || vt({ x: $, y: a, numCells: g }))
877
921
  return;
878
- const f = o(), p = 1 * f, M = (1 - 1 * f) / 2, E = $ + s + M, m = i + s + M;
922
+ const f = o(), p = 1 * f, M = (1 - 1 * f) / 2, E = $ + i + M, m = a + i + M;
879
923
  if (h) {
880
924
  if (l === "square" || l === "square-sm")
881
925
  u.push(y(E, m, p));
882
926
  else if (l === "circle")
883
- u.push(U(E, m, p));
927
+ u.push(D(E, m, p));
884
928
  else if (l === "diamond")
885
- u.push(Rt(E, m, p));
929
+ u.push(Ct(E, m, p));
886
930
  else if (l === "star")
887
931
  u.push(
888
- W(E + p / 2, m + p / 2, p * 1.1, Z)
932
+ et(E + p / 2, m + p / 2, p * 1.1, W)
889
933
  );
890
934
  else if (l === "heart")
891
- u.push(J(E, m, p));
935
+ u.push(nt(E, m, p));
936
+ else if (l === "hashtag")
937
+ u.push(ot(E, m, p));
892
938
  else if (l === "rounded") {
893
- const { left: R, right: A, top: w, bottom: C, count: P } = F($, i, r);
894
- P === 0 ? u.push(U(E, m, 1)) : P > 2 || R && A || w && C ? u.push(y(E, m, 1)) : P === 2 ? R && w ? u.push(Y(E, m)) : w && A ? u.push(At(E, m)) : A && C ? u.push(G(E, m)) : u.push(gt(E, m)) : w ? u.push(_(E, m)) : A ? u.push(j(E, m)) : C ? u.push(X(E, m)) : u.push(q(E, m));
939
+ const { left: R, right: w, top: A, bottom: N, count: P } = b($, a, r);
940
+ P === 0 ? u.push(D(E, m, 1)) : P > 2 || R && w || A && N ? u.push(y(E, m, 1)) : P === 2 ? R && A ? u.push(j(E, m)) : A && w ? u.push(It(E, m)) : w && N ? u.push(q(E, m)) : u.push(Nt(E, m)) : A ? u.push(Q(E, m)) : w ? u.push(X(E, m)) : N ? u.push(Z(E, m)) : u.push(V(E, m));
895
941
  } else if (l === "leaf") {
896
- const { left: R, right: A, top: w, bottom: C, count: P } = F($, i, r);
942
+ const { left: R, right: w, top: A, bottom: N, count: P } = b($, a, r);
897
943
  if (P === 0)
898
- u.push(wt(E, m, p));
899
- else if (!R && !w) {
900
- u.push(G(E, m));
944
+ u.push(Pt(E, m, p));
945
+ else if (!R && !A) {
946
+ u.push(q(E, m));
901
947
  return;
902
- } else !A && !C ? u.push(Y(E, m)) : u.push(y(E, m, 1));
948
+ } else !w && !N ? u.push(j(E, m)) : u.push(y(E, m, 1));
903
949
  } else if (l === "vertical-line") {
904
- const { left: R, right: A, top: w, bottom: C, count: P } = F($, i, r);
905
- P === 0 || R && !(w || C) || A && !(w || C) ? u.push(U(E, m, 1)) : w && C ? u.push(y(E, m, 1)) : w && !C ? u.push(_(E, m)) : C && !w && u.push(X(E, m));
950
+ const { left: R, right: w, top: A, bottom: N, count: P } = b($, a, r);
951
+ P === 0 || R && !(A || N) || w && !(A || N) ? u.push(D(E, m, 1)) : A && N ? u.push(y(E, m, 1)) : A && !N ? u.push(Q(E, m)) : N && !A && u.push(Z(E, m));
906
952
  } else if (l === "horizontal-line") {
907
- const { left: R, right: A, top: w, bottom: C, count: P } = F($, i, r);
908
- P === 0 || w && !(R || A) || C && !(R || A) ? u.push(U(E, m, 1)) : R && A ? u.push(y(E, m, 1)) : R && !A ? u.push(q(E, m)) : A && !R && u.push(j(E, m));
953
+ const { left: R, right: w, top: A, bottom: N, count: P } = b($, a, r);
954
+ P === 0 || A && !(R || w) || N && !(R || w) ? u.push(D(E, m, 1)) : R && w ? u.push(y(E, m, 1)) : R && !w ? u.push(V(E, m)) : w && !R && u.push(X(E, m));
909
955
  }
910
956
  }
911
957
  });
912
- }), /* @__PURE__ */ N(
958
+ }), /* @__PURE__ */ C(
913
959
  "path",
914
960
  {
915
- fill: a ? `url(#${S})` : t,
961
+ fill: s ? `url(#${U})` : e,
916
962
  d: u.join(""),
917
- shapeRendering: l === "square" ? "crispEdges" : "geometricPrecision"
963
+ shapeRendering: l === "square" ? "crispEdges" : "geometricPrecision",
964
+ "data-testid": "data-modules"
918
965
  }
919
966
  );
920
- }, Ut = ({
967
+ }, O = {
968
+ "data-testid": "finder-patterns-inner"
969
+ }, zt = ({
921
970
  modules: r,
922
- margin: s,
971
+ margin: i,
923
972
  settings: c,
924
- gradient: a
973
+ gradient: s
925
974
  }) => {
926
- const { color: t, style: l } = L(
927
- () => St(c),
975
+ const { color: e, style: l } = T(
976
+ () => Ft(c),
928
977
  [c]
929
- ), d = a ? `url(#${S})` : t, u = L(
978
+ ), d = s ? `url(#${U})` : e, u = T(
930
979
  () => [
931
- { x: s + 2, y: s + 2 },
932
- { x: r.length + s - I + 2, y: s + 2 },
933
- { x: s + 2, y: r.length + s - I + 2 }
980
+ { x: i + 2, y: i + 2 },
981
+ { x: r.length + i - I + 2, y: i + 2 },
982
+ { x: i + 2, y: r.length + i - I + 2 }
934
983
  ],
935
- [s, r.length]
936
- ), g = (e, o) => `finder-patterns-inner-${l}-${e}-${o}`;
984
+ [i, r.length]
985
+ ), g = (t, o) => `finder-patterns-inner-${l}-${t}-${o}`;
937
986
  if (l === "rounded-sm" || l === "rounded" || l === "rounded-lg" || l === "circle" || l === "square")
938
- return u.map((e) => {
939
- const { x: o, y: n } = e;
940
- return /* @__PURE__ */ N(
987
+ return u.map((t) => {
988
+ const { x: o, y: n } = t;
989
+ return /* @__PURE__ */ C(
941
990
  "rect",
942
991
  {
943
992
  x: o,
944
993
  y: n,
945
- width: T,
946
- height: T,
994
+ width: v,
995
+ height: v,
947
996
  fill: d,
948
- rx: k[l]
997
+ rx: G[l],
998
+ ...O
949
999
  },
950
1000
  g(o, n)
951
1001
  );
952
1002
  });
953
1003
  if (l === "diamond")
954
- return u.map((e) => {
955
- const { x: o, y: n } = e, i = Math.sqrt(1.5), h = T / i, $ = h - h / i;
956
- return /* @__PURE__ */ N(
1004
+ return u.map((t) => {
1005
+ const { x: o, y: n } = t, a = Math.sqrt(1.5), h = v / a, $ = h - h / a;
1006
+ return /* @__PURE__ */ C(
957
1007
  "rect",
958
1008
  {
959
1009
  x: o + $ / 2,
@@ -965,249 +1015,269 @@ const V = (r) => {
965
1015
  transform: "rotate(45deg)",
966
1016
  transformOrigin: "center",
967
1017
  transformBox: "fill-box"
968
- }
1018
+ },
1019
+ ...O
969
1020
  },
970
1021
  g(o, n)
971
1022
  );
972
1023
  });
973
1024
  if (l === "inpoint-sm" || l === "inpoint" || l === "inpoint-lg" || l === "outpoint-sm" || l === "outpoint" || l === "outpoint-lg" || l === "leaf-sm" || l === "leaf" || l === "leaf-lg") {
974
- const e = l === "leaf-sm" || l === "leaf" || l === "leaf-lg" ? Ct : It;
1025
+ const t = l === "leaf-sm" || l === "leaf" || l === "leaf-lg" ? Tt : Lt;
975
1026
  return u.map((o, n) => ({
976
1027
  ...o,
977
- rotation: K[l][n]
978
- })).map(({ x: o, y: n, rotation: i }) => {
979
- const h = e({
1028
+ rotation: J[l][n]
1029
+ })).map(({ x: o, y: n, rotation: a }) => {
1030
+ const h = t({
980
1031
  x: o,
981
1032
  y: n,
982
- radius: k[l]
1033
+ radius: G[l]
983
1034
  });
984
- return /* @__PURE__ */ N(
1035
+ return /* @__PURE__ */ C(
985
1036
  "path",
986
1037
  {
987
1038
  fill: d,
988
1039
  d: h,
989
1040
  style: {
990
- transform: `rotate(${i}deg)`,
1041
+ transform: `rotate(${a}deg)`,
991
1042
  transformOrigin: "center",
992
1043
  transformBox: "fill-box"
993
- }
1044
+ },
1045
+ ...O
994
1046
  },
995
1047
  g(o, n)
996
1048
  );
997
1049
  });
998
1050
  }
999
- return l === "heart" ? u.map(({ x: e, y: o }) => /* @__PURE__ */ N("path", { fill: d, d: J(e, o, T) }, g(e, o))) : l === "star" ? u.map(({ x: e, y: o }) => {
1000
- const n = e + T / 2, i = o + T / 2, h = W(n, i, T * 1.2, Z);
1001
- return /* @__PURE__ */ N("path", { fill: d, d: h }, g(e, o));
1002
- }) : null;
1003
- }, Dt = ({
1051
+ if (l === "heart")
1052
+ return u.map(({ x: t, y: o }) => /* @__PURE__ */ C(
1053
+ "path",
1054
+ {
1055
+ fill: d,
1056
+ d: nt(t, o, v),
1057
+ ...O
1058
+ },
1059
+ g(t, o)
1060
+ ));
1061
+ if (l === "star")
1062
+ return u.map(({ x: t, y: o }) => {
1063
+ const n = t + v / 2, a = o + v / 2, h = et(n, a, v * 1.2, W);
1064
+ return /* @__PURE__ */ C("path", { fill: d, d: h, ...O }, g(t, o));
1065
+ });
1066
+ if (l === "hashtag")
1067
+ return u.map(({ x: t, y: o }) => {
1068
+ const n = ot(t - 0.25, o - 0.25, 3.5);
1069
+ return /* @__PURE__ */ C("path", { fill: d, d: n, ...O }, g(t, o));
1070
+ });
1071
+ }, _ = {
1072
+ "data-testid": "finder-patterns-outer"
1073
+ }, Ht = ({
1004
1074
  modules: r,
1005
- margin: s,
1075
+ margin: i,
1006
1076
  settings: c,
1007
- gradient: a
1077
+ gradient: s
1008
1078
  }) => {
1009
- const { style: t, color: l } = L(
1010
- () => yt(c),
1079
+ const { style: e, color: l } = T(
1080
+ () => Dt(c),
1011
1081
  [c]
1012
- ), d = a ? `url(#${S})` : l, u = [], g = L(
1082
+ ), d = s ? `url(#${U})` : l, u = [], g = T(
1013
1083
  () => [
1014
- { x: s, y: s },
1015
- { x: r.length + s - I, y: s },
1016
- { x: s, y: r.length + s - I }
1084
+ { x: i, y: i },
1085
+ { x: r.length + i - I, y: i },
1086
+ { x: i, y: r.length + i - I }
1017
1087
  ],
1018
- [s, r.length]
1088
+ [i, r.length]
1019
1089
  );
1020
- if (["rounded-sm", "rounded", "rounded-lg", "circle", "square"].includes(t)) {
1021
- for (const e of g) {
1022
- const { x: o, y: n } = e;
1023
- t === "rounded-sm" || t === "rounded" || t === "rounded-lg" ? u.push(
1024
- Tt({
1090
+ if (["rounded-sm", "rounded", "rounded-lg", "circle", "square"].includes(e)) {
1091
+ for (const t of g) {
1092
+ const { x: o, y: n } = t;
1093
+ e === "rounded-sm" || e === "rounded" || e === "rounded-lg" ? u.push(
1094
+ St({
1025
1095
  x: o,
1026
1096
  y: n,
1027
- radius: H[t]
1097
+ radius: Y[e]
1028
1098
  })
1029
- ) : t === "circle" ? u.push(
1099
+ ) : e === "circle" ? u.push(
1030
1100
  `M ${o + I / 2} ${n}a ${I / 2} ${I / 2} 0 1 0 0.01 0zzm 0 1a ${I / 2 - 1} ${I / 2 - 1} 0 1 1 -0.01 0Z`
1031
1101
  ) : u.push(
1032
1102
  `M ${o} ${n}v ${I}h ${I}v -7zM ${o + 1} ${n + 1}h ${I - 2 * 1}v ${I - 2 * 1}h ${-7 + 2 * 1}z`
1033
1103
  );
1034
1104
  }
1035
- return /* @__PURE__ */ N("path", { fill: d, d: u.join("") });
1105
+ return /* @__PURE__ */ C("path", { fill: d, d: u.join(""), ..._ });
1036
1106
  }
1037
- if (t === "inpoint-sm" || t === "inpoint" || t === "inpoint-lg" || t === "outpoint-sm" || t === "outpoint" || t === "outpoint-lg" || t === "leaf-sm" || t === "leaf" || t === "leaf-lg") {
1038
- const e = t === "leaf-sm" || t === "leaf" || t === "leaf-lg" ? Lt : Ot;
1107
+ if (e === "inpoint-sm" || e === "inpoint" || e === "inpoint-lg" || e === "outpoint-sm" || e === "outpoint" || e === "outpoint-lg" || e === "leaf-sm" || e === "leaf" || e === "leaf-lg") {
1108
+ const t = e === "leaf-sm" || e === "leaf" || e === "leaf-lg" ? yt : Ut;
1039
1109
  return g.map((o, n) => ({
1040
1110
  ...o,
1041
- rotation: K[t][n]
1042
- })).map(({ x: o, y: n, rotation: i }) => {
1043
- const h = e({
1111
+ rotation: J[e][n]
1112
+ })).map(({ x: o, y: n, rotation: a }) => {
1113
+ const h = t({
1044
1114
  x: o,
1045
1115
  y: n,
1046
- radius: H[t]
1116
+ radius: Y[e]
1047
1117
  });
1048
- return /* @__PURE__ */ N(
1118
+ return /* @__PURE__ */ C(
1049
1119
  "path",
1050
1120
  {
1051
1121
  fill: d,
1052
1122
  d: h,
1053
1123
  style: {
1054
- transform: `rotate(${i}deg)`,
1124
+ transform: `rotate(${a}deg)`,
1055
1125
  transformOrigin: "center",
1056
1126
  transformBox: "fill-box"
1057
- }
1127
+ },
1128
+ ..._
1058
1129
  },
1059
- `finder-patterns-outer-${t}-${o}-${n}`
1130
+ `finder-patterns-outer-${e}-${o}-${n}`
1060
1131
  );
1061
1132
  });
1062
1133
  }
1063
- return null;
1064
- }, bt = ({ gradient: r }) => {
1065
- var c, a;
1134
+ }, kt = ({ gradient: r }) => {
1135
+ var c, s;
1066
1136
  if (!r)
1067
1137
  return null;
1068
- const s = V((r == null ? void 0 : r.rotation) || 0);
1069
- return /* @__PURE__ */ N("defs", { children: r.type === "linear" ? /* @__PURE__ */ N("linearGradient", { id: S, gradientUnits: "userSpaceOnUse", ...s, children: (c = r.stops) == null ? void 0 : c.map((t, l) => /* @__PURE__ */ N("stop", { offset: t.offset, stopColor: t.color }, l)) }) : /* @__PURE__ */ N(
1138
+ const i = tt((r == null ? void 0 : r.rotation) || 0);
1139
+ return /* @__PURE__ */ C("defs", { children: r.type === "linear" ? /* @__PURE__ */ C("linearGradient", { id: U, gradientUnits: "userSpaceOnUse", ...i, children: (c = r.stops) == null ? void 0 : c.map((e, l) => /* @__PURE__ */ C("stop", { offset: e.offset, stopColor: e.color }, l)) }) : /* @__PURE__ */ C(
1070
1140
  "radialGradient",
1071
1141
  {
1072
- id: S,
1142
+ id: U,
1073
1143
  gradientUnits: "userSpaceOnUse",
1074
1144
  cx: "50%",
1075
1145
  cy: "50%",
1076
1146
  r: "50%",
1077
- children: (a = r.stops) == null ? void 0 : a.map((t, l) => /* @__PURE__ */ N("stop", { offset: t.offset, stopColor: t.color }, l))
1147
+ children: (s = r.stops) == null ? void 0 : s.map((e, l) => /* @__PURE__ */ C("stop", { offset: e.offset, stopColor: e.color }, l))
1078
1148
  }
1079
1149
  ) });
1080
- }, Bt = (r, s) => r.slice().map((c, a) => a < s.y || a >= s.y + s.h ? c : c.map((t, l) => l < s.x || l >= s.x + s.w ? t : !1)), zt = (r, s, c, a) => {
1081
- if (a == null)
1150
+ }, Yt = (r, i) => r.slice().map((c, s) => s < i.y || s >= i.y + i.h ? c : c.map((e, l) => l < i.x || l >= i.x + i.w ? e : !1)), Gt = (r, i, c, s) => {
1151
+ if (s == null)
1082
1152
  return null;
1083
- const t = r.length + c * 2, l = Math.floor(s * $t), d = t / s, u = (a.width || l) * d, g = (a.height || l) * d, e = a.x == null ? r.length / 2 - u / 2 : a.x * d, o = a.y == null ? r.length / 2 - g / 2 : a.y * d, n = a.opacity == null ? 1 : a.opacity;
1084
- let i = null;
1085
- if (a.excavate) {
1086
- const $ = Math.floor(e), f = Math.floor(o), p = Math.ceil(u + e - $), M = Math.ceil(g + o - f);
1087
- i = { x: $, y: f, w: p, h: M };
1153
+ const e = r.length + c * 2, l = Math.floor(i * Et), d = e / i, u = (s.width || l) * d, g = (s.height || l) * d, t = s.x == null ? r.length / 2 - u / 2 : s.x * d, o = s.y == null ? r.length / 2 - g / 2 : s.y * d, n = s.opacity == null ? 1 : s.opacity;
1154
+ let a = null;
1155
+ if (s.excavate) {
1156
+ const $ = Math.floor(t), f = Math.floor(o), p = Math.ceil(u + t - $), M = Math.ceil(g + o - f);
1157
+ a = { x: $, y: f, w: p, h: M };
1088
1158
  }
1089
- const h = a.crossOrigin;
1090
- return { x: e, y: o, h: g, w: u, excavation: i, opacity: n, crossOrigin: h };
1091
- }, xt = (r) => r != null ? Math.max(Math.floor(r), 0) : lt, Ht = ({
1159
+ const h = s.crossOrigin;
1160
+ return { x: t, y: o, h: g, w: u, excavation: a, opacity: n, crossOrigin: h };
1161
+ }, xt = (r) => r != null ? Math.max(Math.floor(r), 0) : dt, qt = ({
1092
1162
  value: r,
1093
- level: s,
1163
+ level: i,
1094
1164
  minVersion: c,
1095
- marginSize: a,
1096
- imageSettings: t,
1165
+ marginSize: s,
1166
+ imageSettings: e,
1097
1167
  size: l,
1098
1168
  boostLevel: d
1099
1169
  }) => {
1100
- const u = L(() => {
1101
- const h = (Array.isArray(r) ? r : [r]).reduce(($, f) => ($.push(...v.QrSegment.makeSegments(f)), $), []);
1102
- return v.QrCode.encodeSegments(
1170
+ const u = T(() => {
1171
+ const h = (Array.isArray(r) ? r : [r]).reduce(($, f) => ($.push(...S.QrSegment.makeSegments(f)), $), []);
1172
+ return S.QrCode.encodeSegments(
1103
1173
  h,
1104
- rt[s],
1174
+ ct[i],
1105
1175
  c,
1106
1176
  void 0,
1107
1177
  void 0,
1108
1178
  d
1109
1179
  );
1110
- }, [r, s, c, d]), { cells: g, margin: e, numCells: o, calculatedImageSettings: n } = L(() => {
1111
- const i = u.getModules(), h = xt(a), $ = i.length + h * 2, f = zt(i, l, h, t);
1180
+ }, [r, i, c, d]), { cells: g, margin: t, numCells: o, calculatedImageSettings: n } = T(() => {
1181
+ const a = u.getModules(), h = xt(s), $ = a.length + h * 2, f = Gt(a, l, h, e);
1112
1182
  return {
1113
- cells: i,
1183
+ cells: a,
1114
1184
  margin: h,
1115
1185
  numCells: $,
1116
1186
  calculatedImageSettings: f
1117
1187
  };
1118
- }, [u, l, t, a]);
1188
+ }, [u, l, e, s]);
1119
1189
  return {
1120
1190
  qrcode: u,
1121
- margin: e,
1191
+ margin: t,
1122
1192
  cells: g,
1123
1193
  numCells: o,
1124
1194
  calculatedImageSettings: n
1125
1195
  };
1126
- }, kt = ({ svgRef: r, fileSize: s, fileName: c }) => {
1196
+ }, jt = ({ svgRef: r, fileSize: i, fileName: c }) => {
1127
1197
  if (!r.current) return;
1128
- const a = r.current.cloneNode(!0);
1129
- a.setAttribute("width", s.toString()), a.setAttribute("height", s.toString());
1130
- const t = new XMLSerializer(), l = new Blob([t.serializeToString(a)], {
1198
+ const s = r.current.cloneNode(!0);
1199
+ s.setAttribute("width", i.toString()), s.setAttribute("height", i.toString());
1200
+ const e = new XMLSerializer(), l = new Blob([e.serializeToString(s)], {
1131
1201
  type: "image/svg+xml"
1132
1202
  }), d = URL.createObjectURL(l), u = document.createElement("a");
1133
1203
  u.href = d, u.download = `${c}.svg`, document.body.appendChild(u), u.click(), document.body.removeChild(u), URL.revokeObjectURL(d);
1134
- }, Gt = ({
1204
+ }, Vt = ({
1135
1205
  svgRef: r,
1136
- fileSize: s,
1206
+ fileSize: i,
1137
1207
  fileName: c,
1138
- fileFormat: a,
1139
- imageSettings: t,
1208
+ fileFormat: s,
1209
+ imageSettings: e,
1140
1210
  calculatedImageSettings: l,
1141
1211
  size: d,
1142
1212
  numCells: u,
1143
1213
  margin: g
1144
1214
  }) => {
1145
1215
  if (!r.current) return;
1146
- const e = document.createElement("canvas"), o = e.getContext("2d");
1216
+ const t = document.createElement("canvas"), o = t.getContext("2d");
1147
1217
  if (!o) return;
1148
- e.width = s, e.height = s;
1149
- const n = new XMLSerializer().serializeToString(r.current), i = new Blob([n], { type: "image/svg+xml;charset=utf-8" }), h = URL.createObjectURL(i), $ = new Image();
1218
+ t.width = i, t.height = i;
1219
+ const n = new XMLSerializer().serializeToString(r.current), a = new Blob([n], { type: "image/svg+xml;charset=utf-8" }), h = URL.createObjectURL(a), $ = new Image();
1150
1220
  $.crossOrigin = "anonymous", $.src = h, $.onload = () => {
1151
- if (o.drawImage($, 0, 0, s, s), URL.revokeObjectURL(h), t != null && t.src && l) {
1221
+ if (o.drawImage($, 0, 0, i, i), URL.revokeObjectURL(h), e != null && e.src && l) {
1152
1222
  const f = new Image();
1153
- f.crossOrigin = "anonymous", f.src = t.src, f.onload = () => {
1154
- const p = s / d, M = u / s, E = t.width * p, m = t.x ? (l.x + g) / M : (s - E) / 2, R = t.y ? (l.y + g) / M : (s - E) / 2;
1223
+ f.crossOrigin = "anonymous", f.src = e.src, f.onload = () => {
1224
+ const p = i / d, M = u / i, E = e.width * p, m = e.x ? (l.x + g) / M : (i - E) / 2, R = e.y ? (l.y + g) / M : (i - E) / 2;
1155
1225
  o.drawImage(f, m, R, E, E);
1156
- const A = a === "png" ? "image/png" : "image/jpeg", w = document.createElement("a");
1157
- w.href = e.toDataURL(A), w.download = `${c}.${a}`, document.body.appendChild(w), w.click(), document.body.removeChild(w);
1226
+ const w = s === "png" ? "image/png" : "image/jpeg", A = document.createElement("a");
1227
+ A.href = t.toDataURL(w), A.download = `${c}.${s}`, document.body.appendChild(A), A.click(), document.body.removeChild(A);
1158
1228
  }, f.onerror = (p) => console.error("Error loading logo:", p);
1159
1229
  } else {
1160
- const f = a === "png" ? "image/png" : "image/jpeg", p = document.createElement("a");
1161
- p.href = e.toDataURL(f), p.download = `${c}.${a}`, document.body.appendChild(p), p.click(), document.body.removeChild(p);
1230
+ const f = s === "png" ? "image/png" : "image/jpeg", p = document.createElement("a");
1231
+ p.href = t.toDataURL(f), p.download = `${c}.${s}`, document.body.appendChild(p), p.click(), document.body.removeChild(p);
1162
1232
  }
1163
1233
  }, $.onerror = (f) => console.error("Error loading QR code:", f);
1164
- }, Yt = (r) => {
1234
+ }, Xt = (r) => {
1165
1235
  const {
1166
- ref: s,
1236
+ ref: i,
1167
1237
  value: c,
1168
- size: a = st,
1169
- level: t = it,
1238
+ size: s = lt,
1239
+ level: e = ht,
1170
1240
  background: l,
1171
1241
  gradient: d,
1172
- minVersion: u = ct,
1242
+ minVersion: u = ut,
1173
1243
  boostLevel: g,
1174
- marginSize: e,
1244
+ marginSize: t,
1175
1245
  finderPatternOuterSettings: o,
1176
1246
  finderPatternInnerSettings: n,
1177
- dataModulesSettings: i,
1247
+ dataModulesSettings: a,
1178
1248
  imageSettings: h,
1179
1249
  svgProps: $
1180
- } = r, f = ot(null), { margin: p, cells: M, numCells: E, calculatedImageSettings: m } = Ht({
1250
+ } = r, f = it(null), { margin: p, cells: M, numCells: E, calculatedImageSettings: m } = qt({
1181
1251
  value: c,
1182
- level: t,
1252
+ level: e,
1183
1253
  minVersion: u,
1184
1254
  boostLevel: g,
1185
- marginSize: e,
1255
+ marginSize: t,
1186
1256
  imageSettings: h,
1187
- size: a
1257
+ size: s
1188
1258
  });
1189
- nt(s, () => ({
1259
+ at(i, () => ({
1190
1260
  svg: f.current,
1191
1261
  download: ({
1192
- name: C = ft,
1262
+ name: N = mt,
1193
1263
  format: P = "svg",
1194
- size: x = 500
1264
+ size: k = 500
1195
1265
  }) => {
1196
- f.current && (P === "svg" ? kt({ svgRef: f, fileSize: x, fileName: C }) : Gt({
1266
+ f.current && (P === "svg" ? jt({ svgRef: f, fileSize: k, fileName: N }) : Vt({
1197
1267
  svgRef: f,
1198
- fileSize: x,
1199
- fileName: C,
1268
+ fileSize: k,
1269
+ fileName: N,
1200
1270
  fileFormat: P,
1201
1271
  imageSettings: h,
1202
1272
  calculatedImageSettings: m,
1203
- size: a,
1273
+ size: s,
1204
1274
  numCells: E,
1205
1275
  margin: p
1206
1276
  }));
1207
1277
  }
1208
1278
  }));
1209
- let R = M, A = null;
1210
- h != null && m != null && (m.excavation != null && (R = Bt(M, m.excavation)), A = /* @__PURE__ */ N(
1279
+ let R = M, w = null;
1280
+ h != null && m != null && (m.excavation != null && (R = Yt(M, m.excavation)), w = /* @__PURE__ */ C(
1211
1281
  "image",
1212
1282
  {
1213
1283
  href: h.src,
@@ -1220,33 +1290,33 @@ const V = (r) => {
1220
1290
  crossOrigin: m.crossOrigin
1221
1291
  }
1222
1292
  ));
1223
- const w = {
1293
+ const A = {
1224
1294
  modules: R,
1225
1295
  margin: p,
1226
1296
  gradient: d
1227
1297
  };
1228
- return /* @__PURE__ */ Q(
1298
+ return /* @__PURE__ */ K(
1229
1299
  "svg",
1230
1300
  {
1231
- height: a,
1232
- width: a,
1301
+ height: s,
1302
+ width: s,
1233
1303
  viewBox: `0 0 ${E} ${E}`,
1234
1304
  ref: f,
1235
1305
  role: "img",
1236
1306
  "aria-label": ($ == null ? void 0 : $["aria-label"]) || "QR Code",
1237
1307
  ...$,
1238
1308
  children: [
1239
- /* @__PURE__ */ N(bt, { gradient: d }),
1240
- /* @__PURE__ */ N(Et, { background: l, numCells: E }),
1241
- /* @__PURE__ */ N(Dt, { settings: o, ...w }),
1242
- /* @__PURE__ */ N(Ut, { settings: n, ...w }),
1243
- /* @__PURE__ */ N(Ft, { settings: i, ...w }),
1244
- A
1309
+ /* @__PURE__ */ C(kt, { gradient: d }),
1310
+ /* @__PURE__ */ C(gt, { background: l, numCells: E }),
1311
+ /* @__PURE__ */ C(Ht, { settings: o, ...A }),
1312
+ /* @__PURE__ */ C(zt, { settings: n, ...A }),
1313
+ /* @__PURE__ */ C(Bt, { settings: a, ...A }),
1314
+ w
1245
1315
  ]
1246
1316
  }
1247
1317
  );
1248
1318
  };
1249
- Yt.displayName = "ReactQRCode";
1319
+ Xt.displayName = "ReactQRCode";
1250
1320
  export {
1251
- Yt as ReactQRCode
1321
+ Xt as ReactQRCode
1252
1322
  };