qrcode.vue 3.3.3 → 3.3.4

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.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- declare type Level = 'L' | 'M' | 'Q' | 'H';
2
+ type Level = 'L' | 'M' | 'Q' | 'H';
3
3
  declare const QrcodeVue: import("vue").DefineComponent<{
4
4
  renderAs: {
5
5
  type: PropType<"canvas" | "svg">;
@@ -34,23 +34,41 @@ declare const QrcodeVue: import("vue").DefineComponent<{
34
34
  required: boolean;
35
35
  default: number;
36
36
  };
37
- }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
38
- renderAs?: unknown;
39
- value?: unknown;
40
- size?: unknown;
41
- level?: unknown;
42
- background?: unknown;
43
- foreground?: unknown;
44
- margin?: unknown;
45
- } & {
46
- value: string;
47
- size: number;
48
- level: Level;
49
- background: string;
50
- foreground: string;
51
- margin: number;
52
- renderAs: "canvas" | "svg";
53
- } & {}>, {
37
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
+ renderAs: {
39
+ type: PropType<"canvas" | "svg">;
40
+ required: boolean;
41
+ default: string;
42
+ validator: (as: any) => boolean;
43
+ };
44
+ value: {
45
+ type: StringConstructor;
46
+ required: boolean;
47
+ default: string;
48
+ };
49
+ size: {
50
+ type: NumberConstructor;
51
+ default: number;
52
+ };
53
+ level: {
54
+ type: PropType<Level>;
55
+ default: string;
56
+ validator: (l: any) => boolean;
57
+ };
58
+ background: {
59
+ type: StringConstructor;
60
+ default: string;
61
+ };
62
+ foreground: {
63
+ type: StringConstructor;
64
+ default: string;
65
+ };
66
+ margin: {
67
+ type: NumberConstructor;
68
+ required: boolean;
69
+ default: number;
70
+ };
71
+ }>>, {
54
72
  value: string;
55
73
  size: number;
56
74
  level: Level;
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * qrcode.vue v3.3.3
2
+ * qrcode.vue v3.3.4
3
3
  * A Vue.js component to generate QRCode.
4
- * © 2017-2021 @scopewu(https://github.com/scopewu)
4
+ * © 2017-2023 @scopewu(https://github.com/scopewu)
5
5
  * MIT License.
6
6
  */
7
7
  (function (global, factory) {
@@ -10,7 +10,7 @@
10
10
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.QrcodeVue = factory(global.Vue));
11
11
  })(this, (function (vue) { 'use strict';
12
12
 
13
- /*! *****************************************************************************
13
+ /******************************************************************************
14
14
  Copyright (c) Microsoft Corporation.
15
15
 
16
16
  Permission to use, copy, modify, and/or distribute this software for any
@@ -1312,7 +1312,7 @@
1312
1312
  if (!cell && start !== null) {
1313
1313
  // M0 0h7v1H0z injects the space with the move and drops the comma,
1314
1314
  // saving a char per operation
1315
- ops.push("M" + (start + margin) + " " + (y + margin) + "h" + (x - start) + "v1H" + (start + margin) + "z");
1315
+ ops.push("M".concat(start + margin, " ").concat(y + margin, "h").concat(x - start, "v1H").concat(start + margin, "z"));
1316
1316
  start = null;
1317
1317
  return;
1318
1318
  }
@@ -1325,11 +1325,11 @@
1325
1325
  }
1326
1326
  if (start === null) {
1327
1327
  // Just a single dark module.
1328
- ops.push("M" + (x + margin) + "," + (y + margin) + " h1v1H" + (x + margin) + "z");
1328
+ ops.push("M".concat(x + margin, ",").concat(y + margin, " h1v1H").concat(x + margin, "z"));
1329
1329
  }
1330
1330
  else {
1331
1331
  // Otherwise finish the current line.
1332
- ops.push("M" + (start + margin) + "," + (y + margin) + " h" + (x + 1 - start) + "v1H" + (start + margin) + "z");
1332
+ ops.push("M".concat(start + margin, ",").concat(y + margin, " h").concat(x + 1 - start, "v1H").concat(start + margin, "z"));
1333
1333
  }
1334
1334
  return;
1335
1335
  }
@@ -1344,36 +1344,36 @@
1344
1344
  value: {
1345
1345
  type: String,
1346
1346
  required: true,
1347
- "default": '',
1347
+ "default": ''
1348
1348
  },
1349
1349
  size: {
1350
1350
  type: Number,
1351
- "default": 100,
1351
+ "default": 100
1352
1352
  },
1353
1353
  level: {
1354
1354
  type: String,
1355
1355
  "default": defaultErrorCorrectLevel,
1356
- validator: function (l) { return validErrorCorrectLevel(l); },
1356
+ validator: function (l) { return validErrorCorrectLevel(l); }
1357
1357
  },
1358
1358
  background: {
1359
1359
  type: String,
1360
- "default": '#fff',
1360
+ "default": '#fff'
1361
1361
  },
1362
1362
  foreground: {
1363
1363
  type: String,
1364
- "default": '#000',
1364
+ "default": '#000'
1365
1365
  },
1366
1366
  margin: {
1367
1367
  type: Number,
1368
1368
  required: false,
1369
- "default": 0,
1370
- },
1369
+ "default": 0
1370
+ }
1371
1371
  };
1372
1372
  var QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {
1373
1373
  type: String,
1374
1374
  required: false,
1375
1375
  "default": 'canvas',
1376
- validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; },
1376
+ validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; }
1377
1377
  } });
1378
1378
  var QRCodeSvg = vue.defineComponent({
1379
1379
  name: 'QRCodeSvg',
@@ -1400,15 +1400,15 @@
1400
1400
  height: props.size,
1401
1401
  'shape-rendering': "crispEdges",
1402
1402
  xmlns: 'http://www.w3.org/2000/svg',
1403
- viewBox: "0 0 " + numCells.value + " " + numCells.value,
1403
+ viewBox: "0 0 ".concat(numCells.value, " ").concat(numCells.value)
1404
1404
  }, [
1405
1405
  vue.h('path', {
1406
1406
  fill: props.background,
1407
- d: "M0,0 h" + numCells.value + "v" + numCells.value + "H0z",
1407
+ d: "M0,0 h".concat(numCells.value, "v").concat(numCells.value, "H0z")
1408
1408
  }),
1409
1409
  vue.h('path', { fill: props.foreground, d: fgPath.value }),
1410
1410
  ]); };
1411
- },
1411
+ }
1412
1412
  });
1413
1413
  var QRCodeCanvas = vue.defineComponent({
1414
1414
  name: 'QRCodeCanvas',
@@ -1451,9 +1451,9 @@
1451
1451
  vue.onUpdated(generate);
1452
1452
  return function () { return vue.h('canvas', {
1453
1453
  ref: canvasEl,
1454
- style: { width: props.size + "px", height: props.size + "px" },
1454
+ style: { width: "".concat(props.size, "px"), height: "".concat(props.size, "px") }
1455
1455
  }); };
1456
- },
1456
+ }
1457
1457
  });
1458
1458
  var QrcodeVue = vue.defineComponent({
1459
1459
  name: 'Qrcode',
@@ -1464,7 +1464,7 @@
1464
1464
  var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;
1465
1465
  return vue.h(renderAs === 'svg' ? QRCodeSvg : QRCodeCanvas, { value: value, size: size, margin: margin, level: level, background: background, foreground: foreground });
1466
1466
  },
1467
- props: QRCodeVueProps,
1467
+ props: QRCodeVueProps
1468
1468
  });
1469
1469
 
1470
1470
  return QrcodeVue;
@@ -1,21 +1,7 @@
1
1
  /*!
2
- * qrcode.vue v3.3.3
2
+ * qrcode.vue v3.3.4
3
3
  * A Vue.js component to generate QRCode.
4
- * © 2017-2021 @scopewu(https://github.com/scopewu)
4
+ * © 2017-2023 @scopewu(https://github.com/scopewu)
5
5
  * MIT License.
6
6
  */
7
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).QrcodeVue=e(t.Vue)}(this,(function(t){"use strict";
8
- /*! *****************************************************************************
9
- Copyright (c) Microsoft Corporation.
10
-
11
- Permission to use, copy, modify, and/or distribute this software for any
12
- purpose with or without fee is hereby granted.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
17
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20
- PERFORMANCE OF THIS SOFTWARE.
21
- ***************************************************************************** */var e=function(){return(e=Object.assign||function(t){for(var e,r=1,n=arguments.length;n>r;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n=r;function o(t){this.mode=n.MODE_8BIT_BYTE,this.data=t}o.prototype={getLength:function(t){return this.data.length},write:function(t){for(var e=0;this.data.length>e;e++)t.put(this.data.charCodeAt(e),8)}};var i=o,u={L:1,M:0,Q:3,H:2},a=u;function s(t,e){this.totalCount=t,this.dataCount=e}s.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],s.getRSBlocks=function(t,e){var r=s.getRsBlockTable(t,e);if(null==r)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var n=r.length/3,o=[],i=0;n>i;i++)for(var u=r[3*i+0],a=r[3*i+1],h=r[3*i+2],l=0;u>l;l++)o.push(new s(a,h));return o},s.getRsBlockTable=function(t,e){switch(e){case a.L:return s.RS_BLOCK_TABLE[4*(t-1)+0];case a.M:return s.RS_BLOCK_TABLE[4*(t-1)+1];case a.Q:return s.RS_BLOCK_TABLE[4*(t-1)+2];case a.H:return s.RS_BLOCK_TABLE[4*(t-1)+3];default:return}};var h=s;function l(){this.buffer=[],this.length=0}l.prototype={get:function(t){return 1==(this.buffer[Math.floor(t/8)]>>>7-t%8&1)},put:function(t,e){for(var r=0;e>r;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length>e||this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};for(var f=l,g={glog:function(t){if(1>t)throw Error("glog("+t+")");return g.LOG_TABLE[t]},gexp:function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return g.EXP_TABLE[t]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},d=0;8>d;d++)g.EXP_TABLE[d]=1<<d;for(d=8;256>d;d++)g.EXP_TABLE[d]=g.EXP_TABLE[d-4]^g.EXP_TABLE[d-5]^g.EXP_TABLE[d-6]^g.EXP_TABLE[d-8];for(d=0;255>d;d++)g.LOG_TABLE[g.EXP_TABLE[d]]=d;var c=g,v=c;function m(t,e){if(null==t.length)throw Error(t.length+"/"+e);for(var r=0;t.length>r&&0==t[r];)r++;this.num=Array(t.length-r+e);for(var n=0;t.length-r>n;n++)this.num[n]=t[n+r]}m.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var n=0;n<t.getLength();n++)e[r+n]^=v.gexp(v.glog(this.get(r))+v.glog(t.get(n)));return new m(e,0)},mod:function(t){if(0>this.getLength()-t.getLength())return this;for(var e=v.glog(this.get(0))-v.glog(t.get(0)),r=Array(this.getLength()),n=0;n<this.getLength();n++)r[n]=this.get(n);for(n=0;n<t.getLength();n++)r[n]^=v.gexp(v.glog(t.get(n))+e);return new m(r,0).mod(t)}};var p=r,C=m,B=c,E=0,L=1,D=2,y=3,A=4,P=5,_=6,T=7,M={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;M.getBCHDigit(e)-M.getBCHDigit(M.G15)>=0;)e^=M.G15<<M.getBCHDigit(e)-M.getBCHDigit(M.G15);return(t<<10|e)^M.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;M.getBCHDigit(e)-M.getBCHDigit(M.G18)>=0;)e^=M.G18<<M.getBCHDigit(e)-M.getBCHDigit(M.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return M.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case E:return(e+r)%2==0;case L:return e%2==0;case D:return r%3==0;case y:return(e+r)%3==0;case A:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case P:return e*r%2+e*r%3==0;case _:return(e*r%2+e*r%3)%2==0;case T:return(e*r%3+(e+r)%2)%2==0;default:throw Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new C([1],0),r=0;t>r;r++)e=e.multiply(new C([1,B.gexp(r)],0));return e},getLengthInBits:function(t,e){if(e>=1&&10>e)switch(t){case p.MODE_NUMBER:return 10;case p.MODE_ALPHA_NUM:return 9;case p.MODE_8BIT_BYTE:case p.MODE_KANJI:return 8;default:throw Error("mode:"+t)}else if(27>e)switch(t){case p.MODE_NUMBER:return 12;case p.MODE_ALPHA_NUM:return 11;case p.MODE_8BIT_BYTE:return 16;case p.MODE_KANJI:return 10;default:throw Error("mode:"+t)}else{if(e>=41)throw Error("type:"+e);switch(t){case p.MODE_NUMBER:return 14;case p.MODE_ALPHA_NUM:return 13;case p.MODE_8BIT_BYTE:return 16;case p.MODE_KANJI:return 12;default:throw Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,n=0;e>n;n++)for(var o=0;e>o;o++){for(var i=0,u=t.isDark(n,o),a=-1;1>=a;a++)if(n+a>=0&&e>n+a)for(var s=-1;1>=s;s++)o+s>=0&&e>o+s&&(0==a&&0==s||u==t.isDark(n+a,o+s)&&i++);i>5&&(r+=3+i-5)}for(n=0;e-1>n;n++)for(o=0;e-1>o;o++){var h=0;t.isDark(n,o)&&h++,t.isDark(n+1,o)&&h++,t.isDark(n,o+1)&&h++,t.isDark(n+1,o+1)&&h++,0!=h&&4!=h||(r+=3)}for(n=0;e>n;n++)for(o=0;e-6>o;o++)t.isDark(n,o)&&!t.isDark(n,o+1)&&t.isDark(n,o+2)&&t.isDark(n,o+3)&&t.isDark(n,o+4)&&!t.isDark(n,o+5)&&t.isDark(n,o+6)&&(r+=40);for(o=0;e>o;o++)for(n=0;e-6>n;n++)t.isDark(n,o)&&!t.isDark(n+1,o)&&t.isDark(n+2,o)&&t.isDark(n+3,o)&&t.isDark(n+4,o)&&!t.isDark(n+5,o)&&t.isDark(n+6,o)&&(r+=40);var l=0;for(o=0;e>o;o++)for(n=0;e>n;n++)t.isDark(n,o)&&l++;return r+=10*(Math.abs(100*l/e/e-50)/5)}},k=i,b=h,w=f,O=M,I=m;function N(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}var S=N.prototype;S.addData=function(t){var e=new k(t);this.dataList.push(e),this.dataCache=null},S.isDark=function(t,e){if(0>t||t>=this.moduleCount||0>e||e>=this.moduleCount)throw Error(t+","+e);return this.modules[t][e]},S.getModuleCount=function(){return this.moduleCount},S.make=function(){if(1>this.typeNumber){var t=1;for(t=1;40>t;t++){for(var e=b.getRSBlocks(t,this.errorCorrectLevel),r=new w,n=0,o=0;e.length>o;o++)n+=e[o].dataCount;for(o=0;this.dataList.length>o;o++){var i=this.dataList[o];r.put(i.mode,4),r.put(i.getLength(),O.getLengthInBits(i.mode,t)),i.write(r)}if(r.getLengthInBits()<=8*n)break}this.typeNumber=t}this.makeImpl(!1,this.getBestMaskPattern())},S.makeImpl=function(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=Array(this.moduleCount);for(var r=0;this.moduleCount>r;r++){this.modules[r]=Array(this.moduleCount);for(var n=0;this.moduleCount>n;n++)this.modules[r][n]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),7>this.typeNumber||this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=N.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},S.setupPositionProbePattern=function(t,e){for(var r=-1;7>=r;r++)if(t+r>-1&&this.moduleCount>t+r)for(var n=-1;7>=n;n++)e+n>-1&&this.moduleCount>e+n&&(this.modules[t+r][e+n]=!((0>r||r>6||0!=n&&6!=n)&&(0>n||n>6||0!=r&&6!=r)&&(2>r||r>4||2>n||n>4)))},S.getBestMaskPattern=function(){for(var t=0,e=0,r=0;8>r;r++){this.makeImpl(!0,r);var n=O.getLostPoint(this);(0==r||t>n)&&(t=n,e=r)}return e},S.createMovieClip=function(t,e,r){var n=t.createEmptyMovieClip(e,r);this.make();for(var o=0;this.modules.length>o;o++)for(var i=1*o,u=0;this.modules[o].length>u;u++){var a=1*u;this.modules[o][u]&&(n.beginFill(0,100),n.moveTo(a,i),n.lineTo(a+1,i),n.lineTo(a+1,i+1),n.lineTo(a,i+1),n.endFill())}return n},S.setupTimingPattern=function(){for(var t=8;this.moduleCount-8>t;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;this.moduleCount-8>e;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},S.setupPositionAdjustPattern=function(){for(var t=O.getPatternPosition(this.typeNumber),e=0;t.length>e;e++)for(var r=0;t.length>r;r++){var n=t[e],o=t[r];if(null==this.modules[n][o])for(var i=-2;2>=i;i++)for(var u=-2;2>=u;u++)this.modules[n+i][o+u]=-2==i||2==i||-2==u||2==u||0==i&&0==u}},S.setupTypeNumber=function(t){for(var e=O.getBCHTypeNumber(this.typeNumber),r=0;18>r;r++){var n=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=n}for(r=0;18>r;r++){n=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=n}},S.setupTypeInfo=function(t,e){for(var r=O.getBCHTypeInfo(this.errorCorrectLevel<<3|e),n=0;15>n;n++){var o=!t&&1==(r>>n&1);6>n?this.modules[n][8]=o:8>n?this.modules[n+1][8]=o:this.modules[this.moduleCount-15+n][8]=o}for(n=0;15>n;n++){o=!t&&1==(r>>n&1);8>n?this.modules[8][this.moduleCount-n-1]=o:9>n?this.modules[8][15-n-1+1]=o:this.modules[8][15-n-1]=o}this.modules[this.moduleCount-8][8]=!t},S.mapData=function(t,e){for(var r=-1,n=this.moduleCount-1,o=7,i=0,u=this.moduleCount-1;u>0;u-=2)for(6==u&&u--;;){for(var a=0;2>a;a++)if(null==this.modules[n][u-a]){var s=!1;t.length>i&&(s=1==(t[i]>>>o&1)),O.getMask(e,n,u-a)&&(s=!s),this.modules[n][u-a]=s,-1==--o&&(i++,o=7)}if(0>(n+=r)||n>=this.moduleCount){n-=r,r=-r;break}}},N.PAD0=236,N.PAD1=17,N.createData=function(t,e,r){for(var n=b.getRSBlocks(t,e),o=new w,i=0;r.length>i;i++){var u=r[i];o.put(u.mode,4),o.put(u.getLength(),O.getLengthInBits(u.mode,t)),u.write(o)}var a=0;for(i=0;n.length>i;i++)a+=n[i].dataCount;if(o.getLengthInBits()>8*a)throw Error("code length overflow. ("+o.getLengthInBits()+">"+8*a+")");for(o.getLengthInBits()+4>8*a||o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;o.getLengthInBits()<8*a&&(o.put(N.PAD0,8),o.getLengthInBits()<8*a);)o.put(N.PAD1,8);return N.createBytes(o,n)},N.createBytes=function(t,e){for(var r=0,n=0,o=0,i=Array(e.length),u=Array(e.length),a=0;e.length>a;a++){var s=e[a].dataCount,h=e[a].totalCount-s;n=Math.max(n,s),o=Math.max(o,h),i[a]=Array(s);for(var l=0;i[a].length>l;l++)i[a][l]=255&t.buffer[l+r];r+=s;var f=O.getErrorCorrectPolynomial(h),g=new I(i[a],f.getLength()-1).mod(f);u[a]=Array(f.getLength()-1);for(l=0;u[a].length>l;l++){var d=l+g.getLength()-u[a].length;u[a][l]=0>d?0:g.get(d)}}var c=0;for(l=0;e.length>l;l++)c+=e[l].totalCount;var v=Array(c),m=0;for(l=0;n>l;l++)for(a=0;e.length>a;a++)i[a].length>l&&(v[m++]=i[a][l]);for(l=0;o>l;l++)for(a=0;e.length>a;a++)u[a].length>l&&(v[m++]=u[a][l]);return v};var H=N,R=function(){try{(new Path2D).addPath(new Path2D)}catch(t){return!1}return!0}();function x(t,e){var r=new H(-1,u[e]);return r.addData(function(t){for(var e="",r=0;t.length>r;r++){var n=t.charCodeAt(r);128>n?e+=String.fromCharCode(n):2048>n?(e+=String.fromCharCode(192|n>>6),e+=String.fromCharCode(128|63&n)):55296>n||n>=57344?(e+=String.fromCharCode(224|n>>12),e+=String.fromCharCode(128|n>>6&63),e+=String.fromCharCode(128|63&n)):(r++,n=65536+((1023&n)<<10|1023&t.charCodeAt(r)),e+=String.fromCharCode(240|n>>18),e+=String.fromCharCode(128|n>>12&63),e+=String.fromCharCode(128|n>>6&63),e+=String.fromCharCode(128|63&n))}return e}(t)),r.make(),r}function G(t){return t in u}function z(t,e){void 0===e&&(e=0);var r=[];return t.forEach((function(t,n){var o=null;t.forEach((function(i,u){if(!i&&null!==o)return r.push("M"+(o+e)+" "+(n+e)+"h"+(u-o)+"v1H"+(o+e)+"z"),void(o=null);if(u!==t.length-1)i&&null===o&&(o=u);else{if(!i)return;r.push(null===o?"M"+(u+e)+","+(n+e)+" h1v1H"+(u+e)+"z":"M"+(o+e)+","+(n+e)+" h"+(u+1-o)+"v1H"+(o+e)+"z")}}))})),r.join("")}var K={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:"H",validator:function(t){return G(t)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0}},U=e(e({},K),{renderAs:{type:String,required:!1,default:"canvas",validator:function(t){return["canvas","svg"].indexOf(t)>-1}}}),X=t.defineComponent({name:"QRCodeSvg",props:K,setup:function(e){var r=t.ref(0),n=t.ref(""),o=function(){var t=e.margin,o=x(e.value,e.level).modules;r.value=o.length+2*t,n.value=z(o,t)};return o(),t.onUpdated(o),function(){return t.h("svg",{width:e.size,height:e.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 "+r.value+" "+r.value},[t.h("path",{fill:e.background,d:"M0,0 h"+r.value+"v"+r.value+"H0z"}),t.h("path",{fill:e.foreground,d:n.value})])}}}),j=t.defineComponent({name:"QRCodeCanvas",props:K,setup:function(e){var r=t.ref(null),n=function(){var t=e.size,n=e.margin,o=e.background,i=e.foreground,u=x(e.value,e.level).modules,a=u.length+2*n,s=r.value;if(s){var h=s.getContext("2d");if(h){var l=window.devicePixelRatio||1,f=t/a*l;s.height=s.width=t*l,h.scale(f,f),h.fillStyle=o,h.fillRect(0,0,a,a),h.fillStyle=i,R?h.fill(new Path2D(z(u,n))):u.forEach((function(t,e){t.forEach((function(t,r){t&&h.fillRect(r+n,e+n,1,1)}))}))}}};return t.onMounted(n),t.onUpdated(n),function(){return t.h("canvas",{ref:r,style:{width:e.size+"px",height:e.size+"px"}})}}});return t.defineComponent({name:"Qrcode",render:function(){var e=this.$props,r=e.renderAs,n=e.value,o=e.level,i=e.background,u=e.foreground,a=e.size>>>0,s=e.margin>>>0,h=G(o)?o:"H";return t.h("svg"===r?X:j,{value:n,size:a,margin:s,level:h,background:i,foreground:u})},props:U})}));
7
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).QrcodeVue=e(t.Vue)}(this,(function(t){"use strict";var e=function(){return e=Object.assign||function(t){for(var e,r=1,n=arguments.length;n>r;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},e.apply(this,arguments)},r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n=r;function o(t){this.mode=n.MODE_8BIT_BYTE,this.data=t}o.prototype={getLength:function(t){return this.data.length},write:function(t){for(var e=0;this.data.length>e;e++)t.put(this.data.charCodeAt(e),8)}};var i=o,a={L:1,M:0,Q:3,H:2},u=a;function s(t,e){this.totalCount=t,this.dataCount=e}s.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],s.getRSBlocks=function(t,e){var r=s.getRsBlockTable(t,e);if(null==r)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var n=r.length/3,o=[],i=0;n>i;i++)for(var a=r[3*i+0],u=r[3*i+1],h=r[3*i+2],l=0;a>l;l++)o.push(new s(u,h));return o},s.getRsBlockTable=function(t,e){switch(e){case u.L:return s.RS_BLOCK_TABLE[4*(t-1)+0];case u.M:return s.RS_BLOCK_TABLE[4*(t-1)+1];case u.Q:return s.RS_BLOCK_TABLE[4*(t-1)+2];case u.H:return s.RS_BLOCK_TABLE[4*(t-1)+3];default:return}};var h=s;function l(){this.buffer=[],this.length=0}l.prototype={get:function(t){return 1==(this.buffer[Math.floor(t/8)]>>>7-t%8&1)},put:function(t,e){for(var r=0;e>r;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length>e||this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};for(var f=l,g={glog:function(t){if(1>t)throw Error("glog("+t+")");return g.LOG_TABLE[t]},gexp:function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return g.EXP_TABLE[t]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},c=0;8>c;c++)g.EXP_TABLE[c]=1<<c;for(c=8;256>c;c++)g.EXP_TABLE[c]=g.EXP_TABLE[c-4]^g.EXP_TABLE[c-5]^g.EXP_TABLE[c-6]^g.EXP_TABLE[c-8];for(c=0;255>c;c++)g.LOG_TABLE[g.EXP_TABLE[c]]=c;var d=g,v=d;function m(t,e){if(null==t.length)throw Error(t.length+"/"+e);for(var r=0;t.length>r&&0==t[r];)r++;this.num=Array(t.length-r+e);for(var n=0;t.length-r>n;n++)this.num[n]=t[n+r]}m.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var n=0;n<t.getLength();n++)e[r+n]^=v.gexp(v.glog(this.get(r))+v.glog(t.get(n)));return new m(e,0)},mod:function(t){if(0>this.getLength()-t.getLength())return this;for(var e=v.glog(this.get(0))-v.glog(t.get(0)),r=Array(this.getLength()),n=0;n<this.getLength();n++)r[n]=this.get(n);for(n=0;n<t.getLength();n++)r[n]^=v.gexp(v.glog(t.get(n))+e);return new m(r,0).mod(t)}};var p=r,C=m,B=d,E=0,L=1,D=2,y=3,A=4,P=5,_=6,T=7,M={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;M.getBCHDigit(e)-M.getBCHDigit(M.G15)>=0;)e^=M.G15<<M.getBCHDigit(e)-M.getBCHDigit(M.G15);return(t<<10|e)^M.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;M.getBCHDigit(e)-M.getBCHDigit(M.G18)>=0;)e^=M.G18<<M.getBCHDigit(e)-M.getBCHDigit(M.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return M.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case E:return(e+r)%2==0;case L:return e%2==0;case D:return r%3==0;case y:return(e+r)%3==0;case A:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case P:return e*r%2+e*r%3==0;case _:return(e*r%2+e*r%3)%2==0;case T:return(e*r%3+(e+r)%2)%2==0;default:throw Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new C([1],0),r=0;t>r;r++)e=e.multiply(new C([1,B.gexp(r)],0));return e},getLengthInBits:function(t,e){if(e>=1&&10>e)switch(t){case p.MODE_NUMBER:return 10;case p.MODE_ALPHA_NUM:return 9;case p.MODE_8BIT_BYTE:case p.MODE_KANJI:return 8;default:throw Error("mode:"+t)}else if(27>e)switch(t){case p.MODE_NUMBER:return 12;case p.MODE_ALPHA_NUM:return 11;case p.MODE_8BIT_BYTE:return 16;case p.MODE_KANJI:return 10;default:throw Error("mode:"+t)}else{if(e>=41)throw Error("type:"+e);switch(t){case p.MODE_NUMBER:return 14;case p.MODE_ALPHA_NUM:return 13;case p.MODE_8BIT_BYTE:return 16;case p.MODE_KANJI:return 12;default:throw Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,n=0;e>n;n++)for(var o=0;e>o;o++){for(var i=0,a=t.isDark(n,o),u=-1;1>=u;u++)if(n+u>=0&&e>n+u)for(var s=-1;1>=s;s++)o+s>=0&&e>o+s&&(0==u&&0==s||a==t.isDark(n+u,o+s)&&i++);i>5&&(r+=3+i-5)}for(n=0;e-1>n;n++)for(o=0;e-1>o;o++){var h=0;t.isDark(n,o)&&h++,t.isDark(n+1,o)&&h++,t.isDark(n,o+1)&&h++,t.isDark(n+1,o+1)&&h++,0!=h&&4!=h||(r+=3)}for(n=0;e>n;n++)for(o=0;e-6>o;o++)t.isDark(n,o)&&!t.isDark(n,o+1)&&t.isDark(n,o+2)&&t.isDark(n,o+3)&&t.isDark(n,o+4)&&!t.isDark(n,o+5)&&t.isDark(n,o+6)&&(r+=40);for(o=0;e>o;o++)for(n=0;e-6>n;n++)t.isDark(n,o)&&!t.isDark(n+1,o)&&t.isDark(n+2,o)&&t.isDark(n+3,o)&&t.isDark(n+4,o)&&!t.isDark(n+5,o)&&t.isDark(n+6,o)&&(r+=40);var l=0;for(o=0;e>o;o++)for(n=0;e>n;n++)t.isDark(n,o)&&l++;return r+=10*(Math.abs(100*l/e/e-50)/5)}},k=i,b=h,w=f,O=M,I=m;function N(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}var S=N.prototype;S.addData=function(t){var e=new k(t);this.dataList.push(e),this.dataCache=null},S.isDark=function(t,e){if(0>t||t>=this.moduleCount||0>e||e>=this.moduleCount)throw Error(t+","+e);return this.modules[t][e]},S.getModuleCount=function(){return this.moduleCount},S.make=function(){if(1>this.typeNumber){var t=1;for(t=1;40>t;t++){for(var e=b.getRSBlocks(t,this.errorCorrectLevel),r=new w,n=0,o=0;e.length>o;o++)n+=e[o].dataCount;for(o=0;this.dataList.length>o;o++){var i=this.dataList[o];r.put(i.mode,4),r.put(i.getLength(),O.getLengthInBits(i.mode,t)),i.write(r)}if(r.getLengthInBits()<=8*n)break}this.typeNumber=t}this.makeImpl(!1,this.getBestMaskPattern())},S.makeImpl=function(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=Array(this.moduleCount);for(var r=0;this.moduleCount>r;r++){this.modules[r]=Array(this.moduleCount);for(var n=0;this.moduleCount>n;n++)this.modules[r][n]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),7>this.typeNumber||this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=N.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},S.setupPositionProbePattern=function(t,e){for(var r=-1;7>=r;r++)if(t+r>-1&&this.moduleCount>t+r)for(var n=-1;7>=n;n++)e+n>-1&&this.moduleCount>e+n&&(this.modules[t+r][e+n]=!((0>r||r>6||0!=n&&6!=n)&&(0>n||n>6||0!=r&&6!=r)&&(2>r||r>4||2>n||n>4)))},S.getBestMaskPattern=function(){for(var t=0,e=0,r=0;8>r;r++){this.makeImpl(!0,r);var n=O.getLostPoint(this);(0==r||t>n)&&(t=n,e=r)}return e},S.createMovieClip=function(t,e,r){var n=t.createEmptyMovieClip(e,r);this.make();for(var o=0;this.modules.length>o;o++)for(var i=1*o,a=0;this.modules[o].length>a;a++){var u=1*a;this.modules[o][a]&&(n.beginFill(0,100),n.moveTo(u,i),n.lineTo(u+1,i),n.lineTo(u+1,i+1),n.lineTo(u,i+1),n.endFill())}return n},S.setupTimingPattern=function(){for(var t=8;this.moduleCount-8>t;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;this.moduleCount-8>e;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},S.setupPositionAdjustPattern=function(){for(var t=O.getPatternPosition(this.typeNumber),e=0;t.length>e;e++)for(var r=0;t.length>r;r++){var n=t[e],o=t[r];if(null==this.modules[n][o])for(var i=-2;2>=i;i++)for(var a=-2;2>=a;a++)this.modules[n+i][o+a]=-2==i||2==i||-2==a||2==a||0==i&&0==a}},S.setupTypeNumber=function(t){for(var e=O.getBCHTypeNumber(this.typeNumber),r=0;18>r;r++){var n=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=n}for(r=0;18>r;r++){n=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=n}},S.setupTypeInfo=function(t,e){for(var r=O.getBCHTypeInfo(this.errorCorrectLevel<<3|e),n=0;15>n;n++){var o=!t&&1==(r>>n&1);6>n?this.modules[n][8]=o:8>n?this.modules[n+1][8]=o:this.modules[this.moduleCount-15+n][8]=o}for(n=0;15>n;n++){o=!t&&1==(r>>n&1);8>n?this.modules[8][this.moduleCount-n-1]=o:9>n?this.modules[8][15-n-1+1]=o:this.modules[8][15-n-1]=o}this.modules[this.moduleCount-8][8]=!t},S.mapData=function(t,e){for(var r=-1,n=this.moduleCount-1,o=7,i=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var u=0;2>u;u++)if(null==this.modules[n][a-u]){var s=!1;t.length>i&&(s=1==(t[i]>>>o&1)),O.getMask(e,n,a-u)&&(s=!s),this.modules[n][a-u]=s,-1==--o&&(i++,o=7)}if(0>(n+=r)||n>=this.moduleCount){n-=r,r=-r;break}}},N.PAD0=236,N.PAD1=17,N.createData=function(t,e,r){for(var n=b.getRSBlocks(t,e),o=new w,i=0;r.length>i;i++){var a=r[i];o.put(a.mode,4),o.put(a.getLength(),O.getLengthInBits(a.mode,t)),a.write(o)}var u=0;for(i=0;n.length>i;i++)u+=n[i].dataCount;if(o.getLengthInBits()>8*u)throw Error("code length overflow. ("+o.getLengthInBits()+">"+8*u+")");for(o.getLengthInBits()+4>8*u||o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;o.getLengthInBits()<8*u&&(o.put(N.PAD0,8),o.getLengthInBits()<8*u);)o.put(N.PAD1,8);return N.createBytes(o,n)},N.createBytes=function(t,e){for(var r=0,n=0,o=0,i=Array(e.length),a=Array(e.length),u=0;e.length>u;u++){var s=e[u].dataCount,h=e[u].totalCount-s;n=Math.max(n,s),o=Math.max(o,h),i[u]=Array(s);for(var l=0;i[u].length>l;l++)i[u][l]=255&t.buffer[l+r];r+=s;var f=O.getErrorCorrectPolynomial(h),g=new I(i[u],f.getLength()-1).mod(f);a[u]=Array(f.getLength()-1);for(l=0;a[u].length>l;l++){var c=l+g.getLength()-a[u].length;a[u][l]=0>c?0:g.get(c)}}var d=0;for(l=0;e.length>l;l++)d+=e[l].totalCount;var v=Array(d),m=0;for(l=0;n>l;l++)for(u=0;e.length>u;u++)i[u].length>l&&(v[m++]=i[u][l]);for(l=0;o>l;l++)for(u=0;e.length>u;u++)a[u].length>l&&(v[m++]=a[u][l]);return v};var H=N,R=function(){try{(new Path2D).addPath(new Path2D)}catch(t){return!1}return!0}();function x(t,e){var r=new H(-1,a[e]);return r.addData(function(t){for(var e="",r=0;t.length>r;r++){var n=t.charCodeAt(r);128>n?e+=String.fromCharCode(n):2048>n?(e+=String.fromCharCode(192|n>>6),e+=String.fromCharCode(128|63&n)):55296>n||n>=57344?(e+=String.fromCharCode(224|n>>12),e+=String.fromCharCode(128|n>>6&63),e+=String.fromCharCode(128|63&n)):(r++,n=65536+((1023&n)<<10|1023&t.charCodeAt(r)),e+=String.fromCharCode(240|n>>18),e+=String.fromCharCode(128|n>>12&63),e+=String.fromCharCode(128|n>>6&63),e+=String.fromCharCode(128|63&n))}return e}(t)),r.make(),r}function G(t){return t in a}function z(t,e){void 0===e&&(e=0);var r=[];return t.forEach((function(t,n){var o=null;t.forEach((function(i,a){if(!i&&null!==o)return r.push("M".concat(o+e," ").concat(n+e,"h").concat(a-o,"v1H").concat(o+e,"z")),void(o=null);if(a!==t.length-1)i&&null===o&&(o=a);else{if(!i)return;r.push(null===o?"M".concat(a+e,",").concat(n+e," h1v1H").concat(a+e,"z"):"M".concat(o+e,",").concat(n+e," h").concat(a+1-o,"v1H").concat(o+e,"z"))}}))})),r.join("")}var K={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:"H",validator:function(t){return G(t)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0}},U=e(e({},K),{renderAs:{type:String,required:!1,default:"canvas",validator:function(t){return["canvas","svg"].indexOf(t)>-1}}}),X=t.defineComponent({name:"QRCodeSvg",props:K,setup:function(e){var r=t.ref(0),n=t.ref(""),o=function(){var t=e.margin,o=x(e.value,e.level).modules;r.value=o.length+2*t,n.value=z(o,t)};return o(),t.onUpdated(o),function(){return t.h("svg",{width:e.size,height:e.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(r.value," ").concat(r.value)},[t.h("path",{fill:e.background,d:"M0,0 h".concat(r.value,"v").concat(r.value,"H0z")}),t.h("path",{fill:e.foreground,d:n.value})])}}}),j=t.defineComponent({name:"QRCodeCanvas",props:K,setup:function(e){var r=t.ref(null),n=function(){var t=e.size,n=e.margin,o=e.background,i=e.foreground,a=x(e.value,e.level).modules,u=a.length+2*n,s=r.value;if(s){var h=s.getContext("2d");if(h){var l=window.devicePixelRatio||1,f=t/u*l;s.height=s.width=t*l,h.scale(f,f),h.fillStyle=o,h.fillRect(0,0,u,u),h.fillStyle=i,R?h.fill(new Path2D(z(a,n))):a.forEach((function(t,e){t.forEach((function(t,r){t&&h.fillRect(r+n,e+n,1,1)}))}))}}};return t.onMounted(n),t.onUpdated(n),function(){return t.h("canvas",{ref:r,style:{width:"".concat(e.size,"px"),height:"".concat(e.size,"px")}})}}});return t.defineComponent({name:"Qrcode",render:function(){var e=this.$props,r=e.renderAs,n=e.value,o=e.level,i=e.background,a=e.foreground,u=e.size>>>0,s=e.margin>>>0,h=G(o)?o:"H";return t.h("svg"===r?X:j,{value:n,size:u,margin:s,level:h,background:i,foreground:a})},props:U})}));
@@ -1,14 +1,14 @@
1
1
  /*!
2
- * qrcode.vue v3.3.3
2
+ * qrcode.vue v3.3.4
3
3
  * A Vue.js component to generate QRCode.
4
- * © 2017-2021 @scopewu(https://github.com/scopewu)
4
+ * © 2017-2023 @scopewu(https://github.com/scopewu)
5
5
  * MIT License.
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var vue = require('vue');
10
10
 
11
- /*! *****************************************************************************
11
+ /******************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
13
13
 
14
14
  Permission to use, copy, modify, and/or distribute this software for any
@@ -1310,7 +1310,7 @@ function generatePath(modules, margin) {
1310
1310
  if (!cell && start !== null) {
1311
1311
  // M0 0h7v1H0z injects the space with the move and drops the comma,
1312
1312
  // saving a char per operation
1313
- ops.push("M" + (start + margin) + " " + (y + margin) + "h" + (x - start) + "v1H" + (start + margin) + "z");
1313
+ ops.push("M".concat(start + margin, " ").concat(y + margin, "h").concat(x - start, "v1H").concat(start + margin, "z"));
1314
1314
  start = null;
1315
1315
  return;
1316
1316
  }
@@ -1323,11 +1323,11 @@ function generatePath(modules, margin) {
1323
1323
  }
1324
1324
  if (start === null) {
1325
1325
  // Just a single dark module.
1326
- ops.push("M" + (x + margin) + "," + (y + margin) + " h1v1H" + (x + margin) + "z");
1326
+ ops.push("M".concat(x + margin, ",").concat(y + margin, " h1v1H").concat(x + margin, "z"));
1327
1327
  }
1328
1328
  else {
1329
1329
  // Otherwise finish the current line.
1330
- ops.push("M" + (start + margin) + "," + (y + margin) + " h" + (x + 1 - start) + "v1H" + (start + margin) + "z");
1330
+ ops.push("M".concat(start + margin, ",").concat(y + margin, " h").concat(x + 1 - start, "v1H").concat(start + margin, "z"));
1331
1331
  }
1332
1332
  return;
1333
1333
  }
@@ -1342,36 +1342,36 @@ var QRCodeProps = {
1342
1342
  value: {
1343
1343
  type: String,
1344
1344
  required: true,
1345
- "default": '',
1345
+ "default": ''
1346
1346
  },
1347
1347
  size: {
1348
1348
  type: Number,
1349
- "default": 100,
1349
+ "default": 100
1350
1350
  },
1351
1351
  level: {
1352
1352
  type: String,
1353
1353
  "default": defaultErrorCorrectLevel,
1354
- validator: function (l) { return validErrorCorrectLevel(l); },
1354
+ validator: function (l) { return validErrorCorrectLevel(l); }
1355
1355
  },
1356
1356
  background: {
1357
1357
  type: String,
1358
- "default": '#fff',
1358
+ "default": '#fff'
1359
1359
  },
1360
1360
  foreground: {
1361
1361
  type: String,
1362
- "default": '#000',
1362
+ "default": '#000'
1363
1363
  },
1364
1364
  margin: {
1365
1365
  type: Number,
1366
1366
  required: false,
1367
- "default": 0,
1368
- },
1367
+ "default": 0
1368
+ }
1369
1369
  };
1370
1370
  var QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {
1371
1371
  type: String,
1372
1372
  required: false,
1373
1373
  "default": 'canvas',
1374
- validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; },
1374
+ validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; }
1375
1375
  } });
1376
1376
  var QRCodeSvg = vue.defineComponent({
1377
1377
  name: 'QRCodeSvg',
@@ -1398,15 +1398,15 @@ var QRCodeSvg = vue.defineComponent({
1398
1398
  height: props.size,
1399
1399
  'shape-rendering': "crispEdges",
1400
1400
  xmlns: 'http://www.w3.org/2000/svg',
1401
- viewBox: "0 0 " + numCells.value + " " + numCells.value,
1401
+ viewBox: "0 0 ".concat(numCells.value, " ").concat(numCells.value)
1402
1402
  }, [
1403
1403
  vue.h('path', {
1404
1404
  fill: props.background,
1405
- d: "M0,0 h" + numCells.value + "v" + numCells.value + "H0z",
1405
+ d: "M0,0 h".concat(numCells.value, "v").concat(numCells.value, "H0z")
1406
1406
  }),
1407
1407
  vue.h('path', { fill: props.foreground, d: fgPath.value }),
1408
1408
  ]); };
1409
- },
1409
+ }
1410
1410
  });
1411
1411
  var QRCodeCanvas = vue.defineComponent({
1412
1412
  name: 'QRCodeCanvas',
@@ -1449,9 +1449,9 @@ var QRCodeCanvas = vue.defineComponent({
1449
1449
  vue.onUpdated(generate);
1450
1450
  return function () { return vue.h('canvas', {
1451
1451
  ref: canvasEl,
1452
- style: { width: props.size + "px", height: props.size + "px" },
1452
+ style: { width: "".concat(props.size, "px"), height: "".concat(props.size, "px") }
1453
1453
  }); };
1454
- },
1454
+ }
1455
1455
  });
1456
1456
  var QrcodeVue = vue.defineComponent({
1457
1457
  name: 'Qrcode',
@@ -1462,7 +1462,7 @@ var QrcodeVue = vue.defineComponent({
1462
1462
  var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;
1463
1463
  return vue.h(renderAs === 'svg' ? QRCodeSvg : QRCodeCanvas, { value: value, size: size, margin: margin, level: level, background: background, foreground: foreground });
1464
1464
  },
1465
- props: QRCodeVueProps,
1465
+ props: QRCodeVueProps
1466
1466
  });
1467
1467
 
1468
1468
  module.exports = QrcodeVue;
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * qrcode.vue v3.3.3
2
+ * qrcode.vue v3.3.4
3
3
  * A Vue.js component to generate QRCode.
4
- * © 2017-2021 @scopewu(https://github.com/scopewu)
4
+ * © 2017-2023 @scopewu(https://github.com/scopewu)
5
5
  * MIT License.
6
6
  */
7
7
  import { defineComponent, ref, onUpdated, h, onMounted } from 'vue';
8
8
 
9
- /*! *****************************************************************************
9
+ /******************************************************************************
10
10
  Copyright (c) Microsoft Corporation.
11
11
 
12
12
  Permission to use, copy, modify, and/or distribute this software for any
@@ -1308,7 +1308,7 @@ function generatePath(modules, margin) {
1308
1308
  if (!cell && start !== null) {
1309
1309
  // M0 0h7v1H0z injects the space with the move and drops the comma,
1310
1310
  // saving a char per operation
1311
- ops.push("M" + (start + margin) + " " + (y + margin) + "h" + (x - start) + "v1H" + (start + margin) + "z");
1311
+ ops.push("M".concat(start + margin, " ").concat(y + margin, "h").concat(x - start, "v1H").concat(start + margin, "z"));
1312
1312
  start = null;
1313
1313
  return;
1314
1314
  }
@@ -1321,11 +1321,11 @@ function generatePath(modules, margin) {
1321
1321
  }
1322
1322
  if (start === null) {
1323
1323
  // Just a single dark module.
1324
- ops.push("M" + (x + margin) + "," + (y + margin) + " h1v1H" + (x + margin) + "z");
1324
+ ops.push("M".concat(x + margin, ",").concat(y + margin, " h1v1H").concat(x + margin, "z"));
1325
1325
  }
1326
1326
  else {
1327
1327
  // Otherwise finish the current line.
1328
- ops.push("M" + (start + margin) + "," + (y + margin) + " h" + (x + 1 - start) + "v1H" + (start + margin) + "z");
1328
+ ops.push("M".concat(start + margin, ",").concat(y + margin, " h").concat(x + 1 - start, "v1H").concat(start + margin, "z"));
1329
1329
  }
1330
1330
  return;
1331
1331
  }
@@ -1340,36 +1340,36 @@ var QRCodeProps = {
1340
1340
  value: {
1341
1341
  type: String,
1342
1342
  required: true,
1343
- "default": '',
1343
+ "default": ''
1344
1344
  },
1345
1345
  size: {
1346
1346
  type: Number,
1347
- "default": 100,
1347
+ "default": 100
1348
1348
  },
1349
1349
  level: {
1350
1350
  type: String,
1351
1351
  "default": defaultErrorCorrectLevel,
1352
- validator: function (l) { return validErrorCorrectLevel(l); },
1352
+ validator: function (l) { return validErrorCorrectLevel(l); }
1353
1353
  },
1354
1354
  background: {
1355
1355
  type: String,
1356
- "default": '#fff',
1356
+ "default": '#fff'
1357
1357
  },
1358
1358
  foreground: {
1359
1359
  type: String,
1360
- "default": '#000',
1360
+ "default": '#000'
1361
1361
  },
1362
1362
  margin: {
1363
1363
  type: Number,
1364
1364
  required: false,
1365
- "default": 0,
1366
- },
1365
+ "default": 0
1366
+ }
1367
1367
  };
1368
1368
  var QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {
1369
1369
  type: String,
1370
1370
  required: false,
1371
1371
  "default": 'canvas',
1372
- validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; },
1372
+ validator: function (as) { return ['canvas', 'svg'].indexOf(as) > -1; }
1373
1373
  } });
1374
1374
  var QRCodeSvg = defineComponent({
1375
1375
  name: 'QRCodeSvg',
@@ -1396,15 +1396,15 @@ var QRCodeSvg = defineComponent({
1396
1396
  height: props.size,
1397
1397
  'shape-rendering': "crispEdges",
1398
1398
  xmlns: 'http://www.w3.org/2000/svg',
1399
- viewBox: "0 0 " + numCells.value + " " + numCells.value,
1399
+ viewBox: "0 0 ".concat(numCells.value, " ").concat(numCells.value)
1400
1400
  }, [
1401
1401
  h('path', {
1402
1402
  fill: props.background,
1403
- d: "M0,0 h" + numCells.value + "v" + numCells.value + "H0z",
1403
+ d: "M0,0 h".concat(numCells.value, "v").concat(numCells.value, "H0z")
1404
1404
  }),
1405
1405
  h('path', { fill: props.foreground, d: fgPath.value }),
1406
1406
  ]); };
1407
- },
1407
+ }
1408
1408
  });
1409
1409
  var QRCodeCanvas = defineComponent({
1410
1410
  name: 'QRCodeCanvas',
@@ -1447,9 +1447,9 @@ var QRCodeCanvas = defineComponent({
1447
1447
  onUpdated(generate);
1448
1448
  return function () { return h('canvas', {
1449
1449
  ref: canvasEl,
1450
- style: { width: props.size + "px", height: props.size + "px" },
1450
+ style: { width: "".concat(props.size, "px"), height: "".concat(props.size, "px") }
1451
1451
  }); };
1452
- },
1452
+ }
1453
1453
  });
1454
1454
  var QrcodeVue = defineComponent({
1455
1455
  name: 'Qrcode',
@@ -1460,7 +1460,7 @@ var QrcodeVue = defineComponent({
1460
1460
  var level = validErrorCorrectLevel(_level) ? _level : defaultErrorCorrectLevel;
1461
1461
  return h(renderAs === 'svg' ? QRCodeSvg : QRCodeCanvas, { value: value, size: size, margin: margin, level: level, background: background, foreground: foreground });
1462
1462
  },
1463
- props: QRCodeVueProps,
1463
+ props: QRCodeVueProps
1464
1464
  });
1465
1465
 
1466
1466
  export { QrcodeVue as default };
package/package.json CHANGED
@@ -1,17 +1,25 @@
1
1
  {
2
2
  "name": "qrcode.vue",
3
- "version": "3.3.3",
3
+ "version": "3.3.4",
4
4
  "description": "A Vue.js component to generate QRCode.",
5
- "main": "dist/qrcode.vue.cjs.js",
6
- "module": "dist/qrcode.vue.esm.js",
7
- "browser": "dist/qrcode.vue.browser.js",
8
- "unpkg": "dist/qrcode.vue.browser.min.js",
9
- "jsdelivr": "dist/qrcode.vue.browser.min.js",
10
- "typings": "dist/index.d.ts",
5
+ "type": "module",
6
+ "main": "./dist/qrcode.vue.cjs.js",
7
+ "module": "./dist/qrcode.vue.esm.js",
8
+ "browser": "./dist/qrcode.vue.browser.js",
9
+ "unpkg": "./dist/qrcode.vue.browser.min.js",
10
+ "jsdelivr": "./dist/qrcode.vue.browser.min.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/qrcode.vue.esm.js",
16
+ "require": "./dist/qrcode.vue.cjs.js"
17
+ },
18
+ "./package": "./package.json"
19
+ },
11
20
  "scripts": {
12
- "start": "webpack serve --config webpack.config.js --mode=development --open",
13
- "build": "rimraf dist && rollup -c",
14
- "prepublishOnly": "npm run build"
21
+ "start": "webpack serve --config webpack.config.js --mode=development",
22
+ "build": "rimraf dist && rollup -c"
15
23
  },
16
24
  "repository": {
17
25
  "type": "git",
@@ -36,27 +44,28 @@
36
44
  "bugs": {
37
45
  "url": "https://github.com/scopewu/qrcode.vue/issues"
38
46
  },
39
- "homepage": "https://scopewu.github.io/qrcode.vue/",
47
+ "homepage": "https://qr-vue.tie.pub",
40
48
  "peerDependencies": {
41
49
  "vue": "^3.0.0"
42
50
  },
43
51
  "dependencies": {},
44
52
  "devDependencies": {
45
- "@rollup/plugin-commonjs": "^20.0.0",
46
- "@vue/compiler-sfc": "^3.2.11",
47
- "@vue/server-renderer": "^3.2.11",
48
- "html-webpack-plugin": "^5.3.2",
53
+ "@rollup/plugin-commonjs": "^24.0.1",
54
+ "@rollup/plugin-node-resolve": "^15.0.1",
55
+ "@rollup/plugin-terser": "^0.4.0",
56
+ "@vue/compiler-sfc": "^3.2.47",
57
+ "@vue/server-renderer": "^3.2.47",
58
+ "html-webpack-plugin": "^5.5.0",
49
59
  "qr.js": "^0.0.0",
50
- "rimraf": "^3.0.2",
51
- "rollup": "^2.57.0",
52
- "rollup-plugin-terser": "^7.0.2",
53
- "rollup-plugin-typescript2": "^0.30.0",
54
- "ts-loader": "^9.2.6",
55
- "typescript": "^4.4.3",
56
- "vue": "3.2.11",
57
- "vue-loader": "^16.5.0",
58
- "webpack": "^5.53.0",
59
- "webpack-cli": "^4.8.0",
60
- "webpack-dev-server": "^4.2.1"
60
+ "rimraf": "^4.4.0",
61
+ "rollup": "^3.19.1",
62
+ "rollup-plugin-typescript2": "^0.34.1",
63
+ "ts-loader": "^9.4.2",
64
+ "typescript": "^4.9.5",
65
+ "vue": "^3.2.47",
66
+ "vue-loader": "^17.0.1",
67
+ "webpack": "^5.76.1",
68
+ "webpack-cli": "^5.0.1",
69
+ "webpack-dev-server": "^4.11.1"
61
70
  }
62
71
  }