@atooyu/uxto-ui 1.1.31 → 1.1.32

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.js CHANGED
@@ -5050,94 +5050,94 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5050
5050
  if (modules.value.length === 0) return 0;
5051
5051
  return props.size / modules.value.length;
5052
5052
  });
5053
- const QRCode = (() => {
5054
- const ECC_LEVELS = { L: 1, M: 0, Q: 3, H: 2 };
5055
- const ECC_CODEWORDS = [
5056
- [-1, 7, 10, 13, 17],
5057
- [-1, 10, 16, 22, 28],
5058
- [-1, 15, 26, 36, 44],
5059
- [-1, 20, 36, 52, 64],
5060
- [-1, 26, 48, 72, 88],
5061
- [-1, 36, 64, 96, 112],
5062
- [-1, 40, 72, 108, 130],
5063
- [-1, 48, 88, 132, 156],
5064
- [-1, 60, 110, 160, 192],
5065
- [-1, 72, 130, 192, 224],
5066
- [-1, 80, 150, 224, 264],
5067
- [-1, 96, 176, 260, 308],
5068
- [-1, 104, 198, 288, 352],
5069
- [-1, 120, 216, 320, 384],
5070
- [-1, 132, 240, 360, 432],
5071
- [-1, 144, 280, 408, 480],
5072
- [-1, 168, 308, 448, 532],
5073
- [-1, 180, 338, 504, 588],
5074
- [-1, 196, 364, 546, 650],
5075
- [-1, 224, 416, 600, 700],
5076
- [-1, 224, 442, 644, 750],
5077
- [-1, 252, 476, 690, 816],
5078
- [-1, 270, 504, 750, 900],
5079
- [-1, 300, 560, 810, 960],
5080
- [-1, 312, 588, 870, 1050],
5081
- [-1, 336, 644, 952, 1110],
5082
- [-1, 360, 700, 1020, 1200],
5083
- [-1, 390, 728, 1050, 1260],
5084
- [-1, 420, 784, 1140, 1350],
5085
- [-1, 450, 812, 1200, 1440],
5086
- [-1, 480, 868, 1290, 1530],
5087
- [-1, 510, 924, 1350, 1620],
5088
- [-1, 540, 980, 1440, 1710],
5089
- [-1, 570, 1036, 1530, 1800],
5090
- [-1, 570, 1064, 1590, 1890],
5091
- [-1, 600, 1120, 1680, 1980],
5092
- [-1, 630, 1204, 1770, 2100],
5093
- [-1, 660, 1260, 1860, 2220],
5094
- [-1, 720, 1316, 1950, 2310],
5095
- [-1, 750, 1372, 2040, 2430]
5096
- ];
5097
- const CAPACITIES = [
5098
- [-1, 17, 14, 11, 7],
5099
- [-1, 32, 26, 20, 14],
5100
- [-1, 53, 42, 32, 24],
5101
- [-1, 78, 62, 46, 34],
5102
- [-1, 106, 84, 60, 44],
5103
- [-1, 134, 106, 74, 58],
5104
- [-1, 154, 122, 86, 64],
5105
- [-1, 192, 152, 108, 84],
5106
- [-1, 230, 180, 130, 98],
5107
- [-1, 271, 213, 151, 119],
5108
- [-1, 321, 251, 177, 137],
5109
- [-1, 367, 287, 203, 155],
5110
- [-1, 425, 331, 241, 177],
5111
- [-1, 458, 362, 258, 194],
5112
- [-1, 520, 412, 292, 220],
5113
- [-1, 586, 450, 322, 250],
5114
- [-1, 644, 504, 364, 280],
5115
- [-1, 718, 560, 394, 310],
5116
- [-1, 792, 624, 442, 338],
5117
- [-1, 858, 666, 482, 382],
5118
- [-1, 929, 711, 509, 403],
5119
- [-1, 1003, 779, 565, 439],
5120
- [-1, 1091, 857, 611, 461],
5121
- [-1, 1171, 911, 661, 511],
5122
- [-1, 1273, 997, 715, 535],
5123
- [-1, 1367, 1059, 751, 593],
5124
- [-1, 1465, 1125, 805, 625],
5125
- [-1, 1528, 1190, 868, 658],
5126
- [-1, 1628, 1264, 908, 698],
5127
- [-1, 1732, 1370, 982, 742],
5128
- [-1, 1840, 1452, 1030, 790],
5129
- [-1, 1952, 1538, 1112, 842],
5130
- [-1, 2068, 1628, 1168, 898],
5131
- [-1, 2188, 1722, 1228, 958],
5132
- [-1, 2303, 1809, 1283, 983],
5133
- [-1, 2431, 1911, 1351, 1051],
5134
- [-1, 2563, 1989, 1423, 1093],
5135
- [-1, 2699, 2099, 1499, 1139],
5136
- [-1, 2809, 2213, 1579, 1219],
5137
- [-1, 2953, 2331, 1663, 1273]
5138
- ];
5139
- const GF_EXP = new Array(512);
5140
- const GF_LOG = new Array(256);
5053
+ const ECL_MAP = { L: 0, M: 1, Q: 2, H: 3 };
5054
+ const DATA_CAPACITY = [
5055
+ [17, 14, 11, 7],
5056
+ [32, 26, 20, 14],
5057
+ [53, 42, 32, 24],
5058
+ [78, 62, 46, 34],
5059
+ [106, 84, 60, 44],
5060
+ [134, 106, 74, 58],
5061
+ [154, 122, 86, 64],
5062
+ [192, 152, 108, 84],
5063
+ [230, 180, 130, 98],
5064
+ [271, 213, 151, 119],
5065
+ [321, 251, 177, 137],
5066
+ [367, 287, 203, 155],
5067
+ [425, 331, 241, 177],
5068
+ [458, 362, 258, 194],
5069
+ [520, 412, 292, 220],
5070
+ [586, 450, 322, 250],
5071
+ [644, 504, 364, 280],
5072
+ [718, 560, 394, 310],
5073
+ [792, 624, 442, 338],
5074
+ [858, 666, 482, 382],
5075
+ [929, 711, 509, 403],
5076
+ [1003, 779, 565, 439],
5077
+ [1091, 857, 611, 461],
5078
+ [1171, 911, 661, 511],
5079
+ [1273, 997, 715, 535],
5080
+ [1367, 1059, 751, 593],
5081
+ [1465, 1125, 805, 625],
5082
+ [1528, 1190, 868, 658],
5083
+ [1628, 1264, 908, 698],
5084
+ [1732, 1370, 982, 742],
5085
+ [1840, 1452, 1030, 790],
5086
+ [1952, 1538, 1112, 842],
5087
+ [2068, 1628, 1168, 898],
5088
+ [2188, 1722, 1228, 958],
5089
+ [2303, 1809, 1283, 983],
5090
+ [2431, 1911, 1351, 1051],
5091
+ [2563, 1989, 1423, 1093],
5092
+ [2699, 2099, 1499, 1139],
5093
+ [2809, 2213, 1579, 1219],
5094
+ [2953, 2331, 1663, 1273]
5095
+ ];
5096
+ const ECC_CODEWORDS = [
5097
+ [7, 10, 13, 17],
5098
+ [10, 16, 22, 28],
5099
+ [15, 26, 36, 44],
5100
+ [20, 36, 52, 64],
5101
+ [26, 48, 72, 88],
5102
+ [36, 64, 96, 112],
5103
+ [40, 72, 108, 130],
5104
+ [48, 88, 132, 156],
5105
+ [60, 110, 160, 192],
5106
+ [72, 130, 192, 224],
5107
+ [80, 150, 224, 264],
5108
+ [96, 176, 260, 308],
5109
+ [104, 198, 288, 352],
5110
+ [120, 216, 320, 384],
5111
+ [132, 240, 360, 432],
5112
+ [144, 280, 408, 480],
5113
+ [168, 308, 448, 532],
5114
+ [180, 338, 504, 588],
5115
+ [196, 364, 546, 650],
5116
+ [224, 416, 600, 700],
5117
+ [224, 442, 644, 750],
5118
+ [252, 476, 690, 816],
5119
+ [270, 504, 750, 900],
5120
+ [300, 560, 810, 960],
5121
+ [312, 588, 870, 1050],
5122
+ [336, 644, 952, 1110],
5123
+ [360, 700, 1020, 1200],
5124
+ [390, 728, 1050, 1260],
5125
+ [420, 784, 1140, 1350],
5126
+ [450, 812, 1200, 1440],
5127
+ [480, 868, 1290, 1530],
5128
+ [510, 924, 1350, 1620],
5129
+ [540, 980, 1440, 1710],
5130
+ [570, 1036, 1530, 1800],
5131
+ [570, 1064, 1590, 1890],
5132
+ [600, 1120, 1680, 1980],
5133
+ [630, 1204, 1770, 2100],
5134
+ [660, 1260, 1860, 2220],
5135
+ [720, 1316, 1950, 2310],
5136
+ [750, 1372, 2040, 2430]
5137
+ ];
5138
+ const GF_EXP = [];
5139
+ const GF_LOG = [];
5140
+ (function initGF() {
5141
5141
  let x = 1;
5142
5142
  for (let i = 0; i < 255; i++) {
5143
5143
  GF_EXP[i] = x;
@@ -5148,206 +5148,203 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5148
5148
  for (let i = 255; i < 512; i++) {
5149
5149
  GF_EXP[i] = GF_EXP[i - 255];
5150
5150
  }
5151
- const gfMul = (a, b) => {
5152
- if (a === 0 || b === 0) return 0;
5153
- return GF_EXP[GF_LOG[a] + GF_LOG[b]];
5154
- };
5155
- const rsEncode = (data, eccCount) => {
5156
- const gen = [1];
5157
- for (let i = 0; i < eccCount; i++) {
5158
- const temp = new Array(gen.length + 1).fill(0);
5159
- for (let j = 0; j < gen.length; j++) {
5160
- temp[j] ^= gen[j];
5161
- temp[j + 1] ^= gfMul(gen[j], GF_EXP[i]);
5162
- }
5163
- gen.length = 0;
5164
- gen.push(...temp);
5165
- }
5166
- const ecc = new Array(eccCount).fill(0);
5167
- for (const byte of data) {
5168
- const factor = byte ^ ecc[0];
5169
- ecc.shift();
5170
- ecc.push(0);
5171
- for (let i = 0; i < eccCount; i++) {
5172
- ecc[i] ^= gfMul(gen[i], factor);
5173
- }
5174
- }
5175
- return ecc;
5176
- };
5177
- const getVersion = (data, ecl) => {
5178
- const eclIdx = ECC_LEVELS[ecl];
5179
- const len = data.length;
5180
- for (let v = 1; v <= 40; v++) {
5181
- if (CAPACITIES[v][eclIdx] >= len) return v;
5182
- }
5183
- return 40;
5184
- };
5185
- const encodeData = (data, version, ecl) => {
5186
- const eclIdx = ECC_LEVELS[ecl];
5187
- const eccCount = ECC_CODEWORDS[version][eclIdx];
5188
- const size = version * 4 + 17;
5189
- const totalBits = size * size - 225 - (version > 1 ? 25 : 0) - 31 * 2;
5190
- const dataCodewords = Math.floor(totalBits / 8) - eccCount;
5191
- const bits = [];
5192
- bits.push(0, 1, 0, 0);
5193
- const cciBits = version <= 9 ? 8 : 16;
5194
- for (let i = cciBits - 1; i >= 0; i--) {
5195
- bits.push(data.length >> i & 1);
5196
- }
5197
- for (const char of data) {
5198
- const code2 = char.charCodeAt(0);
5199
- for (let i = 7; i >= 0; i--) {
5200
- bits.push(code2 >> i & 1);
5201
- }
5202
- }
5203
- while (bits.length < dataCodewords * 8 && bits.length % 8 !== 0) bits.push(0);
5204
- while (bits.length < dataCodewords * 8) bits.push(0);
5205
- const padBytes = [236, 17];
5206
- let padIdx = 0;
5207
- while (bits.length < dataCodewords * 8) {
5208
- for (let i = 7; i >= 0; i--) {
5209
- bits.push(padBytes[padIdx] >> i & 1);
5210
- }
5211
- padIdx = (padIdx + 1) % 2;
5212
- }
5213
- const bytes = [];
5214
- for (let i = 0; i < bits.length; i += 8) {
5215
- let b = 0;
5216
- for (let j = 0; j < 8; j++) b = b << 1 | bits[i + j];
5217
- bytes.push(b);
5151
+ })();
5152
+ function gfMul(a, b) {
5153
+ if (a === 0 || b === 0) return 0;
5154
+ return GF_EXP[GF_LOG[a] + GF_LOG[b]];
5155
+ }
5156
+ function rsEncode(data, eccCount) {
5157
+ let gen = [1];
5158
+ for (let i = 0; i < eccCount; i++) {
5159
+ const temp = new Array(gen.length + 1).fill(0);
5160
+ for (let j = 0; j < gen.length; j++) {
5161
+ temp[j] ^= gen[j];
5162
+ temp[j + 1] ^= gfMul(gen[j], GF_EXP[i]);
5218
5163
  }
5219
- const ecc = rsEncode(bytes, eccCount);
5220
- return [...bytes, ...ecc];
5221
- };
5222
- const generate = (data, ecl) => {
5223
- const version = getVersion(data, ecl);
5224
- const size = version * 4 + 17;
5225
- const matrix = [];
5226
- for (let i = 0; i < size; i++) {
5227
- matrix[i] = new Array(size).fill(-1);
5164
+ gen = temp;
5165
+ }
5166
+ const ecc = new Array(eccCount).fill(0);
5167
+ for (const byte of data) {
5168
+ const factor = byte ^ ecc[0];
5169
+ ecc.shift();
5170
+ ecc.push(0);
5171
+ for (let i = 0; i < eccCount; i++) {
5172
+ ecc[i] ^= gfMul(gen[i], factor);
5228
5173
  }
5229
- const addFinder = (row, col) => {
5230
- for (let r = -1; r <= 7; r++) {
5231
- for (let c = -1; c <= 7; c++) {
5232
- const tr = row + r, tc = col + c;
5233
- if (tr >= 0 && tr < size && tc >= 0 && tc < size) {
5234
- if (r === -1 || r === 7 || c === -1 || c === 7) {
5235
- matrix[tr][tc] = 0;
5236
- } else if (r === 0 || r === 6 || c === 0 || c === 6 || r >= 2 && r <= 4 && c >= 2 && c <= 4) {
5237
- matrix[tr][tc] = 1;
5238
- } else {
5239
- matrix[tr][tc] = 0;
5240
- }
5174
+ }
5175
+ return ecc;
5176
+ }
5177
+ function getVersion(dataLength, ecl) {
5178
+ const eclIdx = ECL_MAP[ecl] ?? 1;
5179
+ for (let v = 0; v < 40; v++) {
5180
+ if (DATA_CAPACITY[v][eclIdx] >= dataLength) return v + 1;
5181
+ }
5182
+ return 40;
5183
+ }
5184
+ function generateQRCode(data, ecl) {
5185
+ const eclIdx = ECL_MAP[ecl] ?? 1;
5186
+ const version = getVersion(data.length, ecl);
5187
+ const size = version * 4 + 17;
5188
+ const matrix = [];
5189
+ for (let i = 0; i < size; i++) {
5190
+ matrix[i] = new Array(size).fill(-1);
5191
+ }
5192
+ function addFinder(row, col) {
5193
+ for (let r = -1; r <= 7; r++) {
5194
+ for (let c = -1; c <= 7; c++) {
5195
+ const tr = row + r, tc = col + c;
5196
+ if (tr >= 0 && tr < size && tc >= 0 && tc < size) {
5197
+ if (r === -1 || r === 7 || c === -1 || c === 7) {
5198
+ matrix[tr][tc] = 0;
5199
+ } else if (r === 0 || r === 6 || c === 0 || c === 6 || r >= 2 && r <= 4 && c >= 2 && c <= 4) {
5200
+ matrix[tr][tc] = 1;
5201
+ } else {
5202
+ matrix[tr][tc] = 0;
5241
5203
  }
5242
5204
  }
5243
5205
  }
5244
- };
5245
- addFinder(0, 0);
5246
- addFinder(size - 7, 0);
5247
- addFinder(0, size - 7);
5248
- for (let i = 8; i < size - 8; i++) {
5249
- matrix[6][i] = i % 2 === 0 ? 1 : 0;
5250
- matrix[i][6] = i % 2 === 0 ? 1 : 0;
5251
5206
  }
5252
- if (version >= 2) {
5253
- const positions = [6];
5254
- const step = Math.ceil((size - 13) / (Math.floor(version / 7) + 1));
5255
- let pos = size - 7;
5256
- while (pos > 6) {
5257
- positions.unshift(pos);
5258
- pos -= step;
5259
- }
5260
- for (const row of positions) {
5261
- for (const col of positions) {
5262
- if (matrix[row][col] !== -1) continue;
5263
- for (let r = -2; r <= 2; r++) {
5264
- for (let c = -2; c <= 2; c++) {
5265
- const tr = row + r, tc = col + c;
5266
- if (tr >= 0 && tr < size && tc >= 0 && tc < size && matrix[tr][tc] === -1) {
5267
- matrix[tr][tc] = Math.abs(r) === 2 || Math.abs(c) === 2 || r === 0 && c === 0 ? 1 : 0;
5268
- }
5207
+ }
5208
+ addFinder(0, 0);
5209
+ addFinder(size - 7, 0);
5210
+ addFinder(0, size - 7);
5211
+ for (let i = 8; i < size - 8; i++) {
5212
+ matrix[6][i] = i % 2 === 0 ? 1 : 0;
5213
+ matrix[i][6] = i % 2 === 0 ? 1 : 0;
5214
+ }
5215
+ if (version >= 2) {
5216
+ const positions = [6];
5217
+ const step = Math.ceil((size - 13) / (Math.floor(version / 7) + 1));
5218
+ let pos = size - 7;
5219
+ while (pos > 6) {
5220
+ positions.unshift(pos);
5221
+ pos -= step;
5222
+ }
5223
+ for (const row of positions) {
5224
+ for (const col of positions) {
5225
+ if (matrix[row][col] !== -1) continue;
5226
+ for (let r = -2; r <= 2; r++) {
5227
+ for (let c = -2; c <= 2; c++) {
5228
+ const tr = row + r, tc = col + c;
5229
+ if (tr >= 0 && tr < size && tc >= 0 && tc < size && matrix[tr][tc] === -1) {
5230
+ matrix[tr][tc] = Math.abs(r) === 2 || Math.abs(c) === 2 || r === 0 && c === 0 ? 1 : 0;
5269
5231
  }
5270
5232
  }
5271
5233
  }
5272
5234
  }
5273
5235
  }
5274
- matrix[size - 8][8] = 1;
5275
- for (let i = 0; i < 9; i++) {
5276
- if (matrix[8][i] === -1) matrix[8][i] = 0;
5277
- if (matrix[i][8] === -1) matrix[i][8] = 0;
5236
+ }
5237
+ matrix[size - 8][8] = 1;
5238
+ for (let i = 0; i < 9; i++) {
5239
+ if (matrix[8][i] === -1) matrix[8][i] = 0;
5240
+ if (matrix[i][8] === -1) matrix[i][8] = 0;
5241
+ }
5242
+ for (let i = 0; i < 8; i++) {
5243
+ if (matrix[8][size - 1 - i] === -1) matrix[8][size - 1 - i] = 0;
5244
+ if (matrix[size - 1 - i][8] === -1) matrix[size - 1 - i][8] = 0;
5245
+ }
5246
+ const eccCount = ECC_CODEWORDS[version - 1][eclIdx];
5247
+ const dataCapacity = DATA_CAPACITY[version - 1][eclIdx];
5248
+ const bits = [];
5249
+ bits.push(0, 1, 0, 0);
5250
+ const cciBits = version <= 9 ? 8 : 16;
5251
+ for (let i = cciBits - 1; i >= 0; i--) {
5252
+ bits.push(data.length >> i & 1);
5253
+ }
5254
+ for (const char of data) {
5255
+ const code2 = char.charCodeAt(0);
5256
+ for (let i = 7; i >= 0; i--) {
5257
+ bits.push(code2 >> i & 1);
5278
5258
  }
5279
- for (let i = 0; i < 8; i++) {
5280
- if (matrix[8][size - 1 - i] === -1) matrix[8][size - 1 - i] = 0;
5281
- if (matrix[size - 1 - i][8] === -1) matrix[size - 1 - i][8] = 0;
5259
+ }
5260
+ const termLen = Math.min(4, dataCapacity * 8 - bits.length);
5261
+ for (let i = 0; i < termLen; i++) bits.push(0);
5262
+ while (bits.length % 8 !== 0) bits.push(0);
5263
+ const padBytes = [236, 17];
5264
+ let padIdx = 0;
5265
+ while (bits.length < dataCapacity * 8) {
5266
+ for (let i = 7; i >= 0; i--) {
5267
+ bits.push(padBytes[padIdx] >> i & 1);
5282
5268
  }
5283
- const codewords = encodeData(data, version, ecl);
5284
- let bitIdx = 0;
5285
- let upward = true;
5286
- for (let col = size - 1; col >= 0; col -= 2) {
5287
- if (col === 6) col = 5;
5288
- for (let row = upward ? size - 1 : 0; upward ? row >= 0 : row < size; upward ? row-- : row++) {
5289
- for (let c = 0; c < 2; c++) {
5290
- const tc = col - c;
5291
- if (tc >= 0 && matrix[row][tc] === -1) {
5292
- let bit = 0;
5293
- if (bitIdx < codewords.length * 8) {
5294
- bit = codewords[Math.floor(bitIdx / 8)] >> 7 - bitIdx % 8 & 1;
5295
- }
5296
- matrix[row][tc] = bit;
5297
- bitIdx++;
5269
+ padIdx = (padIdx + 1) % 2;
5270
+ }
5271
+ const dataBytes = [];
5272
+ for (let i = 0; i < bits.length; i += 8) {
5273
+ let b = 0;
5274
+ for (let j = 0; j < 8; j++) b = b << 1 | (bits[i + j] || 0);
5275
+ dataBytes.push(b);
5276
+ }
5277
+ const eccBytes = rsEncode(dataBytes, eccCount);
5278
+ const codewords = [...dataBytes, ...eccBytes];
5279
+ let bitIdx = 0;
5280
+ let upward = true;
5281
+ for (let col = size - 1; col >= 0; col -= 2) {
5282
+ if (col === 6) col = 5;
5283
+ for (let row = upward ? size - 1 : 0; upward ? row >= 0 : row < size; upward ? row-- : row++) {
5284
+ for (let c = 0; c < 2; c++) {
5285
+ const tc = col - c;
5286
+ if (tc >= 0 && matrix[row][tc] === -1) {
5287
+ let bit = 0;
5288
+ if (bitIdx < codewords.length * 8) {
5289
+ bit = codewords[Math.floor(bitIdx / 8)] >> 7 - bitIdx % 8 & 1;
5298
5290
  }
5291
+ matrix[row][tc] = bit;
5292
+ bitIdx++;
5299
5293
  }
5300
5294
  }
5301
- upward = !upward;
5302
5295
  }
5303
- for (let row = 0; row < size; row++) {
5304
- for (let col = 0; col < size; col++) {
5305
- if (matrix[row][col] >= 0 && (row + col) % 2 === 0) {
5306
- matrix[row][col] = matrix[row][col] === 1 ? 0 : 1;
5307
- }
5296
+ upward = !upward;
5297
+ }
5298
+ for (let row = 0; row < size; row++) {
5299
+ for (let col = 0; col < size; col++) {
5300
+ if (matrix[row][col] >= 0 && (row + col) % 2 === 0) {
5301
+ matrix[row][col] = matrix[row][col] === 1 ? 0 : 1;
5308
5302
  }
5309
5303
  }
5310
- const eclBits = ECC_LEVELS[ecl];
5311
- const format = (eclBits << 3 | 0) << 10;
5312
- let rem = format >> 10;
5313
- for (let i = 0; i < 10; i++) {
5314
- rem = rem << 1 ^ (rem >> 14) * 1335;
5315
- }
5316
- const formatBits = (format | rem) ^ 21522;
5317
- for (let i = 0; i < 6; i++) matrix[8][i] = formatBits >> 14 - i & 1;
5318
- matrix[8][7] = formatBits >> 8 & 1;
5319
- matrix[8][8] = formatBits >> 7 & 1;
5320
- matrix[7][8] = formatBits >> 6 & 1;
5321
- for (let i = 9; i < 15; i++) matrix[14 - i][8] = formatBits >> 14 - i & 1;
5322
- for (let i = 0; i < 8; i++) matrix[8][size - 8 + i] = formatBits >> i & 1;
5323
- for (let i = 8; i < 15; i++) matrix[size - 15 + i][8] = formatBits >> i & 1;
5324
- const result = [];
5325
- for (let row = 0; row < size; row++) {
5326
- result[row] = [];
5327
- for (let col = 0; col < size; col++) {
5328
- result[row][col] = matrix[row][col] === 1;
5329
- }
5304
+ }
5305
+ const eclBits = { L: 1, M: 0, Q: 3, H: 2 }[ecl] ?? 0;
5306
+ let formatData = eclBits << 3 | 0;
5307
+ let rem = formatData;
5308
+ for (let i = 0; i < 10; i++) {
5309
+ rem = rem << 1 ^ (rem >> 9) * 1335;
5310
+ }
5311
+ const formatBits = (formatData << 10 | rem & 1023) ^ 21522;
5312
+ const fb = [];
5313
+ for (let i = 14; i >= 0; i--) {
5314
+ fb.push(formatBits >> i & 1);
5315
+ }
5316
+ for (let i = 0; i < 6; i++) matrix[8][i] = fb[i];
5317
+ matrix[8][7] = fb[6];
5318
+ matrix[8][8] = fb[7];
5319
+ matrix[7][8] = fb[8];
5320
+ for (let i = 9; i < 15; i++) matrix[14 - i][8] = fb[i];
5321
+ for (let i = 0; i < 8; i++) matrix[8][size - 8 + i] = fb[14 - i];
5322
+ for (let i = 8; i < 15; i++) matrix[size - 15 + i][8] = fb[14 - i];
5323
+ const result = [];
5324
+ for (let row = 0; row < size; row++) {
5325
+ result[row] = [];
5326
+ for (let col = 0; col < size; col++) {
5327
+ result[row][col] = matrix[row][col] === 1;
5330
5328
  }
5331
- return result;
5332
- };
5333
- return { generate };
5334
- })();
5335
- const generateQRCode = () => {
5329
+ }
5330
+ return result;
5331
+ }
5332
+ const generate = () => {
5336
5333
  if (!props.value) {
5337
5334
  modules.value = [];
5338
5335
  return;
5339
5336
  }
5340
5337
  try {
5341
- modules.value = QRCode.generate(props.value, props.errorCorrectLevel);
5338
+ modules.value = generateQRCode(props.value, props.errorCorrectLevel);
5342
5339
  } catch (e) {
5343
5340
  console.error("QR Code generation failed:", e);
5344
5341
  modules.value = [];
5345
5342
  }
5346
5343
  };
5347
- vue.watch(() => props.value, generateQRCode);
5348
- vue.watch(() => props.errorCorrectLevel, generateQRCode);
5344
+ vue.watch(() => props.value, generate);
5345
+ vue.watch(() => props.errorCorrectLevel, generate);
5349
5346
  vue.onMounted(() => {
5350
- generateQRCode();
5347
+ generate();
5351
5348
  });
5352
5349
  return (_ctx, _cache) => {
5353
5350
  return vue.openBlock(), vue.createElementBlock("view", {
@@ -5381,7 +5378,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
5381
5378
  };
5382
5379
  }
5383
5380
  });
5384
- const uQrcode = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-dbfcf21e"]]);
5381
+ const uQrcode = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-eebb43a8"]]);
5385
5382
  const _hoisted_1 = { class: "u-barcode" };
5386
5383
  const _hoisted_2 = ["canvas-id"];
5387
5384
  const _hoisted_3 = ["src"];