pax_global_header00006660000000000000000000000064131635165540014523gustar00rootroot0000000000000052 comment=0e6200239a2d3a62554ba36211cddae2114f7584 angularx-qrcode-1.0.1/000077500000000000000000000000001316351655400146165ustar00rootroot00000000000000angularx-qrcode-1.0.1/.editorconfig000066400000000000000000000003621316351655400172740ustar00rootroot00000000000000# http://editorconfig.org root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true [*.md] insert_final_newline = false trim_trailing_whitespace = falseangularx-qrcode-1.0.1/.gitignore000066400000000000000000000003001316351655400165770ustar00rootroot00000000000000# Node node_modules npm-debug.log # Yarn yarn-error.log # JetBrains .idea/ # VS Code .vscode/ # Windows Thumbs.db Desktop.ini # Mac .DS_Store # Temporary files coverage/ # dist docs tmp angularx-qrcode-1.0.1/README.md000066400000000000000000000047251316351655400161050ustar00rootroot00000000000000# angularx-qrcode `angularx-qrcode` is a Ionic 3 and Angular4+ QR Code component/module library to generate QR Codes (Quick Response) in your Ionic and Angular 4+ app with support for AOT. It is a drop-in replacement for the no-longer-maintained angular2 component `ng2-qrcode` and based on qrcodejs. ## AOT - Ahead Of Time Compilation `angularx-qrcode` supports AOT Compilation (Ahead-of-Time Compilation) which results in significant faster rendering. For further information see https://angular.io/guide/aot-compiler ## Installation ### NPM (Angular, Ionic) npm install angularx-qrcode --save ### Yarn yarn add angularx-qrcode ## Basic Usage ### Import the module and add it to your imports section in your main AppModule (file: app.module.ts) ``` // all your imports import { QRCodeModule } from 'angularx-qrcode'; @NgModule({ declarations: [ AppComponent ], imports: [ QRCodeModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } ``` ## Examples ### Generate a QR Code from a string (directive only) Now that Angular/Ionic knows about our QR Code module, we can invoke it from our template with a directive. If we use a simple text-string, we need no additional code in our controller. ``` ``` ### Create a QR Code from a variable in your controller In addition to our ``-directive in `example.html`, we add two lines of code to our controller `example.ts`. ``` // example.ts: export class QRCodeComponent { public angularxQrCode: string = ''; // assign a value anywhere in/below your constructor this.myAngularxQrCode = 'Your QR code data string'; } // example.html: ``` ## Parameters | Attribute | Type | Default | Description | | ------------- |-------------| -----|------------| | qrdata | String | '' | String to encode | | size | Number | 256 | Height / Width (any value) | | level | String | 'M' | QR Correction level ('L', 'M', 'Q', 'H') | | colorlight | String | '#ffffff' | Dark color | | colordark | String | '#000000' | Light Color | | usesvg | Boolean | false | SVG Output | ## Note Depending on the size of the *qrdata* to encode, a minimum *size* might be required. ## License MIT License ## Credits Based on no-longer-maintained angular2 component https://github.com/PragmaticClub/ng2-qrcode angularx-qrcode-1.0.1/dist/000077500000000000000000000000001316351655400155615ustar00rootroot00000000000000angularx-qrcode-1.0.1/dist/angularx-qrcode.module.d.ts000066400000000000000000000000461316351655400227330ustar00rootroot00000000000000export declare class QRCodeModule { } angularx-qrcode-1.0.1/dist/angularx-qrcode.module.js000066400000000000000000000012631316351655400225010ustar00rootroot00000000000000import { NgModule } from '@angular/core'; import { QRCodeComponent } from './components'; var QRCodeModule = /** @class */ (function () { function QRCodeModule() { } QRCodeModule.decorators = [ { type: NgModule, args: [{ providers: [], declarations: [ QRCodeComponent, ], exports: [ QRCodeComponent, ] },] }, ]; /** @nocollapse */ QRCodeModule.ctorParameters = function () { return []; }; return QRCodeModule; }()); export { QRCodeModule }; //# sourceMappingURL=angularx-qrcode.module.js.mapangularx-qrcode-1.0.1/dist/angularx-qrcode.module.js.map000066400000000000000000000010041316351655400232460ustar00rootroot00000000000000{"version":3,"sources":["../src/angularx-qrcode.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAA,EAAS,MAAO,eAAA,CAAgB;AACzC,OAAO,EAAE,eAAA,EAAgB,MAAO,cAAA,CAAe;AAG/C;IAAA;IAeA,CAAC;IAdM,uBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACvB,SAAS,EAAE,EAAG;oBACd,YAAY,EAAE;wBACZ,eAAe;qBAChB;oBACD,OAAO,EAAE;wBACP,eAAe;qBAChB;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,2BAAc,GAAmE,cAAM,OAAA,EAC7F,EAD6F,CAC7F,CAAC;IACF,mBAAC;CAfD,AAeC,IAAA;SAfY,YAAY","file":"angularx-qrcode.module.js","sourceRoot":""}angularx-qrcode-1.0.1/dist/angularx-qrcode.module.metadata.json000066400000000000000000000015071316351655400246160ustar00rootroot00000000000000[{"__symbolic":"module","version":3,"metadata":{"QRCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"providers":[],"declarations":[{"__symbolic":"reference","module":"./components","name":"QRCodeComponent"}],"exports":[{"__symbolic":"reference","module":"./components","name":"QRCodeComponent"}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"QRCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"providers":[],"declarations":[{"__symbolic":"reference","module":"./components","name":"QRCodeComponent"}],"exports":[{"__symbolic":"reference","module":"./components","name":"QRCodeComponent"}]}]}]}}}]angularx-qrcode-1.0.1/dist/components/000077500000000000000000000000001316351655400177465ustar00rootroot00000000000000angularx-qrcode-1.0.1/dist/components/angularx-qrcode/000077500000000000000000000000001316351655400230425ustar00rootroot00000000000000angularx-qrcode-1.0.1/dist/components/angularx-qrcode/angularx-qrcode.component.d.ts000066400000000000000000000010671316351655400307350ustar00rootroot00000000000000/// import { ElementRef, OnChanges, OnInit, SimpleChange } from '@angular/core'; export declare class QRCodeComponent implements OnChanges, OnInit { el: ElementRef; size: number; level: string; colordark: string; colorlight: string; usesvg: boolean; qrcode: any; constructor(el: ElementRef); ngOnInit(): void; ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; protected isValidQrCodeText(data: string): boolean; } angularx-qrcode-1.0.1/dist/components/angularx-qrcode/angularx-qrcode.component.js000066400000000000000000000045511316351655400305020ustar00rootroot00000000000000/// import { Component, Input, ElementRef, ChangeDetectionStrategy } from '@angular/core'; import * as QRCode from 'qrcodejs2'; var QRCodeComponent = /** @class */ (function () { function QRCodeComponent(el) { this.el = el; /** @internal */ this.qrdata = ''; this.size = 256; this.level = 'M'; this.colordark = '#000000'; this.colorlight = '#ffffff'; this.usesvg = false; } QRCodeComponent.prototype.ngOnInit = function () { try { if (!this.isValidQrCodeText(this.qrdata)) { throw new Error('Empty QR Code data'); } this.qrcode = new QRCode(this.el.nativeElement, { colorDark: this.colordark, colorLight: this.colorlight, correctLevel: QRCode.CorrectLevel[this.level.toString()], height: this.size, text: this.qrdata, useSVG: this.usesvg, width: this.size, }); } catch (e) { console.error('Error generating QR Code: ' + e.message); } }; QRCodeComponent.prototype.ngOnChanges = function (changes) { if (!this.qrcode) { return; } var qrData = changes['qrdata']; if (qrData && this.isValidQrCodeText(qrData.currentValue)) { this.qrcode.clear(); this.qrcode.makeCode(qrData.currentValue); } }; QRCodeComponent.prototype.isValidQrCodeText = function (data) { return !(typeof data === 'undefined' || data === ''); }; QRCodeComponent.decorators = [ { type: Component, args: [{ selector: 'qrcode', changeDetection: ChangeDetectionStrategy.OnPush, template: '' },] }, ]; /** @nocollapse */ QRCodeComponent.ctorParameters = function () { return [ { type: ElementRef, }, ]; }; QRCodeComponent.propDecorators = { 'qrdata': [{ type: Input },], 'size': [{ type: Input },], 'level': [{ type: Input },], 'colordark': [{ type: Input },], 'colorlight': [{ type: Input },], 'usesvg': [{ type: Input },], }; return QRCodeComponent; }()); export { QRCodeComponent }; //# sourceMappingURL=angularx-qrcode.component.js.mapangularx-qrcode-1.0.1/dist/components/angularx-qrcode/angularx-qrcode.component.js.map000066400000000000000000000043601316351655400312540ustar00rootroot00000000000000{"version":3,"sources":["../../../src/components/angularx-qrcode/angularx-qrcode.component.ts"],"names":[],"mappings":"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","file":"angularx-qrcode.component.js","sourceRoot":""}angularx-qrcode-1.0.1/dist/components/angularx-qrcode/angularx-qrcode.component.metadata.json000066400000000000000000000062271316351655400326200ustar00rootroot00000000000000[{"__symbolic":"module","version":3,"metadata":{"QRCodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"qrcode","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"template":""}]}],"members":{"qrdata":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"colordark":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"colorlight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"usesvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"isValidQrCodeText":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"QRCodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"qrcode","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy"},"member":"OnPush"},"template":""}]}],"members":{"qrdata":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"colordark":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"colorlight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"usesvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"isValidQrCodeText":[{"__symbolic":"method"}]}}}}]angularx-qrcode-1.0.1/dist/components/angularx-qrcode/index.d.ts000066400000000000000000000000551316351655400247430ustar00rootroot00000000000000export * from './angularx-qrcode.component'; angularx-qrcode-1.0.1/dist/components/angularx-qrcode/index.js000066400000000000000000000001161316351655400245050ustar00rootroot00000000000000export * from './angularx-qrcode.component'; //# sourceMappingURL=index.js.mapangularx-qrcode-1.0.1/dist/components/angularx-qrcode/index.js.map000066400000000000000000000002341316351655400252620ustar00rootroot00000000000000{"version":3,"sources":["../../../src/components/angularx-qrcode/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC","file":"index.js","sourceRoot":""}angularx-qrcode-1.0.1/dist/components/angularx-qrcode/index.metadata.json000066400000000000000000000003131316351655400266200ustar00rootroot00000000000000[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./angularx-qrcode.component"}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./angularx-qrcode.component"}]}]angularx-qrcode-1.0.1/dist/components/index.d.ts000066400000000000000000000000431316351655400216440ustar00rootroot00000000000000export * from './angularx-qrcode'; angularx-qrcode-1.0.1/dist/components/index.js000066400000000000000000000001041316351655400214060ustar00rootroot00000000000000export * from './angularx-qrcode'; //# sourceMappingURL=index.js.mapangularx-qrcode-1.0.1/dist/components/index.js.map000066400000000000000000000002111316351655400221610ustar00rootroot00000000000000{"version":3,"sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","file":"index.js","sourceRoot":""}angularx-qrcode-1.0.1/dist/components/index.metadata.json000066400000000000000000000002671316351655400235340ustar00rootroot00000000000000[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./angularx-qrcode"}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./angularx-qrcode"}]}]angularx-qrcode-1.0.1/dist/index.d.ts000066400000000000000000000001511316351655400174570ustar00rootroot00000000000000export { QRCodeComponent } from './components'; export { QRCodeModule } from './angularx-qrcode.module'; angularx-qrcode-1.0.1/dist/index.js000066400000000000000000000002121316351655400172210ustar00rootroot00000000000000export { QRCodeComponent } from './components'; export { QRCodeModule } from './angularx-qrcode.module'; //# sourceMappingURL=index.js.mapangularx-qrcode-1.0.1/dist/index.js.map000066400000000000000000000002701316351655400200010ustar00rootroot00000000000000{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC","file":"index.js","sourceRoot":""}angularx-qrcode-1.0.1/dist/index.metadata.json000066400000000000000000000005431316351655400213440ustar00rootroot00000000000000[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./components","export":["QRCodeComponent"]},{"from":"./angularx-qrcode.module","export":["QRCodeModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./components","export":["QRCodeComponent"]},{"from":"./angularx-qrcode.module","export":["QRCodeModule"]}]}]angularx-qrcode-1.0.1/dist/index.umd.js000066400000000000000000001234341316351655400200210ustar00rootroot00000000000000/** * angularx-qrcode - Ionic 3 and Angular4+ QRCode module generator using qrcodejs * @version v1.0.1 * @author Andreas Jacob * @link https://github.com/cordobo/angularx-qrcode#readme * @license MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("@angular/core")); else if(typeof define === 'function' && define.amd) define(["@angular/core"], factory); else if(typeof exports === 'object') exports["ticktock"] = factory(require("@angular/core")); else root["ticktock"] = factory(root["ng"]["core"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_1__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 5); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(__webpack_require__(4)); /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_1__; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var components_1 = __webpack_require__(0); var QRCodeModule = /** @class */ (function () { function QRCodeModule() { } QRCodeModule = __decorate([ core_1.NgModule({ providers: [], declarations: [ components_1.QRCodeComponent, ], exports: [ components_1.QRCodeComponent, ] }) ], QRCodeModule); return QRCodeModule; }()); exports.QRCodeModule = QRCodeModule; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /// var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var QRCode = __webpack_require__(6); var QRCodeComponent = /** @class */ (function () { function QRCodeComponent(el) { this.el = el; /** @internal */ this.qrdata = ''; this.size = 256; this.level = 'M'; this.colordark = '#000000'; this.colorlight = '#ffffff'; this.usesvg = false; } QRCodeComponent.prototype.ngOnInit = function () { try { if (!this.isValidQrCodeText(this.qrdata)) { throw new Error('Empty QR Code data'); } this.qrcode = new QRCode(this.el.nativeElement, { colorDark: this.colordark, colorLight: this.colorlight, correctLevel: QRCode.CorrectLevel[this.level.toString()], height: this.size, text: this.qrdata, useSVG: this.usesvg, width: this.size, }); } catch (e) { console.error('Error generating QR Code: ' + e.message); } }; QRCodeComponent.prototype.ngOnChanges = function (changes) { if (!this.qrcode) { return; } var qrData = changes['qrdata']; if (qrData && this.isValidQrCodeText(qrData.currentValue)) { this.qrcode.clear(); this.qrcode.makeCode(qrData.currentValue); } }; QRCodeComponent.prototype.isValidQrCodeText = function (data) { return !(typeof data === 'undefined' || data === ''); }; __decorate([ core_1.Input(), __metadata("design:type", String) ], QRCodeComponent.prototype, "qrdata", void 0); __decorate([ core_1.Input(), __metadata("design:type", Number) ], QRCodeComponent.prototype, "size", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], QRCodeComponent.prototype, "level", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], QRCodeComponent.prototype, "colordark", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], QRCodeComponent.prototype, "colorlight", void 0); __decorate([ core_1.Input(), __metadata("design:type", Boolean) ], QRCodeComponent.prototype, "usesvg", void 0); QRCodeComponent = __decorate([ core_1.Component({ selector: 'qrcode', changeDetection: core_1.ChangeDetectionStrategy.OnPush, template: '' }), __metadata("design:paramtypes", [core_1.ElementRef]) ], QRCodeComponent); return QRCodeComponent; }()); exports.QRCodeComponent = QRCodeComponent; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(__webpack_require__(3)); /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var components_1 = __webpack_require__(0); exports.QRCodeComponent = components_1.QRCodeComponent; var angularx_qrcode_module_1 = __webpack_require__(2); exports.QRCodeModule = angularx_qrcode_module_1.QRCodeModule; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { /** * @fileoverview * - Using the 'QRCode for Javascript library' * - Fixed dataset of 'QRCode for Javascript library' for support full-spec. * - this library has no dependencies. * * @author davidshimjs * @see http://www.d-project.com/ * @see http://jeromeetienne.github.com/jquery-qrcode/ */ var QRCode; (function (root, factory) { /* CommonJS */ if (true) module.exports = factory() /* AMD module */ else if (typeof define == 'function' && define.amd) define(factory) /* Global */ else root.QRCode = factory() }(this, function () { //--------------------------------------------------------------------- // QRCode for JavaScript // // Copyright (c) 2009 Kazuhiko Arase // // URL: http://www.d-project.com/ // // Licensed under the MIT license: // http://www.opensource.org/licenses/mit-license.php // // The word "QR Code" is registered trademark of // DENSO WAVE INCORPORATED // http://www.denso-wave.com/qrcode/faqpatent-e.html // //--------------------------------------------------------------------- function QR8bitByte(data) { this.mode = QRMode.MODE_8BIT_BYTE; this.data = data; this.parsedData = []; // Added to support UTF-8 Characters for (var i = 0, l = this.data.length; i < l; i++) { var byteArray = []; var code = this.data.charCodeAt(i); if (code > 0x10000) { byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18); byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12); byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6); byteArray[3] = 0x80 | (code & 0x3F); } else if (code > 0x800) { byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12); byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6); byteArray[2] = 0x80 | (code & 0x3F); } else if (code > 0x80) { byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6); byteArray[1] = 0x80 | (code & 0x3F); } else { byteArray[0] = code; } this.parsedData.push(byteArray); } this.parsedData = Array.prototype.concat.apply([], this.parsedData); if (this.parsedData.length != this.data.length) { this.parsedData.unshift(191); this.parsedData.unshift(187); this.parsedData.unshift(239); } } QR8bitByte.prototype = { getLength: function (buffer) { return this.parsedData.length; }, write: function (buffer) { for (var i = 0, l = this.parsedData.length; i < l; i++) { buffer.put(this.parsedData[i], 8); } } }; function QRCodeModel(typeNumber, errorCorrectLevel) { this.typeNumber = typeNumber; this.errorCorrectLevel = errorCorrectLevel; this.modules = null; this.moduleCount = 0; this.dataCache = null; this.dataList = []; } QRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+","+col);} return this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);} if(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);} this.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}} return pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;} for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}} for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}} this.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);} var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;} this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}} row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error("code length overflow. (" +buffer.getLengthInBits() +">" +totalDataCount*8 +")");} if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);} while(buffer.getLengthInBits()%8!=0){buffer.putBit(false);} while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;} buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;} buffer.put(QRCodeModel.PAD1,8);} return QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}} var totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));} return((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));} return(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;} return digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}} for(var row=0;row=256){n-=255;} return QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);} if(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));} this.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]]; function _isSupportCanvas() { return typeof CanvasRenderingContext2D != "undefined"; } // android 2.x doesn't support Data-URI spec function _getAndroid() { var android = false; var sAgent = navigator.userAgent; if (/android/i.test(sAgent)) { // android android = true; var aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i); if (aMat && aMat[1]) { android = parseFloat(aMat[1]); } } return android; } var svgDrawer = (function() { var Drawing = function (el, htOption) { this._el = el; this._htOption = htOption; }; Drawing.prototype.draw = function (oQRCode) { var _htOption = this._htOption; var _el = this._el; var nCount = oQRCode.getModuleCount(); var nWidth = Math.floor(_htOption.width / nCount); var nHeight = Math.floor(_htOption.height / nCount); this.clear(); function makeSVG(tag, attrs) { var el = document.createElementNS('http://www.w3.org/2000/svg', tag); for (var k in attrs) if (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]); return el; } var svg = makeSVG("svg" , {'viewBox': '0 0 ' + String(nCount) + " " + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight}); svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"); _el.appendChild(svg); svg.appendChild(makeSVG("rect", {"fill": _htOption.colorLight, "width": "100%", "height": "100%"})); svg.appendChild(makeSVG("rect", {"fill": _htOption.colorDark, "width": "1", "height": "1", "id": "template"})); for (var row = 0; row < nCount; row++) { for (var col = 0; col < nCount; col++) { if (oQRCode.isDark(row, col)) { var child = makeSVG("use", {"x": String(col), "y": String(row)}); child.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#template") svg.appendChild(child); } } } }; Drawing.prototype.clear = function () { while (this._el.hasChildNodes()) this._el.removeChild(this._el.lastChild); }; return Drawing; })(); var useSVG = document.documentElement.tagName.toLowerCase() === "svg"; // Drawing in DOM by using Table tag var Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () { var Drawing = function (el, htOption) { this._el = el; this._htOption = htOption; }; /** * Draw the QRCode * * @param {QRCode} oQRCode */ Drawing.prototype.draw = function (oQRCode) { var _htOption = this._htOption; var _el = this._el; var nCount = oQRCode.getModuleCount(); var nWidth = Math.floor(_htOption.width / nCount); var nHeight = Math.floor(_htOption.height / nCount); var aHTML = ['']; for (var row = 0; row < nCount; row++) { aHTML.push(''); for (var col = 0; col < nCount; col++) { aHTML.push(''); } aHTML.push(''); } aHTML.push('
'); _el.innerHTML = aHTML.join(''); // Fix the margin values as real size. var elTable = _el.childNodes[0]; var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2; var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2; if (nLeftMarginTable > 0 && nTopMarginTable > 0) { elTable.style.margin = nTopMarginTable + "px " + nLeftMarginTable + "px"; } }; /** * Clear the QRCode */ Drawing.prototype.clear = function () { this._el.innerHTML = ''; }; return Drawing; })() : (function () { // Drawing in Canvas function _onMakeImage() { this._elImage.src = this._elCanvas.toDataURL("image/png"); this._elImage.style.display = "block"; this._elCanvas.style.display = "none"; } // Android 2.1 bug workaround // http://code.google.com/p/android/issues/detail?id=5141 if (this._android && this._android <= 2.1) { var factor = 1 / window.devicePixelRatio; var drawImage = CanvasRenderingContext2D.prototype.drawImage; CanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) { if (("nodeName" in image) && /img/i.test(image.nodeName)) { for (var i = arguments.length - 1; i >= 1; i--) { arguments[i] = arguments[i] * factor; } } else if (typeof dw == "undefined") { arguments[1] *= factor; arguments[2] *= factor; arguments[3] *= factor; arguments[4] *= factor; } drawImage.apply(this, arguments); }; } /** * Check whether the user's browser supports Data URI or not * * @private * @param {Function} fSuccess Occurs if it supports Data URI * @param {Function} fFail Occurs if it doesn't support Data URI */ function _safeSetDataURI(fSuccess, fFail) { var self = this; self._fFail = fFail; self._fSuccess = fSuccess; // Check it just once if (self._bSupportDataURI === null) { var el = document.createElement("img"); var fOnError = function() { self._bSupportDataURI = false; if (self._fFail) { self._fFail.call(self); } }; var fOnSuccess = function() { self._bSupportDataURI = true; if (self._fSuccess) { self._fSuccess.call(self); } }; el.onabort = fOnError; el.onerror = fOnError; el.onload = fOnSuccess; el.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; // the Image contains 1px data. return; } else if (self._bSupportDataURI === true && self._fSuccess) { self._fSuccess.call(self); } else if (self._bSupportDataURI === false && self._fFail) { self._fFail.call(self); } }; /** * Drawing QRCode by using canvas * * @constructor * @param {HTMLElement} el * @param {Object} htOption QRCode Options */ var Drawing = function (el, htOption) { this._bIsPainted = false; this._android = _getAndroid(); this._htOption = htOption; this._elCanvas = document.createElement("canvas"); this._elCanvas.width = htOption.width; this._elCanvas.height = htOption.height; el.appendChild(this._elCanvas); this._el = el; this._oContext = this._elCanvas.getContext("2d"); this._bIsPainted = false; this._elImage = document.createElement("img"); this._elImage.alt = "Scan me!"; this._elImage.style.display = "none"; this._el.appendChild(this._elImage); this._bSupportDataURI = null; }; /** * Draw the QRCode * * @param {QRCode} oQRCode */ Drawing.prototype.draw = function (oQRCode) { var _elImage = this._elImage; var _oContext = this._oContext; var _htOption = this._htOption; var nCount = oQRCode.getModuleCount(); var nWidth = _htOption.width / nCount; var nHeight = _htOption.height / nCount; var nRoundedWidth = Math.round(nWidth); var nRoundedHeight = Math.round(nHeight); _elImage.style.display = "none"; this.clear(); for (var row = 0; row < nCount; row++) { for (var col = 0; col < nCount; col++) { var bIsDark = oQRCode.isDark(row, col); var nLeft = col * nWidth; var nTop = row * nHeight; _oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight; _oContext.lineWidth = 1; _oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight; _oContext.fillRect(nLeft, nTop, nWidth, nHeight); // 안티 앨리어싱 방지 처리 _oContext.strokeRect( Math.floor(nLeft) + 0.5, Math.floor(nTop) + 0.5, nRoundedWidth, nRoundedHeight ); _oContext.strokeRect( Math.ceil(nLeft) - 0.5, Math.ceil(nTop) - 0.5, nRoundedWidth, nRoundedHeight ); } } this._bIsPainted = true; }; /** * Make the image from Canvas if the browser supports Data URI. */ Drawing.prototype.makeImage = function () { if (this._bIsPainted) { _safeSetDataURI.call(this, _onMakeImage); } }; /** * Return whether the QRCode is painted or not * * @return {Boolean} */ Drawing.prototype.isPainted = function () { return this._bIsPainted; }; /** * Clear the QRCode */ Drawing.prototype.clear = function () { this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height); this._bIsPainted = false; }; /** * @private * @param {Number} nNumber */ Drawing.prototype.round = function (nNumber) { if (!nNumber) { return nNumber; } return Math.floor(nNumber * 1000) / 1000; }; return Drawing; })(); /** * Get the type by string length * * @private * @param {String} sText * @param {Number} nCorrectLevel * @return {Number} type */ function _getTypeNumber(sText, nCorrectLevel) { var nType = 1; var length = _getUTF8Length(sText); for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) { var nLimit = 0; switch (nCorrectLevel) { case QRErrorCorrectLevel.L : nLimit = QRCodeLimitLength[i][0]; break; case QRErrorCorrectLevel.M : nLimit = QRCodeLimitLength[i][1]; break; case QRErrorCorrectLevel.Q : nLimit = QRCodeLimitLength[i][2]; break; case QRErrorCorrectLevel.H : nLimit = QRCodeLimitLength[i][3]; break; } if (length <= nLimit) { break; } else { nType++; } } if (nType > QRCodeLimitLength.length) { throw new Error("Too long data"); } return nType; } function _getUTF8Length(sText) { var replacedText = encodeURI(sText).toString().replace(/\%[0-9a-fA-F]{2}/g, 'a'); return replacedText.length + (replacedText.length != sText ? 3 : 0); } /** * @class QRCode * @constructor * @example * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie"); * * @example * var oQRCode = new QRCode("test", { * text : "http://naver.com", * width : 128, * height : 128 * }); * * oQRCode.clear(); // Clear the QRCode. * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode. * * @param {HTMLElement|String} el target element or 'id' attribute of element. * @param {Object|String} vOption * @param {String} vOption.text QRCode link data * @param {Number} [vOption.width=256] * @param {Number} [vOption.height=256] * @param {String} [vOption.colorDark="#000000"] * @param {String} [vOption.colorLight="#ffffff"] * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] */ QRCode = function (el, vOption) { this._htOption = { width : 256, height : 256, typeNumber : 4, colorDark : "#000000", colorLight : "#ffffff", correctLevel : QRErrorCorrectLevel.H }; if (typeof vOption === 'string') { vOption = { text : vOption }; } // Overwrites options if (vOption) { for (var i in vOption) { this._htOption[i] = vOption[i]; } } if (typeof el == "string") { el = document.getElementById(el); } if (this._htOption.useSVG) { Drawing = svgDrawer; } this._android = _getAndroid(); this._el = el; this._oQRCode = null; this._oDrawing = new Drawing(this._el, this._htOption); if (this._htOption.text) { this.makeCode(this._htOption.text); } }; /** * Make the QRCode * * @param {String} sText link data */ QRCode.prototype.makeCode = function (sText) { this._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel); this._oQRCode.addData(sText); this._oQRCode.make(); this._el.title = sText; this._oDrawing.draw(this._oQRCode); this.makeImage(); }; /** * Make the Image from Canvas element * - It occurs automatically * - Android below 3 doesn't support Data-URI spec. * * @private */ QRCode.prototype.makeImage = function () { if (typeof this._oDrawing.makeImage == "function" && (!this._android || this._android >= 3)) { this._oDrawing.makeImage(); } }; /** * Clear the QRCode */ QRCode.prototype.clear = function () { this._oDrawing.clear(); }; /** * @name QRCode.CorrectLevel */ QRCode.CorrectLevel = QRErrorCorrectLevel; return QRCode; })); /***/ }) /******/ ]); }); //# sourceMappingURL=index.umd.js.mapangularx-qrcode-1.0.1/dist/index.umd.js.map000066400000000000000000001423761316351655400206030ustar00rootroot00000000000000{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 8e06d5fb127b42ffd200","webpack:///./src/components/index.ts","webpack:///external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}","webpack:///./src/angularx-qrcode.module.ts","webpack:///./src/components/angularx-qrcode/angularx-qrcode.component.ts","webpack:///./src/components/angularx-qrcode/index.ts","webpack:///./src/index.ts","webpack:///./~/qrcodejs2/qrcode.js"],"names":[],"mappings":"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AAQ,KAAK;AAChL,eAAe,iEAAiE,0BAA0B,+EAA+E,+EAA+E,+EAA+E,+EAA+E,4BAA4B,uBAAuB,eAAe;AACxe,wBAAwB,oBAAoB,iCAAiC,oDAAoD,0BAA0B,YAAY,SAAS,KAAK,2CAA2C,4BAA4B,oBAAoB,sBAAsB,uCAAuC,iCAAiC;AAC9W,SAAS;AACT,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,2HAA2H;AACzJ;AACA;;AAEA,oCAAoC,gEAAgE;AACpG,oCAAoC,2EAA2E;;AAE/G,oBAAoB,cAAc;AAClC,qBAAqB,cAAc;AACnC;AACA,kCAAkC,mCAAmC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yBAAyB;;AAEjE,oBAAoB,cAAc;AAClC;;AAEA,qBAAqB,cAAc;AACnC,qCAAqC,yBAAyB,UAAU,SAAS,uBAAuB,yBAAyB,iGAAiG;AAClO;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,oBAAoB;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,6HAA6H;AACtK;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA,iDAAiD,UAAU;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE,EAAE;AAC1E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB;AACpB,6CAA6C;AAC7C;AACA,YAAY,mBAAmB;AAC/B,YAAY,cAAc;AAC1B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC","file":"index.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ticktock\"] = factory(require(\"@angular/core\"));\n\telse\n\t\troot[\"ticktock\"] = factory(root[\"ng\"][\"core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8e06d5fb127b42ffd200","export * from './angularx-qrcode';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/index.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}\n// module id = 1\n// module chunks = 0 1","import { NgModule } from '@angular/core';\nimport { QRCodeComponent } from './components';\n\n@NgModule({\n providers: [ ],\n declarations: [\n QRCodeComponent,\n ],\n exports: [\n QRCodeComponent,\n ]\n})\nexport class QRCodeModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/angularx-qrcode.module.ts","/// \n\nimport {\n Component,\n Input,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChange,\n ChangeDetectionStrategy\n} from '@angular/core';\n\nimport * as QRCode from 'qrcodejs2';\n\n@Component({\n selector: 'qrcode',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ''\n})\nexport class QRCodeComponent implements OnChanges, OnInit {\n\n /** @internal */\n @Input() public qrdata: string = '';\n @Input() public size: number = 256;\n @Input() public level: string = 'M';\n @Input() public colordark: string = '#000000';\n @Input() public colorlight: string = '#ffffff';\n @Input() public usesvg: boolean = false;\n\n public qrcode: any;\n\n constructor(\n public el: ElementRef\n ) { }\n\n public ngOnInit() {\n try {\n if ( !this.isValidQrCodeText(this.qrdata) ) {\n throw new Error('Empty QR Code data');\n }\n this.qrcode = new QRCode( this.el.nativeElement, {\n colorDark: this.colordark,\n colorLight: this.colorlight,\n correctLevel: QRCode.CorrectLevel[this.level.toString()],\n height: this.size,\n text: this.qrdata,\n useSVG: this.usesvg,\n width: this.size,\n });\n } catch ( e ) {\n console.error('Error generating QR Code: ' + e.message);\n }\n }\n\n public ngOnChanges( changes: {[propertyName: string]: SimpleChange} ) {\n if ( !this.qrcode ) {\n return;\n }\n const qrData = changes['qrdata'];\n if ( qrData && this.isValidQrCodeText(qrData.currentValue) ) {\n this.qrcode.clear();\n this.qrcode.makeCode(qrData.currentValue);\n }\n }\n\n protected isValidQrCodeText( data: string ) {\n return !( typeof data === 'undefined' || data === '' );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/angularx-qrcode/angularx-qrcode.component.ts","export * from './angularx-qrcode.component';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/angularx-qrcode/index.ts","export { QRCodeComponent } from './components';\nexport { QRCodeModule } from './angularx-qrcode.module';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/index.ts","/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @author davidshimjs\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n */\nvar QRCode;\n\n(function (root, factory) {\n\n\t/* CommonJS */\n if (typeof exports == 'object') module.exports = factory()\n\n /* AMD module */\n else if (typeof define == 'function' && define.amd) define(factory)\n\n /* Global */\n else root.QRCode = factory()\n\n}(this, function () {\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn android;\n\t}\n\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(col), \"y\": String(row)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = [''];\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('');\n\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('');\n\t\t\t\t}\n\n\t\t\t\taHTML.push('');\n\t\t\t}\n\n\t\t\taHTML.push('
');\n\t\t\t_el.innerHTML = aHTML.join('');\n\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.display = \"block\";\n\t\t\tthis._elCanvas.style.display = \"none\";\n\t\t}\n\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage;\n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\n\t \tdrawImage.apply(this, arguments);\n\t \t};\n\t\t}\n\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t *\n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t *\n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options\n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.display = \"none\";\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.display = \"none\";\n\t\t\tthis.clear();\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t *\n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\n\t\treturn Drawing;\n\t})();\n\n\t/**\n\t * Get the type by string length\n\t *\n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example\n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t *\n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H]\n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256,\n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\n\t\t}\n\t};\n\n\t/**\n\t * Make the QRCode\n\t *\n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\n\t\tthis.makeImage();\n\t};\n\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t *\n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n\t\n\treturn QRCode;\n\t\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qrcodejs2/qrcode.js\n// module id = 6\n// module chunks = 0 1"],"sourceRoot":""}angularx-qrcode-1.0.1/dist/index.umd.min.js000066400000000000000000000571401316351655400206030ustar00rootroot00000000000000/** * angularx-qrcode - Ionic 3 and Angular4+ QRCode module generator using qrcodejs * @version v1.0.1 * @author Andreas Jacob * @link https://github.com/cordobo/angularx-qrcode#readme * @license MIT */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@angular/core")):"function"==typeof define&&define.amd?define(["@angular/core"],e):"object"==typeof exports?exports.ticktock=e(require("@angular/core")):t.ticktock=e(t.ng.core)}(this,function(t){return function(t){function e(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};return e.m=t,e.c=r,e.i=function(t){return t},e.d=function(t,r,o){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=5)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r])}(r(4))},function(e,r){e.exports=t},function(t,e,r){"use strict";var o=this&&this.__decorate||function(t,e,r,o){var n,i=arguments.length,a=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(i<3?n(a):i>3?n(e,r,a):n(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a};Object.defineProperty(e,"__esModule",{value:!0});var n=r(1),i=r(0),a=function(){function t(){}return t=o([n.NgModule({providers:[],declarations:[i.QRCodeComponent],exports:[i.QRCodeComponent]})],t)}();e.QRCodeModule=a},function(t,e,r){"use strict";var o=this&&this.__decorate||function(t,e,r,o){var n,i=arguments.length,a=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(i<3?n(a):i>3?n(e,r,a):n(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a},n=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var i=r(1),a=r(6),s=function(){function t(t){this.el=t,this.qrdata="",this.size=256,this.level="M",this.colordark="#000000",this.colorlight="#ffffff",this.usesvg=!1}return t.prototype.ngOnInit=function(){try{if(!this.isValidQrCodeText(this.qrdata))throw new Error("Empty QR Code data");this.qrcode=new a(this.el.nativeElement,{colorDark:this.colordark,colorLight:this.colorlight,correctLevel:a.CorrectLevel[this.level.toString()],height:this.size,text:this.qrdata,useSVG:this.usesvg,width:this.size})}catch(t){console.error("Error generating QR Code: "+t.message)}},t.prototype.ngOnChanges=function(t){if(this.qrcode){var e=t.qrdata;e&&this.isValidQrCodeText(e.currentValue)&&(this.qrcode.clear(),this.qrcode.makeCode(e.currentValue))}},t.prototype.isValidQrCodeText=function(t){return!(void 0===t||""===t)},o([i.Input(),n("design:type",String)],t.prototype,"qrdata",void 0),o([i.Input(),n("design:type",Number)],t.prototype,"size",void 0),o([i.Input(),n("design:type",String)],t.prototype,"level",void 0),o([i.Input(),n("design:type",String)],t.prototype,"colordark",void 0),o([i.Input(),n("design:type",String)],t.prototype,"colorlight",void 0),o([i.Input(),n("design:type",Boolean)],t.prototype,"usesvg",void 0),t=o([i.Component({selector:"qrcode",changeDetection:i.ChangeDetectionStrategy.OnPush,template:""}),n("design:paramtypes",[i.ElementRef])],t)}();e.QRCodeComponent=s},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r])}(r(3))},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=r(0);e.QRCodeComponent=o.QRCodeComponent;var n=r(2);e.QRCodeModule=n.QRCodeModule},function(t,e,r){var o;!function(e,r){t.exports=r()}(0,function(){function t(t){this.mode=u.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,r=this.data.length;e65536?(o[0]=240|(1835008&n)>>>18,o[1]=128|(258048&n)>>>12,o[2]=128|(4032&n)>>>6,o[3]=128|63&n):n>2048?(o[0]=224|(61440&n)>>>12,o[1]=128|(4032&n)>>>6,o[2]=128|63&n):n>128?(o[0]=192|(1984&n)>>>6,o[1]=128|63&n):o[0]=n,this.parsedData.push(o)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function r(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var r=0;rp.length)throw new Error("Too long data");return r}function h(t){var e=encodeURI(t).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return e.length+(e.length!=t?3:0)}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;r<=7;r++)if(!(t+r<=-1||this.moduleCount<=t+r))for(var o=-1;o<=7;o++)e+o<=-1||this.moduleCount<=e+o||(this.modules[t+r][e+o]=0<=r&&r<=6&&(0==o||6==o)||0<=o&&o<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=o&&o<=4)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var o=c.getLostPoint(this);(0==r||t>o)&&(t=o,e=r)}return e},createMovieClip:function(t,e,r){var o=t.createEmptyMovieClip(e,r);this.make();for(var n=0;n>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=o}for(var r=0;r<18;r++){var o=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,o=c.getBCHTypeInfo(r),n=0;n<15;n++){var i=!t&&1==(o>>n&1);n<6?this.modules[n][8]=i:n<8?this.modules[n+1][8]=i:this.modules[this.moduleCount-15+n][8]=i}for(var n=0;n<15;n++){var i=!t&&1==(o>>n&1);n<8?this.modules[8][this.moduleCount-n-1]=i:n<9?this.modules[8][15-n-1+1]=i:this.modules[8][15-n-1]=i}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,o=this.moduleCount-1,n=7,i=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[o][a-s]){var h=!1;i>>n&1));var u=c.getMask(e,o,a-s);u&&(h=!h),this.modules[o][a-s]=h,n--,-1==n&&(i++,n=7)}if((o+=r)<0||this.moduleCount<=o){o-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var a=n.getRSBlocks(t,r),s=new i,h=0;h8*l)throw new Error("code length overflow. ("+s.getLengthInBits()+">"+8*l+")");for(s.getLengthInBits()+4<=8*l&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;;){if(s.getLengthInBits()>=8*l)break;if(s.put(e.PAD0,8),s.getLengthInBits()>=8*l)break;s.put(e.PAD1,8)}return e.createBytes(s,a)},e.createBytes=function(t,e){for(var o=0,n=0,i=0,a=new Array(e.length),s=new Array(e.length),h=0;h=0?p.get(v):0}}for(var m=0,f=0;f=0;)e^=c.G15<=0;)e^=c.G18<>>=1;return e},getPatternPosition:function(t){return c.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case f.PATTERN000:return(e+r)%2==0;case f.PATTERN001:return e%2==0;case f.PATTERN010:return r%3==0;case f.PATTERN011:return(e+r)%3==0;case f.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case f.PATTERN101:return e*r%2+e*r%3==0;case f.PATTERN110:return(e*r%2+e*r%3)%2==0;case f.PATTERN111:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new r([1],0),o=0;o5&&(r+=3+i-5)}for(var o=0;o=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},g=0;g<8;g++)d.EXP_TABLE[g]=1<>>7-t%8&1)},put:function(t,e){for(var r=0;r>>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++}};var p=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],v=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){function e(t,e){var r=document.createElementNS("http://www.w3.org/2000/svg",t);for(var o in e)e.hasOwnProperty(o)&&r.setAttribute(o,e[o]);return r}var r=this._htOption,o=this._el,n=t.getModuleCount();Math.floor(r.width/n),Math.floor(r.height/n);this.clear();var i=e("svg",{viewBox:"0 0 "+String(n)+" "+String(n),width:"100%",height:"100%",fill:r.colorLight});i.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),o.appendChild(i),i.appendChild(e("rect",{fill:r.colorLight,width:"100%",height:"100%"})),i.appendChild(e("rect",{fill:r.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a=1;f--)arguments[f]=arguments[f]*r;else void 0===u&&(arguments[1]*=r,arguments[2]*=r,arguments[3]*=r,arguments[4]*=r);o.apply(this,arguments)}}var n=function(t,e){this._bIsPainted=!1,this._android=a(),this._htOption=e,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return n.prototype.draw=function(t){var e=this._elImage,r=this._oContext,o=this._htOption,n=t.getModuleCount(),i=o.width/n,a=o.height/n,s=Math.round(i),h=Math.round(a);e.style.display="none",this.clear();for(var u=0;u'],s=0;s");for(var h=0;h');a.push("")}a.push(""),r.innerHTML=a.join("");var u=r.childNodes[0],l=(e.width-u.offsetWidth)/2,f=(e.height-u.offsetHeight)/2;l>0&&f>0&&(u.style.margin=f+"px "+l+"px")},t.prototype.clear=function(){this._el.innerHTML=""},t}();return o=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:l.H},"string"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];"string"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(_=v),this._android=a(),this._el=t,this._oQRCode=null,this._oDrawing=new _(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},o.prototype.makeCode=function(t){this._oQRCode=new e(s(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},o.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},o.prototype.clear=function(){this._oDrawing.clear()},o.CorrectLevel=l,o})}])}); //# sourceMappingURL=index.umd.min.js.mapangularx-qrcode-1.0.1/dist/index.umd.min.js.map000066400000000000000000003374241316351655400213650ustar00rootroot00000000000000{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///index.umd.min.js","webpack:///webpack/bootstrap 8e06d5fb127b42ffd200?4178","webpack:///./src/components/index.ts?a220","webpack:///external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}?ad34","webpack:///./src/angularx-qrcode.module.ts?c71e","webpack:///./src/components/angularx-qrcode/angularx-qrcode.component.ts?e80f","webpack:///./src/components/angularx-qrcode/index.ts?c5c1","webpack:///./src/index.ts?7e4b","webpack:///./~/qrcodejs2/qrcode.js?378f"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_1__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__decorate","decorators","target","key","desc","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","core_1","components_1","QRCodeModule","NgModule","providers","declarations","QRCodeComponent","__metadata","k","v","metadata","QRCode","el","qrdata","size","level","colordark","colorlight","usesvg","ngOnInit","isValidQrCodeText","Error","qrcode","nativeElement","colorDark","colorLight","correctLevel","CorrectLevel","toString","height","text","useSVG","width","e","console","error","message","ngOnChanges","changes","qrData","currentValue","clear","makeCode","data","Input","String","Number","Boolean","Component","selector","changeDetection","ChangeDetectionStrategy","OnPush","template","ElementRef","angularx_qrcode_module_1","QR8bitByte","mode","QRMode","MODE_8BIT_BYTE","parsedData","byteArray","code","charCodeAt","push","Array","concat","apply","unshift","QRCodeModel","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","QRPolynomial","num","shift","undefined","offset","QRRSBlock","totalCount","dataCount","QRBitBuffer","buffer","_getAndroid","android","sAgent","navigator","userAgent","test","aMat","match","parseFloat","_getTypeNumber","sText","nCorrectLevel","nType","_getUTF8Length","len","QRCodeLimitLength","nLimit","QRErrorCorrectLevel","L","M","Q","H","replacedText","encodeURI","replace","getLength","write","put","addData","newData","isDark","row","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","x","dark","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","j","bits","getBCHTypeNumber","mod","Math","floor","getBCHTypeInfo","inc","bitIndex","byteIndex","mask","getMask","PAD0","PAD1","rsBlocks","getRSBlocks","getLengthInBits","totalDataCount","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","max","rsPoly","getErrorCorrectPolynomial","rawPoly","modPoly","modIndex","totalCodeCount","index","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","a","multiply","QRMath","gexp","type","qrCode","sameCount","count","darkCount","abs","glog","LOG_TABLE","EXP_TABLE","ratio","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","bufIndex","bit","svgDrawer","Drawing","htOption","_el","_htOption","draw","oQRCode","makeSVG","tag","attrs","document","createElementNS","setAttribute","nCount","svg","viewBox","fill","setAttributeNS","appendChild","id","child","hasChildNodes","removeChild","lastChild","documentElement","tagName","toLowerCase","CanvasRenderingContext2D","_onMakeImage","_elImage","src","_elCanvas","toDataURL","style","display","_safeSetDataURI","fSuccess","fFail","self","_fFail","_fSuccess","_bSupportDataURI","createElement","fOnError","fOnSuccess","onabort","onerror","onload","_android","factor","window","devicePixelRatio","drawImage","image","sx","sy","sw","sh","dx","dy","dw","dh","nodeName","_bIsPainted","_oContext","getContext","alt","nWidth","nHeight","nRoundedWidth","round","nRoundedHeight","bIsDark","nLeft","nTop","strokeStyle","lineWidth","fillStyle","fillRect","strokeRect","ceil","makeImage","isPainted","clearRect","nNumber","aHTML","innerHTML","join","elTable","childNodes","nLeftMarginTable","offsetWidth","nTopMarginTable","offsetHeight","margin","vOption","getElementById","_oQRCode","_oDrawing","title"],"mappings":"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","file":"index.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ticktock\"] = factory(require(\"@angular/core\"));\n\telse\n\t\troot[\"ticktock\"] = factory(root[\"ng\"][\"core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ticktock\"] = factory(require(\"@angular/core\"));\n\telse\n\t\troot[\"ticktock\"] = factory(root[\"ng\"][\"core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(4));\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = __webpack_require__(1);\r\nvar components_1 = __webpack_require__(0);\r\nvar QRCodeModule = /** @class */ (function () {\r\n function QRCodeModule() {\r\n }\r\n QRCodeModule = __decorate([\r\n core_1.NgModule({\r\n providers: [],\r\n declarations: [\r\n components_1.QRCodeComponent,\r\n ],\r\n exports: [\r\n components_1.QRCodeComponent,\r\n ]\r\n })\r\n ], QRCodeModule);\r\n return QRCodeModule;\r\n}());\r\nexports.QRCodeModule = QRCodeModule;\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/// \r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = __webpack_require__(1);\r\nvar QRCode = __webpack_require__(6);\r\nvar QRCodeComponent = /** @class */ (function () {\r\n function QRCodeComponent(el) {\r\n this.el = el;\r\n /** @internal */\r\n this.qrdata = '';\r\n this.size = 256;\r\n this.level = 'M';\r\n this.colordark = '#000000';\r\n this.colorlight = '#ffffff';\r\n this.usesvg = false;\r\n }\r\n QRCodeComponent.prototype.ngOnInit = function () {\r\n try {\r\n if (!this.isValidQrCodeText(this.qrdata)) {\r\n throw new Error('Empty QR Code data');\r\n }\r\n this.qrcode = new QRCode(this.el.nativeElement, {\r\n colorDark: this.colordark,\r\n colorLight: this.colorlight,\r\n correctLevel: QRCode.CorrectLevel[this.level.toString()],\r\n height: this.size,\r\n text: this.qrdata,\r\n useSVG: this.usesvg,\r\n width: this.size,\r\n });\r\n }\r\n catch (e) {\r\n console.error('Error generating QR Code: ' + e.message);\r\n }\r\n };\r\n QRCodeComponent.prototype.ngOnChanges = function (changes) {\r\n if (!this.qrcode) {\r\n return;\r\n }\r\n var qrData = changes['qrdata'];\r\n if (qrData && this.isValidQrCodeText(qrData.currentValue)) {\r\n this.qrcode.clear();\r\n this.qrcode.makeCode(qrData.currentValue);\r\n }\r\n };\r\n QRCodeComponent.prototype.isValidQrCodeText = function (data) {\r\n return !(typeof data === 'undefined' || data === '');\r\n };\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", String)\r\n ], QRCodeComponent.prototype, \"qrdata\", void 0);\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", Number)\r\n ], QRCodeComponent.prototype, \"size\", void 0);\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", String)\r\n ], QRCodeComponent.prototype, \"level\", void 0);\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", String)\r\n ], QRCodeComponent.prototype, \"colordark\", void 0);\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", String)\r\n ], QRCodeComponent.prototype, \"colorlight\", void 0);\r\n __decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", Boolean)\r\n ], QRCodeComponent.prototype, \"usesvg\", void 0);\r\n QRCodeComponent = __decorate([\r\n core_1.Component({\r\n selector: 'qrcode',\r\n changeDetection: core_1.ChangeDetectionStrategy.OnPush,\r\n template: ''\r\n }),\r\n __metadata(\"design:paramtypes\", [core_1.ElementRef])\r\n ], QRCodeComponent);\r\n return QRCodeComponent;\r\n}());\r\nexports.QRCodeComponent = QRCodeComponent;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(3));\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar components_1 = __webpack_require__(0);\r\nexports.QRCodeComponent = components_1.QRCodeComponent;\r\nvar angularx_qrcode_module_1 = __webpack_require__(2);\r\nexports.QRCodeModule = angularx_qrcode_module_1.QRCodeModule;\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @author davidshimjs\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n */\nvar QRCode;\n\n(function (root, factory) {\n\n\t/* CommonJS */\n if (true) module.exports = factory()\n\n /* AMD module */\n else if (typeof define == 'function' && define.amd) define(factory)\n\n /* Global */\n else root.QRCode = factory()\n\n}(this, function () {\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn android;\n\t}\n\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(col), \"y\": String(row)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = [''];\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('');\n\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('');\n\t\t\t\t}\n\n\t\t\t\taHTML.push('');\n\t\t\t}\n\n\t\t\taHTML.push('
');\n\t\t\t_el.innerHTML = aHTML.join('');\n\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.display = \"block\";\n\t\t\tthis._elCanvas.style.display = \"none\";\n\t\t}\n\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage;\n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\n\t \tdrawImage.apply(this, arguments);\n\t \t};\n\t\t}\n\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t *\n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t *\n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options\n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.display = \"none\";\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.display = \"none\";\n\t\t\tthis.clear();\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t *\n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\n\t\treturn Drawing;\n\t})();\n\n\t/**\n\t * Get the type by string length\n\t *\n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example\n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t *\n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H]\n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256,\n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\n\t\t}\n\t};\n\n\t/**\n\t * Make the QRCode\n\t *\n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\n\t\tthis.makeImage();\n\t};\n\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t *\n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n\t\n\treturn QRCode;\n\t\n}));\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// index.umd.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8e06d5fb127b42ffd200","export * from './angularx-qrcode';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/index.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}\n// module id = 1\n// module chunks = 0 1","import { NgModule } from '@angular/core';\nimport { QRCodeComponent } from './components';\n\n@NgModule({\n providers: [ ],\n declarations: [\n QRCodeComponent,\n ],\n exports: [\n QRCodeComponent,\n ]\n})\nexport class QRCodeModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/angularx-qrcode.module.ts","/// \n\nimport {\n Component,\n Input,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChange,\n ChangeDetectionStrategy\n} from '@angular/core';\n\nimport * as QRCode from 'qrcodejs2';\n\n@Component({\n selector: 'qrcode',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ''\n})\nexport class QRCodeComponent implements OnChanges, OnInit {\n\n /** @internal */\n @Input() public qrdata: string = '';\n @Input() public size: number = 256;\n @Input() public level: string = 'M';\n @Input() public colordark: string = '#000000';\n @Input() public colorlight: string = '#ffffff';\n @Input() public usesvg: boolean = false;\n\n public qrcode: any;\n\n constructor(\n public el: ElementRef\n ) { }\n\n public ngOnInit() {\n try {\n if ( !this.isValidQrCodeText(this.qrdata) ) {\n throw new Error('Empty QR Code data');\n }\n this.qrcode = new QRCode( this.el.nativeElement, {\n colorDark: this.colordark,\n colorLight: this.colorlight,\n correctLevel: QRCode.CorrectLevel[this.level.toString()],\n height: this.size,\n text: this.qrdata,\n useSVG: this.usesvg,\n width: this.size,\n });\n } catch ( e ) {\n console.error('Error generating QR Code: ' + e.message);\n }\n }\n\n public ngOnChanges( changes: {[propertyName: string]: SimpleChange} ) {\n if ( !this.qrcode ) {\n return;\n }\n const qrData = changes['qrdata'];\n if ( qrData && this.isValidQrCodeText(qrData.currentValue) ) {\n this.qrcode.clear();\n this.qrcode.makeCode(qrData.currentValue);\n }\n }\n\n protected isValidQrCodeText( data: string ) {\n return !( typeof data === 'undefined' || data === '' );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/angularx-qrcode/angularx-qrcode.component.ts","export * from './angularx-qrcode.component';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/components/angularx-qrcode/index.ts","export { QRCodeComponent } from './components';\nexport { QRCodeModule } from './angularx-qrcode.module';\n\n\n\n// WEBPACK FOOTER //\n// ./~/angular2-template-loader!./src/index.ts","/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @author davidshimjs\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n */\nvar QRCode;\n\n(function (root, factory) {\n\n\t/* CommonJS */\n if (typeof exports == 'object') module.exports = factory()\n\n /* AMD module */\n else if (typeof define == 'function' && define.amd) define(factory)\n\n /* Global */\n else root.QRCode = factory()\n\n}(this, function () {\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn android;\n\t}\n\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(col), \"y\": String(row)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = [''];\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('');\n\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('');\n\t\t\t\t}\n\n\t\t\t\taHTML.push('');\n\t\t\t}\n\n\t\t\taHTML.push('
');\n\t\t\t_el.innerHTML = aHTML.join('');\n\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.display = \"block\";\n\t\t\tthis._elCanvas.style.display = \"none\";\n\t\t}\n\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage;\n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\n\t \tdrawImage.apply(this, arguments);\n\t \t};\n\t\t}\n\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t *\n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t *\n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options\n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.display = \"none\";\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\n\t\t/**\n\t\t * Draw the QRCode\n\t\t *\n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.display = \"none\";\n\t\t\tthis.clear();\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t *\n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\n\t\treturn Drawing;\n\t})();\n\n\t/**\n\t * Get the type by string length\n\t *\n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example\n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t *\n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H]\n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256,\n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\n\t\t}\n\t};\n\n\t/**\n\t * Make the QRCode\n\t *\n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\n\t\tthis.makeImage();\n\t};\n\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t *\n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n\t\n\treturn QRCode;\n\t\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qrcodejs2/qrcode.js\n// module id = 6\n// module chunks = 0 1"],"sourceRoot":""}angularx-qrcode-1.0.1/gulpfile.js000066400000000000000000000033101316351655400167600ustar00rootroot00000000000000const gulp = require('gulp'); const sass = require('node-sass'); const inlineTemplates = require('gulp-inline-ng2-template'); const exec = require('child_process').exec; /** * Inline templates configuration. * @see https://github.com/ludohenin/gulp-inline-ng2-template */ const INLINE_TEMPLATES = { SRC: './src/**/*.ts', DIST: './tmp/src-inlined', CONFIG: { base: '/src', target: 'es6', useRelativePaths: true, styleProcessor: compileSass } }; /** * Inline external HTML and SCSS templates into Angular component files. * @see: https://github.com/ludohenin/gulp-inline-ng2-template */ gulp.task('inline-templates', () => { return gulp.src(INLINE_TEMPLATES.SRC) .pipe(inlineTemplates(INLINE_TEMPLATES.CONFIG)) .pipe(gulp.dest(INLINE_TEMPLATES.DIST)); }); /** * Build ESM by running npm task. * This is a temporary solution until ngc is supported --watch mode. * @see: https://github.com/angular/angular/issues/12867 */ gulp.task('build:esm', ['inline-templates'], (callback) => { exec('npm run ngcompile', function (error, stdout, stderr) { console.log(stdout, stderr); callback(error) }); }); /** * Implements ESM build watch mode. * This is a temporary solution until ngc is supported --watch mode. * @see: https://github.com/angular/angular/issues/12867 */ gulp.task('build:esm:watch', ['build:esm'], () => { gulp.watch('src/**/*', ['build:esm']); }); /** * Compile SASS to CSS. * @see https://github.com/ludohenin/gulp-inline-ng2-template * @see https://github.com/sass/node-sass */ function compileSass(path, ext, file, callback) { let compiledCss = sass.renderSync({ file: path, outputStyle: 'compressed', }); callback(null, compiledCss.css); } angularx-qrcode-1.0.1/package.json000077500000000000000000000073511316351655400171150ustar00rootroot00000000000000{ "name": "angularx-qrcode", "version": "1.0.1", "author": { "name": "Andreas Jacob ", "url": "http://cordobo.com/" }, "description": "Ionic 3 and Angular4+ QRCode module generator using qrcodejs", "main": "./dist/index.umd.js", "module": "./dist/index.js", "typings": "./dist/index.d.ts", "license": "MIT", "keywords": [ "angularx-qrcode", "angular-qrcode", "ng-qrcode", "angular", "angular4", "ionic", "ionic3", "aot", "aot-compatible", "aot-compilation", "library", "ng", "typescript" ], "repository": { "type": "git", "url": "https://github.com/cordobo/angularx-qrcode.git" }, "bugs": { "url": "https://github.com/cordobo/angularx-qrcode/issues" }, "homepage": "https://github.com/cordobo/angularx-qrcode#readme", "scripts": { "build": "npm run build:esm && npm run build:umd", "build:esm": "npm run ngcompile", "build:esm:watch": "gulp build:esm:watch", "build:umd": "webpack --config webpack-umd.config.ts", "build:umd:watch": "npm run build:umd -- --watch", "build:watch": "concurrently --raw \"npm run build:umd:watch\" \"npm run build:esm:watch\"", "ci": "npm run lint && npm run build && npm run docs", "ci_fix": "npm run lint && npm run test && npm run build && npm run docs", "clean:all": "npm run clean:tmp && rimraf node_modules", "clean:tmp": "rimraf coverage dist tmp docs", "codecov": "cat coverage/lcov.info | codecov", "docs": "compodoc -p tsconfig.json -d docs --disableCoverage --disablePrivateOrInternalSupport", "explorer": "source-map-explorer ./dist/index.umd.js", "gh-pages": "rimraf docs && npm run docs && gh-pages -d docs", "lint": "npm run tslint 'src/**/*.ts'", "ngcompile": "node_modules/.bin/ngc -p tsconfig-aot.json", "postversion": "git push && git push --tags", "prebuild": "rimraf dist tmp", "prebuild:watch": "rimraf dist tmp", "prepublishOnly": "npm run ci", "preversion": "npm run ci", "test": "karma start", "test:watch": "karma start --auto-watch --no-single-run", "tslint": "tslint" }, "dependencies": { "qrcodejs2": "0.0.2" }, "peerDependencies": { "@angular/common": "^4.0.0", "@angular/core": "^4.0.0" }, "devDependencies": { "@angular/common": "^4.0.0", "@angular/compiler": "^4.0.0", "@angular/compiler-cli": "^4.0.0", "@angular/core": "^4.0.0", "@angular/platform-browser": "^4.0.0", "@angular/platform-browser-dynamic": "^4.0.0", "@compodoc/compodoc": "^1.0.0-beta.9", "@types/jasmine": "^2.5.47", "@types/karma": "^0.13.35", "@types/node": "^7.0.18", "@types/webpack": "^2.2.15", "@types/webpack-env": "^1.13.0", "angular2-template-loader": "^0.6.2", "awesome-typescript-loader": "^3.1.3", "codecov": "^2.2.0", "codelyzer": "^3.0.1", "concurrently": "^3.4.0", "css-loader": "^0.28.1", "gh-pages": "^1.0.0", "gulp": "^3.9.1", "gulp-inline-ng2-template": "^4.0.0", "istanbul-instrumenter-loader": "^2.0.0", "jasmine-core": "^2.6.1", "json-loader": "^0.5.4", "karma": "^1.7.0", "karma-chrome-launcher": "^2.1.1", "karma-coverage-istanbul-reporter": "^1.2.1", "karma-jasmine": "^1.1.0", "karma-mocha-reporter": "^2.2.3", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^2.0.3", "node-sass": "^4.5.2", "raw-loader": "^0.5.1", "rimraf": "2.6.1", "rxjs": "^5.3.1", "sass-loader": "^6.0.5", "source-map-explorer": "^1.3.3", "to-string-loader": "^1.1.5", "ts-node": "^3.0.4", "tslint": "^5.2.0", "typescript": "^2.3.2", "webpack": "^2.5.1", "webpack-angular-externals": "^1.0.2", "webpack-rxjs-externals": "^1.0.0", "zone.js": "^0.8.10" } } angularx-qrcode-1.0.1/src/000077500000000000000000000000001316351655400154055ustar00rootroot00000000000000angularx-qrcode-1.0.1/src/angularx-qrcode.module.ts000066400000000000000000000003541316351655400223370ustar00rootroot00000000000000import { NgModule } from '@angular/core'; import { QRCodeComponent } from './components'; @NgModule({ providers: [ ], declarations: [ QRCodeComponent, ], exports: [ QRCodeComponent, ] }) export class QRCodeModule { } angularx-qrcode-1.0.1/src/components/000077500000000000000000000000001316351655400175725ustar00rootroot00000000000000angularx-qrcode-1.0.1/src/components/angularx-qrcode/000077500000000000000000000000001316351655400226665ustar00rootroot00000000000000angularx-qrcode-1.0.1/src/components/angularx-qrcode/angularx-qrcode.component.d.ts000066400000000000000000000000341316351655400305520ustar00rootroot00000000000000declare module 'qrcodejs2'; angularx-qrcode-1.0.1/src/components/angularx-qrcode/angularx-qrcode.component.spec.ts000066400000000000000000000011751316351655400312700ustar00rootroot00000000000000import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { QRCodeComponent } from './angularx-qrcode.component'; describe('QRCodeComponent', () => { let component: QRCodeComponent; let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ QRCodeComponent ] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(QRCodeComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); }); angularx-qrcode-1.0.1/src/components/angularx-qrcode/angularx-qrcode.component.ts000066400000000000000000000032521316351655400303350ustar00rootroot00000000000000/// import { Component, Input, ElementRef, OnChanges, OnInit, SimpleChange, ChangeDetectionStrategy } from '@angular/core'; import * as QRCode from 'qrcodejs2'; @Component({ selector: 'qrcode', changeDetection: ChangeDetectionStrategy.OnPush, template: '' }) export class QRCodeComponent implements OnChanges, OnInit { /** @internal */ @Input() public qrdata: string = ''; @Input() public size: number = 256; @Input() public level: string = 'M'; @Input() public colordark: string = '#000000'; @Input() public colorlight: string = '#ffffff'; @Input() public usesvg: boolean = false; public qrcode: any; constructor( public el: ElementRef ) { } public ngOnInit() { try { if ( !this.isValidQrCodeText(this.qrdata) ) { throw new Error('Empty QR Code data'); } this.qrcode = new QRCode( this.el.nativeElement, { colorDark: this.colordark, colorLight: this.colorlight, correctLevel: QRCode.CorrectLevel[this.level.toString()], height: this.size, text: this.qrdata, useSVG: this.usesvg, width: this.size, }); } catch ( e ) { console.error('Error generating QR Code: ' + e.message); } } public ngOnChanges( changes: {[propertyName: string]: SimpleChange} ) { if ( !this.qrcode ) { return; } const qrData = changes['qrdata']; if ( qrData && this.isValidQrCodeText(qrData.currentValue) ) { this.qrcode.clear(); this.qrcode.makeCode(qrData.currentValue); } } protected isValidQrCodeText( data: string ) { return !( typeof data === 'undefined' || data === '' ); } } angularx-qrcode-1.0.1/src/components/angularx-qrcode/index.ts000066400000000000000000000000551316351655400243450ustar00rootroot00000000000000export * from './angularx-qrcode.component'; angularx-qrcode-1.0.1/src/components/angularx-qrcode/qrcodejs2.d.ts000066400000000000000000000007471316351655400253640ustar00rootroot00000000000000declare module 'qrcodejs2'; declare class QRCode { public static CorrectLevel: { H: 2; L: 1; M: 0; Q: 3; }; constructor(el: HTMLElement, optionsOrText: string | { colorDark?: string; colorLight?: string; correctLevel?: 0|1|2|3; height?: number; text?: string; width?: number; }); protected clear(): void; protected makeCode(text: string): void; protected makeImage(): void; } angularx-qrcode-1.0.1/src/components/index.ts000066400000000000000000000000431316351655400212460ustar00rootroot00000000000000export * from './angularx-qrcode'; angularx-qrcode-1.0.1/src/index.ts000066400000000000000000000001511316351655400170610ustar00rootroot00000000000000export { QRCodeComponent } from './components'; export { QRCodeModule } from './angularx-qrcode.module'; angularx-qrcode-1.0.1/tsconfig-aot.json000077500000000000000000000012401316351655400201060ustar00rootroot00000000000000{ "compilerOptions": { "target": "es5", "module": "es2015", "moduleResolution": "node", "sourceMap": true, "declaration": true, "removeComments": false, "noImplicitAny": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "allowUnreachableCode": false, "allowUnusedLabels": false, "pretty": true, "stripInternal": true, "skipLibCheck": true, "outDir": "dist", "types": [] }, "files": [ "./src/index.ts" ], "angularCompilerOptions": { "genDir": "dist", "debug": false, "skipTemplateCodegen": true, "skipMetadataEmit": false, "strictMetadataEmit": true } } angularx-qrcode-1.0.1/tsconfig.json000066400000000000000000000011441316351655400173250ustar00rootroot00000000000000{ "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "noEmit": true, "sourceMap": true, "declaration": false, "noImplicitAny": false, "experimentalDecorators": true, "emitDecoratorMetadata": true, "lib": [ "es2015", "dom" ], "typeRoots" : [ "./node_modules/@types" ], "types": [ "jasmine", "karma", "node", "webpack", "webpack-env" ] }, "include": [ "src/**/*.ts" ], "exclude": [ "src/**/*.spec.ts", "node_modules", "demo", "dist" ] } angularx-qrcode-1.0.1/tslint.json000066400000000000000000000020711316351655400170260ustar00rootroot00000000000000{ "extends": ["tslint:recommended"], "rulesDirectory": ["node_modules/codelyzer"], "rules": { "component-class-suffix": true, "directive-class-suffix": true, "interface-name": false, "invoke-injectable": true, "max-line-length": [true, 100], "no-access-missing-member": false, "no-attribute-parameter-decorator": true, "no-console": [true, "time", "timeEnd", "trace"], "no-forward-ref": true, "no-input-rename": true, "no-output-rename": true, "no-reference": false, "no-string-literal": false, "object-literal-sort-keys": false, "ordered-imports": false, "pipe-naming": [true, "camelCase", "my"], "quotemark": [true, "single", "avoid-escape"], "trailing-comma": [false, {"multiline": "always", "singleline": "never"}], "use-host-property-decorator": true, "use-input-property-decorator": true, "use-output-property-decorator": true, "use-pipe-transform-interface": true, "variable-name": [true, "allow-leading-underscore", "ban-keywords", "check-format", "allow-pascal-case"] } } angularx-qrcode-1.0.1/webpack-test.config.ts000077500000000000000000000025311316351655400210270ustar00rootroot00000000000000import * as webpack from 'webpack'; import * as path from 'path'; export default { resolve: { extensions: [ '.ts', '.js', '.json' ] }, module: { rules: [ { test: /\.ts$/, use: [ { loader: 'awesome-typescript-loader', options: { configFileName: 'tsconfig.json' } }, { loader: 'angular2-template-loader' } ], exclude: [ /\.e2e\.ts$/, /node_modules/ ] }, { test: /.ts$/, exclude: /(node_modules|\.spec\.ts|\.e2e\.ts$)/, loader: 'istanbul-instrumenter-loader', enforce: 'post' }, { test: /\.json$/, use: 'json-loader' }, { test: /\.css$/, use: ['to-string-loader', 'css-loader'] }, { test: /\.scss$/, use: ['to-string-loader', 'css-loader', 'sass-loader'] }, { test: /\.html$/, use: 'raw-loader' } ] }, plugins: [ new webpack.SourceMapDevToolPlugin({ filename: null, test: /\.(ts|js)($|\?)/i }), new webpack.ContextReplacementPlugin( /angular(\\|\/)core(\\|\/)@angular/, path.join(__dirname, 'src') ), new webpack.NoEmitOnErrorsPlugin() ] } as webpack.Configuration; angularx-qrcode-1.0.1/webpack-umd.config.ts000066400000000000000000000036511316351655400206360ustar00rootroot00000000000000import * as webpack from 'webpack'; import * as path from 'path'; import * as fs from 'fs'; import * as angularExternals from 'webpack-angular-externals'; import * as rxjsExternals from 'webpack-rxjs-externals'; const pkg = JSON.parse(fs.readFileSync('./package.json').toString()); export default { entry: { 'index.umd': './src/index.ts', 'index.umd.min': './src/index.ts', }, output: { path: path.join(__dirname, 'dist'), filename: '[name].js', libraryTarget: 'umd', library: 'ticktock' }, resolve: { extensions: [ '.ts', '.js', '.json' ] }, externals: [ angularExternals(), rxjsExternals() ], devtool: 'source-map', module: { rules: [ { test: /\.ts$/, use: [ { loader: 'awesome-typescript-loader', options: { configFileName: 'tsconfig.json' } }, { loader: 'angular2-template-loader' } ], exclude: [ /node_modules/, /\.(spec|e2e)\.ts$/ ] }, { test: /\.json$/, use: 'json-loader' }, { test: /\.css$/, use: ['to-string-loader', 'css-loader'] }, { test: /\.scss$/, use: ['to-string-loader', 'css-loader', 'sass-loader'] }, { test: /\.html$/, use: 'raw-loader' } ] }, plugins: [ new webpack.ContextReplacementPlugin( /angular(\\|\/)core(\\|\/)@angular/, path.join(__dirname, 'src') ), new webpack.optimize.UglifyJsPlugin({ include: /\.min\.js$/, sourceMap: true }), new webpack.BannerPlugin({ banner: ` /** * ${pkg.name} - ${pkg.description} * @version v${pkg.version} * @author ${pkg.author.name} * @link ${pkg.homepage} * @license ${pkg.license} */ `.trim(), raw: true, entryOnly: true }) ] } as webpack.Configuration;