@progress/kendo-angular-barcodes 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cdn/main.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-common"),require("@progress/kendo-charts"),require("@progress/kendo-drawing"),require("@progress/kendo-licensing")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-angular-common","@progress/kendo-charts","@progress/kendo-drawing","@progress/kendo-licensing"],t):"object"==typeof exports?exports.KendoAngularBarcodes=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-common"),require("@progress/kendo-charts"),require("@progress/kendo-drawing"),require("@progress/kendo-licensing")):e.KendoAngularBarcodes=t(e.tslib,e["@angular/core"],e["@progress/kendo-angular-common"],e["@progress/kendo-charts"],e["@progress/kendo-drawing"],e["@progress/kendo-licensing"])}(window,(function(e,t,o,r,n,i){return function(e){var t={};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(r,n,function(t){return e[t]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=9)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t){e.exports=o},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(4),a=function(e){function t(t,o,r){var n=e.call(this,t,o,r)||this;return n.element=t,n.renderer=o,n.ngZone=r,n.resizeRateLimit=10,n}return r.__extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return{renderAs:this.renderAs,background:this.background,border:this.border,checksum:this.checksum,color:this.color,height:this.height,padding:this.padding,text:this.text,type:this.type,value:this.value,width:this.width}},enumerable:!0,configurable:!0}),t.prototype.createInstance=function(e,t){return new i.Barcode(e,t)},r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"background",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"border",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Boolean)],t.prototype,"checksum",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"color",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"height",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"padding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"renderAs",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"text",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"type",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"value",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"width",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"resizeRateLimit",void 0),t=r.__decorate([n.Component({changeDetection:n.ChangeDetectionStrategy.OnPush,exportAs:"kendoBarcode",selector:"kendo-barcode",template:'\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}),r.__metadata("design:paramtypes",[n.ElementRef,n.Renderer2,n.NgZone])],t)}(o(5).BaseComponent);t.BarcodeComponent=a},function(e,t){e.exports=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(2),a=o(10),d=o(11),s=o(12),p=function(){function e(e,t,o){this.element=e,this.renderer=t,this.ngZone=o,this.resizeRateLimit=10,d.validatePackage(s.packageMetadata)}return Object.defineProperty(e.prototype,"autoResize",{get:function(){return this.resizeRateLimit>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canRender",{get:function(){return i.isDocumentAvailable()&&Boolean(this.element)},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.refresh()},e.prototype.ngOnChanges=function(e){e.renderAs&&this.instance&&(this.instance.destroy(),this.instance=null),this.refresh()},e.prototype.resize=function(){this.instance&&this.instance.redraw()},e.prototype.onResize=function(){this.autoResize&&this.resize()},e.prototype.exportImage=function(e){return void 0===e&&(e={}),a.exportImage(this.exportVisual(),e)},e.prototype.exportSVG=function(e){return void 0===e&&(e={}),a.exportSVG(this.exportVisual(),e)},e.prototype.exportVisual=function(){return this.instance.exportVisual()},e.prototype.refresh=function(){if(this.canRender)if(this.instance)this.instance.setOptions(this.options);else{var e=this.element.nativeElement;this.instance=this.createInstance(e,this.options)}},r.__decorate([n.Input(),r.__metadata("design:type",Number)],e.prototype,"resizeRateLimit",void 0),r.__decorate([n.ViewChild("surface",{static:!0}),r.__metadata("design:type",n.ElementRef)],e.prototype,"surfaceElement",void 0),e}();t.BaseComponent=p},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(4),a=o(5),d=function(e){function t(t,o,r){var n=e.call(this,t,o,r)||this;return n.element=t,n.renderer=o,n.ngZone=r,n.resizeRateLimit=10,n}return r.__extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return{background:this.background||"#fff",border:this.border,color:this.color||"#000",encoding:this.encoding,errorCorrection:this.errorCorrection||"L",overlay:this.overlay||{},padding:this.padding,renderAs:this.renderAs,size:this.size,value:this.value}},enumerable:!0,configurable:!0}),t.prototype.createInstance=function(e,t){return new i.QRCode(e,t)},r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"background",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"border",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"color",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"encoding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"errorCorrection",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"overlay",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"padding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"renderAs",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"size",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"value",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"resizeRateLimit",void 0),t=r.__decorate([n.Component({changeDetection:n.ChangeDetectionStrategy.OnPush,selector:"kendo-qrcode",exportAs:"kendoQRCode",template:'\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}),r.__metadata("design:paramtypes",[n.ElementRef,n.Renderer2,n.NgZone])],t)}(a.BaseComponent);t.QRCodeComponent=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(2),a=o(3),d=function(){function e(){}return e=r.__decorate([n.NgModule({declarations:[a.BarcodeComponent],imports:[i.ResizeSensorModule],exports:[a.BarcodeComponent]})],e)}();t.BarcodeModule=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(2),a=o(6),d=function(){function e(){}return e=r.__decorate([n.NgModule({declarations:[a.QRCodeComponent],imports:[i.ResizeSensorModule],exports:[a.QRCodeComponent]})],e)}();t.QRCodeModule=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(3);t.BarcodeComponent=r.BarcodeComponent;var n=o(6);t.QRCodeComponent=n.QRCodeComponent;var i=o(7);t.BarcodeModule=i.BarcodeModule;var a=o(8);t.QRCodeModule=a.QRCodeModule;var d=o(13);t.BarcodesModule=d.BarcodesModule},function(e,t){e.exports=n},function(e,t){e.exports=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-barcodes",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1638963198,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(7),a=o(8),d=function(){function e(){}return e=r.__decorate([n.NgModule({exports:[i.BarcodeModule,a.QRCodeModule]})],e)}();t.BarcodesModule=d}])}));
5
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-charts"),require("@progress/kendo-angular-common"),require("@progress/kendo-drawing"),require("@progress/kendo-licensing")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-charts","@progress/kendo-angular-common","@progress/kendo-drawing","@progress/kendo-licensing"],t):"object"==typeof exports?exports.KendoAngularBarcodes=t(require("tslib"),require("@angular/core"),require("@progress/kendo-charts"),require("@progress/kendo-angular-common"),require("@progress/kendo-drawing"),require("@progress/kendo-licensing")):e.KendoAngularBarcodes=t(e.tslib,e["@angular/core"],e["@progress/kendo-charts"],e["@progress/kendo-angular-common"],e["@progress/kendo-drawing"],e["@progress/kendo-licensing"])}(window,(function(e,t,o,r,n,i){return function(e){var t={};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(r,n,function(t){return e[t]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=10)}([function(t,o){t.exports=e},function(e,o){e.exports=t},function(e,t){e.exports=o},function(e,t){e.exports=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-barcodes",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1641993026,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(2),a=o(6),d=o(4),s=function(e){function t(t,o,r){var n=e.call(this,t,o,r)||this;return n.element=t,n.renderer=o,n.ngZone=r,n.resizeRateLimit=10,n}return r.__extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return{renderAs:this.renderAs,background:this.background,border:this.border,checksum:this.checksum,color:this.color,height:this.height,padding:this.padding,text:this.text,type:this.type,value:this.value,width:this.width}},enumerable:!0,configurable:!0}),t.prototype.createInstance=function(e,t){return new i.Barcode(e,t,this.onError.bind(this))},t.prototype.onError=function(e){if(e.name=d.packageMetadata.productName+" Barcode",this.isDevMode())throw e;console.warn(e)},r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"background",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"border",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Boolean)],t.prototype,"checksum",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"color",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"height",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"padding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"renderAs",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"text",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"type",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"value",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"width",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"resizeRateLimit",void 0),t=r.__decorate([n.Component({changeDetection:n.ChangeDetectionStrategy.OnPush,exportAs:"kendoBarcode",selector:"kendo-barcode",template:'\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}),r.__metadata("design:paramtypes",[n.ElementRef,n.Renderer2,n.NgZone])],t)}(a.BaseComponent);t.BarcodeComponent=s},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(3),a=o(11),d=o(12),s=o(4),u=function(){function e(e,t,o){this.element=e,this.renderer=t,this.ngZone=o,this.resizeRateLimit=10,d.validatePackage(s.packageMetadata)}return Object.defineProperty(e.prototype,"autoResize",{get:function(){return this.resizeRateLimit>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canRender",{get:function(){return i.isDocumentAvailable()&&Boolean(this.element)},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.refresh()},e.prototype.ngOnChanges=function(e){e.renderAs&&this.instance&&(this.instance.destroy(),this.instance=null),this.refresh()},e.prototype.resize=function(){this.instance&&this.instance.redraw()},e.prototype.onResize=function(){this.autoResize&&this.resize()},e.prototype.exportImage=function(e){return void 0===e&&(e={}),a.exportImage(this.exportVisual(),e)},e.prototype.exportSVG=function(e){return void 0===e&&(e={}),a.exportSVG(this.exportVisual(),e)},e.prototype.exportVisual=function(){return this.instance.exportVisual()},e.prototype.refresh=function(){if(this.canRender)if(this.instance)this.instance.setOptions(this.options);else{var e=this.element.nativeElement;this.instance=this.createInstance(e,this.options)}},e.prototype.isDevMode=function(){return n.isDevMode()},r.__decorate([n.Input(),r.__metadata("design:type",Number)],e.prototype,"resizeRateLimit",void 0),r.__decorate([n.ViewChild("surface",{static:!0}),r.__metadata("design:type",n.ElementRef)],e.prototype,"surfaceElement",void 0),e}();t.BaseComponent=u},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(2),a=o(6),d=o(4),s=function(e){function t(t,o,r){var n=e.call(this,t,o,r)||this;return n.element=t,n.renderer=o,n.ngZone=r,n.resizeRateLimit=10,n}return r.__extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return{background:this.background||"#fff",border:this.border,color:this.color||"#000",encoding:this.encoding,errorCorrection:this.errorCorrection||"L",overlay:this.overlay||{},padding:this.padding,renderAs:this.renderAs,size:this.size,value:this.value}},enumerable:!0,configurable:!0}),t.prototype.createInstance=function(e,t){return new i.QRCode(e,t,this.onError.bind(this))},t.prototype.onError=function(e){if(e.name=d.packageMetadata.productName+" QRCode",this.isDevMode())throw e;console.warn(e)},r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"background",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"border",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"color",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"encoding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"errorCorrection",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"overlay",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"padding",void 0),r.__decorate([n.Input(),r.__metadata("design:type",String)],t.prototype,"renderAs",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"size",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Object)],t.prototype,"value",void 0),r.__decorate([n.Input(),r.__metadata("design:type",Number)],t.prototype,"resizeRateLimit",void 0),t=r.__decorate([n.Component({changeDetection:n.ChangeDetectionStrategy.OnPush,selector:"kendo-qrcode",exportAs:"kendoQRCode",template:'\n <kendo-resize-sensor (resize)="onResize()" [rateLimit]="resizeRateLimit"></kendo-resize-sensor>\n '}),r.__metadata("design:paramtypes",[n.ElementRef,n.Renderer2,n.NgZone])],t)}(a.BaseComponent);t.QRCodeComponent=s},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(3),a=o(5),d=function(){function e(){}return e=r.__decorate([n.NgModule({declarations:[a.BarcodeComponent],imports:[i.ResizeSensorModule],exports:[a.BarcodeComponent]})],e)}();t.BarcodeModule=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(3),a=o(7),d=function(){function e(){}return e=r.__decorate([n.NgModule({declarations:[a.QRCodeComponent],imports:[i.ResizeSensorModule],exports:[a.QRCodeComponent]})],e)}();t.QRCodeModule=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(5);t.BarcodeComponent=r.BarcodeComponent;var n=o(7);t.QRCodeComponent=n.QRCodeComponent;var i=o(8);t.BarcodeModule=i.BarcodeModule;var a=o(9);t.QRCodeModule=a.QRCodeModule;var d=o(13);t.BarcodesModule=d.BarcodesModule;var s=o(14);t.createBarcodeValidator=s.createBarcodeValidator;var u=o(15);t.createQRCodeValidator=u.createQRCodeValidator},function(e,t){e.exports=n},function(e,t){e.exports=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(0),n=o(1),i=o(8),a=o(9),d=function(){function e(){}return e=r.__decorate([n.NgModule({exports:[i.BarcodeModule,a.QRCodeModule]})],e)}();t.BarcodesModule=d},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(2);t.createBarcodeValidator=function(e,t){var o=r.barcodeValidator(e,t);return function(t){if(null==t.value||""===t.value)return null;var r=o(t.value);return!0===r.valid?null:{barcode:{message:r.error.message,value:t.value,type:e}}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(2);t.createQRCodeValidator=function(e){void 0===e&&(e="ISO_8859_1");var t=r.qrcodeValidator(e);return function(o){if(!o.value)return null;var r=t(o.value);return!0===r.valid?null:{qrcode:{message:r.error.message,value:o.value,encoding:e}}}}}])}));
@@ -0,0 +1,51 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { barcodeValidator } from '@progress/kendo-charts';
6
+ /**
7
+ * @hidden
8
+ */
9
+ var isPresent = function (value) { return value !== null && value !== undefined; };
10
+ var ɵ0 = isPresent;
11
+ /**
12
+ * Creates a value validator for a particular Barcode type.
13
+ *
14
+ * @param {BarcodeType} type The type of the Barcode.
15
+ * @param {Size} size The size of the barcode, excluding the text label, padding and border. Optional.
16
+ * @returns {ValidatorFn} A validator function that returns an error map with the `barcode` property if the validation check fails, otherwise `null`.
17
+ *
18
+ * @example
19
+ * ```ts-no-run
20
+ * const control = new FormControl('1234', createBarcodeValidator('EAN8'));
21
+ * console.log(control.errors);
22
+ *
23
+ * // {
24
+ * // barcode: {
25
+ * // message: 'The value of the "EAN13" encoding should be 12 symbols',
26
+ * // value: '1234',
27
+ * // type: 'EAN13'
28
+ * // }
29
+ * // }
30
+ * ```
31
+ */
32
+ export var createBarcodeValidator = function (type, size) {
33
+ var validator = barcodeValidator(type, size);
34
+ return function (control) {
35
+ if (!isPresent(control.value) || control.value === '') {
36
+ return null;
37
+ }
38
+ var result = validator(control.value);
39
+ if (result.valid === true) {
40
+ return null;
41
+ }
42
+ return {
43
+ barcode: {
44
+ message: result.error.message,
45
+ value: control.value,
46
+ type: type
47
+ }
48
+ };
49
+ };
50
+ };
51
+ export { ɵ0 };
@@ -6,6 +6,7 @@ import * as tslib_1 from "tslib";
6
6
  import { ChangeDetectionStrategy, Component, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
7
7
  import { Barcode } from '@progress/kendo-charts';
8
8
  import { BaseComponent } from './base.component';
9
+ import { packageMetadata } from './package-metadata';
9
10
  /**
10
11
  * Represents the Kendo UI Barcode component for Angular.
11
12
  *
@@ -73,7 +74,16 @@ var BarcodeComponent = /** @class */ (function (_super) {
73
74
  configurable: true
74
75
  });
75
76
  BarcodeComponent.prototype.createInstance = function (element, options) {
76
- return new Barcode(element, options);
77
+ return new Barcode(element, options, this.onError.bind(this));
78
+ };
79
+ BarcodeComponent.prototype.onError = function (error) {
80
+ error.name = packageMetadata.productName + ' Barcode';
81
+ if (this.isDevMode()) {
82
+ throw error;
83
+ }
84
+ else {
85
+ console.warn(error);
86
+ }
77
87
  };
78
88
  tslib_1.__decorate([
79
89
  Input(),
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- import { ElementRef, Input, ViewChild } from '@angular/core';
6
+ import { ElementRef, Input, isDevMode, ViewChild } from '@angular/core';
7
7
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
8
8
  import { exportImage, exportSVG } from '@progress/kendo-drawing';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
@@ -101,6 +101,9 @@ var BaseComponent = /** @class */ (function () {
101
101
  this.instance.setOptions(this.options);
102
102
  }
103
103
  };
104
+ BaseComponent.prototype.isDevMode = function () {
105
+ return isDevMode();
106
+ };
104
107
  tslib_1.__decorate([
105
108
  Input(),
106
109
  tslib_1.__metadata("design:type", Number)
package/dist/es/main.js CHANGED
@@ -7,3 +7,5 @@ export { QRCodeComponent } from './qrcode.component';
7
7
  export { BarcodeModule } from './barcode.module';
8
8
  export { QRCodeModule } from './qrcode.module';
9
9
  export { BarcodesModule } from './barcodes.module';
10
+ export { createBarcodeValidator } from './barcode-validator';
11
+ export { createQRCodeValidator } from './qrcode-validator';
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-barcodes',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1638963198,
12
+ publishDate: 1641993026,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -0,0 +1,45 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { qrcodeValidator } from '@progress/kendo-charts';
6
+ /**
7
+ * Creates a value validator for a particular Barcode type.
8
+ *
9
+ * @param {QRCodeEncoding} encoding The QR Code encoding. Defaults to 'ISO_8859_1'.
10
+ * @returns {ValidatorFn} A validator function that returns an error map with the `qrcode` property if the validation check fails, otherwise `null`.
11
+ *
12
+ * @example
13
+ * ```ts-no-run
14
+ * const control = new FormControl('Фоо', createQRCodeValidator());
15
+ * console.log(control.errors);
16
+ *
17
+ * // {
18
+ * // qrcode: {
19
+ * // message: 'Unsupported character in QR Code: "Ф".',
20
+ * // value: '1234',
21
+ * // type: 'EAN13'
22
+ * // }
23
+ * // }
24
+ * ```
25
+ */
26
+ export var createQRCodeValidator = function (encoding) {
27
+ if (encoding === void 0) { encoding = 'ISO_8859_1'; }
28
+ var validator = qrcodeValidator(encoding);
29
+ return function (control) {
30
+ if (!control.value) {
31
+ return null;
32
+ }
33
+ var result = validator(control.value);
34
+ if (result.valid === true) {
35
+ return null;
36
+ }
37
+ return {
38
+ qrcode: {
39
+ message: result.error.message,
40
+ value: control.value,
41
+ encoding: encoding
42
+ }
43
+ };
44
+ };
45
+ };
@@ -6,6 +6,7 @@ import * as tslib_1 from "tslib";
6
6
  import { ChangeDetectionStrategy, Component, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
7
7
  import { QRCode } from '@progress/kendo-charts';
8
8
  import { BaseComponent } from './base.component';
9
+ import { packageMetadata } from './package-metadata';
9
10
  var DEFAULT_COLOR = '#000';
10
11
  var DEFAULT_BACKGROUND = '#fff';
11
12
  var DEFAULT_ERROR_CORRECTION = 'L';
@@ -75,7 +76,16 @@ var QRCodeComponent = /** @class */ (function (_super) {
75
76
  configurable: true
76
77
  });
77
78
  QRCodeComponent.prototype.createInstance = function (element, options) {
78
- return new QRCode(element, options);
79
+ return new QRCode(element, options, this.onError.bind(this));
80
+ };
81
+ QRCodeComponent.prototype.onError = function (error) {
82
+ error.name = packageMetadata.productName + ' QRCode';
83
+ if (this.isDevMode()) {
84
+ throw error;
85
+ }
86
+ else {
87
+ console.warn(error);
88
+ }
79
89
  };
80
90
  tslib_1.__decorate([
81
91
  Input(),
@@ -0,0 +1,28 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ValidatorFn } from '@angular/forms';
6
+ import { geometry } from '@progress/kendo-drawing';
7
+ /**
8
+ * Creates a value validator for a particular Barcode type.
9
+ *
10
+ * @param {BarcodeType} type The type of the Barcode.
11
+ * @param {Size} size The size of the barcode, excluding the text label, padding and border. Optional.
12
+ * @returns {ValidatorFn} A validator function that returns an error map with the `barcode` property if the validation check fails, otherwise `null`.
13
+ *
14
+ * @example
15
+ * ```ts-no-run
16
+ * const control = new FormControl('1234', createBarcodeValidator('EAN8'));
17
+ * console.log(control.errors);
18
+ *
19
+ * // {
20
+ * // barcode: {
21
+ * // message: 'The value of the "EAN13" encoding should be 12 symbols',
22
+ * // value: '1234',
23
+ * // type: 'EAN13'
24
+ * // }
25
+ * // }
26
+ * ```
27
+ */
28
+ export declare const createBarcodeValidator: (type: import("@progress/kendo-charts").BarcodeType, size?: geometry.Size) => ValidatorFn;
@@ -0,0 +1,51 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { barcodeValidator } from '@progress/kendo-charts';
6
+ /**
7
+ * @hidden
8
+ */
9
+ const isPresent = (value) => value !== null && value !== undefined;
10
+ const ɵ0 = isPresent;
11
+ /**
12
+ * Creates a value validator for a particular Barcode type.
13
+ *
14
+ * @param {BarcodeType} type The type of the Barcode.
15
+ * @param {Size} size The size of the barcode, excluding the text label, padding and border. Optional.
16
+ * @returns {ValidatorFn} A validator function that returns an error map with the `barcode` property if the validation check fails, otherwise `null`.
17
+ *
18
+ * @example
19
+ * ```ts-no-run
20
+ * const control = new FormControl('1234', createBarcodeValidator('EAN8'));
21
+ * console.log(control.errors);
22
+ *
23
+ * // {
24
+ * // barcode: {
25
+ * // message: 'The value of the "EAN13" encoding should be 12 symbols',
26
+ * // value: '1234',
27
+ * // type: 'EAN13'
28
+ * // }
29
+ * // }
30
+ * ```
31
+ */
32
+ export const createBarcodeValidator = (type, size) => {
33
+ const validator = barcodeValidator(type, size);
34
+ return (control) => {
35
+ if (!isPresent(control.value) || control.value === '') {
36
+ return null;
37
+ }
38
+ const result = validator(control.value);
39
+ if (result.valid === true) {
40
+ return null;
41
+ }
42
+ return {
43
+ barcode: {
44
+ message: result.error.message,
45
+ value: control.value,
46
+ type: type
47
+ }
48
+ };
49
+ };
50
+ };
51
+ export { ɵ0 };
@@ -308,4 +308,5 @@ export declare class BarcodeComponent extends BaseComponent {
308
308
  protected readonly options: BarcodeOptions;
309
309
  constructor(element: ElementRef, renderer: Renderer2, ngZone: NgZone);
310
310
  protected createInstance(element: any, options: any): Barcode;
311
+ protected onError(error: Error): void;
311
312
  }
@@ -6,6 +6,7 @@ import * as tslib_1 from "tslib";
6
6
  import { ChangeDetectionStrategy, Component, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
7
7
  import { Barcode } from '@progress/kendo-charts';
8
8
  import { BaseComponent } from './base.component';
9
+ import { packageMetadata } from './package-metadata';
9
10
  /**
10
11
  * Represents the Kendo UI Barcode component for Angular.
11
12
  *
@@ -67,7 +68,16 @@ let BarcodeComponent = class BarcodeComponent extends BaseComponent {
67
68
  };
68
69
  }
69
70
  createInstance(element, options) {
70
- return new Barcode(element, options);
71
+ return new Barcode(element, options, this.onError.bind(this));
72
+ }
73
+ onError(error) {
74
+ error.name = packageMetadata.productName + ' Barcode';
75
+ if (this.isDevMode()) {
76
+ throw error;
77
+ }
78
+ else {
79
+ console.warn(error);
80
+ }
71
81
  }
72
82
  };
73
83
  tslib_1.__decorate([
@@ -51,4 +51,5 @@ export declare abstract class BaseComponent implements OnChanges, AfterViewInit
51
51
  exportVisual(): Group;
52
52
  protected abstract createInstance(element: any, options: any): any;
53
53
  protected refresh(): void;
54
+ protected isDevMode(): boolean;
54
55
  }
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- import { ElementRef, Input, ViewChild } from '@angular/core';
6
+ import { ElementRef, Input, isDevMode, ViewChild } from '@angular/core';
7
7
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
8
8
  import { exportImage, exportSVG } from '@progress/kendo-drawing';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
@@ -91,6 +91,9 @@ export class BaseComponent {
91
91
  this.instance.setOptions(this.options);
92
92
  }
93
93
  }
94
+ isDevMode() {
95
+ return isDevMode();
96
+ }
94
97
  }
95
98
  tslib_1.__decorate([
96
99
  Input(),
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"BarcodeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":30,"character":21},"member":"OnPush"},"exportAs":"kendoBarcode","selector":"kendo-barcode","template":"\n <kendo-resize-sensor (resize)=\"onResize()\" [rateLimit]=\"resizeRateLimit\"></kendo-resize-sensor>\n "}]}],"members":{"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"border":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":6}}]}],"checksum":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":5}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":5}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":5}}]}],"padding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":191,"character":5}}]}],"renderAs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":217,"character":5}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":267,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":288,"character":5}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":314,"character":5}}]}],"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":336,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":356,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":357,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":358,"character":26}]}],"createInstance":[{"__symbolic":"method"}]}},"QRCodeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":40,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":41,"character":21},"member":"OnPush"},"selector":"kendo-qrcode","exportAs":"kendoQRCode","template":"\n <kendo-resize-sensor (resize)=\"onResize()\" [rateLimit]=\"resizeRateLimit\"></kendo-resize-sensor>\n "}]}],"members":{"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"border":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":5}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":5}}]}],"encoding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":146,"character":5}}]}],"errorCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":174,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":5}}]}],"padding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":226,"character":5}}]}],"renderAs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":252,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":281,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":300,"character":5}}]}],"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":322,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":341,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":342,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":343,"character":26}]}],"createInstance":[{"__symbolic":"method"}]}},"BarcodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"BarcodeComponent"}],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":37,"character":15}],"exports":[{"__symbolic":"reference","name":"BarcodeComponent"}]}]}],"members":{}},"QRCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"QRCodeComponent"}],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":37,"character":15}],"exports":[{"__symbolic":"reference","name":"QRCodeComponent"}]}]}],"members":{}},"BarcodesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"BarcodeModule"},{"__symbolic":"reference","name":"QRCodeModule"}]}]}],"members":{}},"BarcodeType":{"__symbolic":"interface"},"BarcodeText":{"__symbolic":"interface"},"BarcodeOptions":{"__symbolic":"interface"},"QRCodeEncoding":{"__symbolic":"interface"},"QRCodeErrorCorrection":{"__symbolic":"interface"},"QRCodeOverlay":{"__symbolic":"interface"},"QRCodeOptions":{"__symbolic":"interface"},"DashType":{"__symbolic":"interface"},"Border":{"__symbolic":"interface"},"Margin":{"__symbolic":"interface"},"Padding":{"__symbolic":"interface"},"RenderMode":{"__symbolic":"interface"},"BaseComponent":{"__symbolic":"class","members":{"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"surfaceElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":5},"arguments":["surface",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":39,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":40,"character":26}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"exportImage":[{"__symbolic":"method"}],"exportSVG":[{"__symbolic":"method"}],"exportVisual":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}]}}},"origins":{"BarcodeComponent":"./barcode.component","QRCodeComponent":"./qrcode.component","BarcodeModule":"./barcode.module","QRCodeModule":"./qrcode.module","BarcodesModule":"./barcodes.module","BarcodeType":"./chart-types/barcode-types","BarcodeText":"./chart-types/barcode-types","BarcodeOptions":"./chart-types/barcode-types","QRCodeEncoding":"./chart-types/qrcode-types","QRCodeErrorCorrection":"./chart-types/qrcode-types","QRCodeOverlay":"./chart-types/qrcode-types","QRCodeOptions":"./chart-types/qrcode-types","DashType":"./chart-types/field-types","Border":"./chart-types/field-types","Margin":"./chart-types/field-types","Padding":"./chart-types/field-types","RenderMode":"./chart-types/field-types","BaseComponent":"./base.component"},"importAs":"@progress/kendo-angular-barcodes"}
1
+ {"__symbolic":"module","version":4,"metadata":{"BarcodeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":31,"character":21},"member":"OnPush"},"exportAs":"kendoBarcode","selector":"kendo-barcode","template":"\n <kendo-resize-sensor (resize)=\"onResize()\" [rateLimit]=\"resizeRateLimit\"></kendo-resize-sensor>\n "}]}],"members":{"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"border":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":6}}]}],"checksum":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":109,"character":5}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":5}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":157,"character":5}}]}],"padding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":192,"character":5}}]}],"renderAs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":218,"character":5}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":245,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":268,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":289,"character":5}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":315,"character":5}}]}],"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":337,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":357,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":358,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":359,"character":26}]}],"createInstance":[{"__symbolic":"method"}],"onError":[{"__symbolic":"method"}]}},"QRCodeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":21},"member":"OnPush"},"selector":"kendo-qrcode","exportAs":"kendoQRCode","template":"\n <kendo-resize-sensor (resize)=\"onResize()\" [rateLimit]=\"resizeRateLimit\"></kendo-resize-sensor>\n "}]}],"members":{"background":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5}}]}],"border":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":5}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":5}}]}],"encoding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":147,"character":5}}]}],"errorCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":5}}]}],"overlay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":5}}]}],"padding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":227,"character":5}}]}],"renderAs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":253,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":282,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":301,"character":5}}]}],"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":323,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":342,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":343,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":344,"character":26}]}],"createInstance":[{"__symbolic":"method"}],"onError":[{"__symbolic":"method"}]}},"BarcodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"BarcodeComponent"}],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":37,"character":15}],"exports":[{"__symbolic":"reference","name":"BarcodeComponent"}]}]}],"members":{}},"QRCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"QRCodeComponent"}],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":37,"character":15}],"exports":[{"__symbolic":"reference","name":"QRCodeComponent"}]}]}],"members":{}},"BarcodesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"BarcodeModule"},{"__symbolic":"reference","name":"QRCodeModule"}]}]}],"members":{}},"createBarcodeValidator":{"__symbolic":"error","message":"Lambda not supported","line":31,"character":38,"module":"./barcode-validator"},"createQRCodeValidator":{"__symbolic":"error","message":"Lambda not supported","line":24,"character":37,"module":"./qrcode-validator"},"BarcodeType":{"__symbolic":"interface"},"BarcodeText":{"__symbolic":"interface"},"BarcodeOptions":{"__symbolic":"interface"},"QRCodeEncoding":{"__symbolic":"interface"},"QRCodeErrorCorrection":{"__symbolic":"interface"},"QRCodeOverlay":{"__symbolic":"interface"},"QRCodeOptions":{"__symbolic":"interface"},"DashType":{"__symbolic":"interface"},"Border":{"__symbolic":"interface"},"Margin":{"__symbolic":"interface"},"Padding":{"__symbolic":"interface"},"RenderMode":{"__symbolic":"interface"},"BaseComponent":{"__symbolic":"class","members":{"resizeRateLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"surfaceElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":5},"arguments":["surface",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":39,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":40,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":41,"character":26}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"exportImage":[{"__symbolic":"method"}],"exportSVG":[{"__symbolic":"method"}],"exportVisual":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"isDevMode":[{"__symbolic":"method"}]}}},"origins":{"BarcodeComponent":"./barcode.component","QRCodeComponent":"./qrcode.component","BarcodeModule":"./barcode.module","QRCodeModule":"./qrcode.module","BarcodesModule":"./barcodes.module","createBarcodeValidator":"./barcode-validator","createQRCodeValidator":"./qrcode-validator","BarcodeType":"./chart-types/barcode-types","BarcodeText":"./chart-types/barcode-types","BarcodeOptions":"./chart-types/barcode-types","QRCodeEncoding":"./chart-types/qrcode-types","QRCodeErrorCorrection":"./chart-types/qrcode-types","QRCodeOverlay":"./chart-types/qrcode-types","QRCodeOptions":"./chart-types/qrcode-types","DashType":"./chart-types/field-types","Border":"./chart-types/field-types","Margin":"./chart-types/field-types","Padding":"./chart-types/field-types","RenderMode":"./chart-types/field-types","BaseComponent":"./base.component"},"importAs":"@progress/kendo-angular-barcodes"}
@@ -7,4 +7,6 @@ export { QRCodeComponent } from './qrcode.component';
7
7
  export { BarcodeModule } from './barcode.module';
8
8
  export { QRCodeModule } from './qrcode.module';
9
9
  export { BarcodesModule } from './barcodes.module';
10
+ export { createBarcodeValidator } from './barcode-validator';
11
+ export { createQRCodeValidator } from './qrcode-validator';
10
12
  export * from './chart-types';
@@ -7,3 +7,5 @@ export { QRCodeComponent } from './qrcode.component';
7
7
  export { BarcodeModule } from './barcode.module';
8
8
  export { QRCodeModule } from './qrcode.module';
9
9
  export { BarcodesModule } from './barcodes.module';
10
+ export { createBarcodeValidator } from './barcode-validator';
11
+ export { createQRCodeValidator } from './qrcode-validator';
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-barcodes',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1638963198,
12
+ publishDate: 1641993026,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -0,0 +1,26 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ValidatorFn } from '@angular/forms';
6
+ /**
7
+ * Creates a value validator for a particular Barcode type.
8
+ *
9
+ * @param {QRCodeEncoding} encoding The QR Code encoding. Defaults to 'ISO_8859_1'.
10
+ * @returns {ValidatorFn} A validator function that returns an error map with the `qrcode` property if the validation check fails, otherwise `null`.
11
+ *
12
+ * @example
13
+ * ```ts-no-run
14
+ * const control = new FormControl('Фоо', createQRCodeValidator());
15
+ * console.log(control.errors);
16
+ *
17
+ * // {
18
+ * // qrcode: {
19
+ * // message: 'Unsupported character in QR Code: "Ф".',
20
+ * // value: '1234',
21
+ * // type: 'EAN13'
22
+ * // }
23
+ * // }
24
+ * ```
25
+ */
26
+ export declare const createQRCodeValidator: (encoding?: import("@progress/kendo-charts").QRCodeEncoding) => ValidatorFn;
@@ -0,0 +1,44 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { qrcodeValidator } from '@progress/kendo-charts';
6
+ /**
7
+ * Creates a value validator for a particular Barcode type.
8
+ *
9
+ * @param {QRCodeEncoding} encoding The QR Code encoding. Defaults to 'ISO_8859_1'.
10
+ * @returns {ValidatorFn} A validator function that returns an error map with the `qrcode` property if the validation check fails, otherwise `null`.
11
+ *
12
+ * @example
13
+ * ```ts-no-run
14
+ * const control = new FormControl('Фоо', createQRCodeValidator());
15
+ * console.log(control.errors);
16
+ *
17
+ * // {
18
+ * // qrcode: {
19
+ * // message: 'Unsupported character in QR Code: "Ф".',
20
+ * // value: '1234',
21
+ * // type: 'EAN13'
22
+ * // }
23
+ * // }
24
+ * ```
25
+ */
26
+ export const createQRCodeValidator = (encoding = 'ISO_8859_1') => {
27
+ const validator = qrcodeValidator(encoding);
28
+ return (control) => {
29
+ if (!control.value) {
30
+ return null;
31
+ }
32
+ const result = validator(control.value);
33
+ if (result.valid === true) {
34
+ return null;
35
+ }
36
+ return {
37
+ qrcode: {
38
+ message: result.error.message,
39
+ value: control.value,
40
+ encoding: encoding
41
+ }
42
+ };
43
+ };
44
+ };
@@ -285,4 +285,5 @@ export declare class QRCodeComponent extends BaseComponent {
285
285
  protected readonly options: QRCodeOptions;
286
286
  constructor(element: ElementRef, renderer: Renderer2, ngZone: NgZone);
287
287
  protected createInstance(element: any, options: any): QRCode;
288
+ protected onError(error: Error): void;
288
289
  }
@@ -6,6 +6,7 @@ import * as tslib_1 from "tslib";
6
6
  import { ChangeDetectionStrategy, Component, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
7
7
  import { QRCode } from '@progress/kendo-charts';
8
8
  import { BaseComponent } from './base.component';
9
+ import { packageMetadata } from './package-metadata';
9
10
  const DEFAULT_COLOR = '#000';
10
11
  const DEFAULT_BACKGROUND = '#fff';
11
12
  const DEFAULT_ERROR_CORRECTION = 'L';
@@ -69,7 +70,16 @@ let QRCodeComponent = class QRCodeComponent extends BaseComponent {
69
70
  };
70
71
  }
71
72
  createInstance(element, options) {
72
- return new QRCode(element, options);
73
+ return new QRCode(element, options, this.onError.bind(this));
74
+ }
75
+ onError(error) {
76
+ error.name = packageMetadata.productName + ' QRCode';
77
+ if (this.isDevMode()) {
78
+ throw error;
79
+ }
80
+ else {
81
+ console.warn(error);
82
+ }
73
83
  }
74
84
  };
75
85
  tslib_1.__decorate([