zek 16.1.13 → 16.1.14

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.
@@ -14,6 +14,7 @@ export * from './grid-toolbar';
14
14
  export * from './list-toolbar';
15
15
  export * from './loading';
16
16
  export * from './modal';
17
+ export * from './numeric';
17
18
  export * from './page-title';
18
19
  export * from './pager';
19
20
  export * from './password';
@@ -31,4 +32,4 @@ export * from './validator';
31
32
  export * from './validators';
32
33
  export * from './wizard';
33
34
  // export * from './'
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFFekIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JiJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWxsYmFjayc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1hZ28nO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2VkaXQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS12aWV3ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2dvb2dsZS1sb2dpbi1idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyaWQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC10b29sYmFyJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS10aXRsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8nO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlYWRvbmx5JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWNhcHRjaGEvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NhZmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGltZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi93aXphcmQnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi8nIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFFekIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JiJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWxsYmFjayc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1hZ28nO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2VkaXQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS12aWV3ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2dvb2dsZS1sb2dpbi1idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyaWQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC10b29sYmFyJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJpYyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS10aXRsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8nO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlYWRvbmx5JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWNhcHRjaGEvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NhZmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGltZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi93aXphcmQnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi8nIl19
@@ -0,0 +1,2 @@
1
+ export * from './numeric.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbnVtZXJpYy5kaXJlY3RpdmUnOyJdfQ==
@@ -0,0 +1,92 @@
1
+ import { Directive, HostListener, Input } from "@angular/core";
2
+ import { Convert, MathHelper } from "../../utils";
3
+ import * as i0 from "@angular/core";
4
+ export class NumericDirective {
5
+ get digits() {
6
+ return this._digits;
7
+ }
8
+ set digits(v) {
9
+ let tmp = MathHelper.clamp(Convert.toNumber(v) || 0, 0, 29);
10
+ this._digits = tmp;
11
+ }
12
+ get negative() {
13
+ return this._negative;
14
+ }
15
+ set negative(v) {
16
+ this._negative = Convert.toBooleanProperty(v);
17
+ }
18
+ checkAllowNegative(value) {
19
+ if (this._digits <= 0) {
20
+ return String(value).match(new RegExp(/^-?\d+$/));
21
+ }
22
+ else {
23
+ var regExpString = "^-?\\s*((\\d+(\\.\\d{0," +
24
+ this._digits +
25
+ "})?)|((\\d*(\\.\\d{1," +
26
+ this._digits +
27
+ "}))))\\s*$";
28
+ return String(value).match(new RegExp(regExpString));
29
+ }
30
+ }
31
+ check(value) {
32
+ if (this._digits <= 0) {
33
+ return String(value).match(new RegExp(/^\d+$/));
34
+ }
35
+ else {
36
+ var regExpString = "^\\s*((\\d+(\\.\\d{0," +
37
+ this._digits +
38
+ "})?)|((\\d*(\\.\\d{1," +
39
+ this._digits +
40
+ "}))))\\s*$";
41
+ return String(value).match(new RegExp(regExpString));
42
+ }
43
+ }
44
+ run(oldValue) {
45
+ setTimeout(() => {
46
+ let currentValue = this.el.nativeElement.value;
47
+ let allowNegative = this._negative;
48
+ if (allowNegative) {
49
+ if (!["", "-"].includes(currentValue) &&
50
+ !this.checkAllowNegative(currentValue)) {
51
+ this.el.nativeElement.value = oldValue;
52
+ }
53
+ }
54
+ else {
55
+ if (currentValue !== '' && !this.check(currentValue)) {
56
+ this.el.nativeElement.value = oldValue;
57
+ }
58
+ }
59
+ });
60
+ }
61
+ constructor(el) {
62
+ this.el = el;
63
+ this._digits = 0;
64
+ this._negative = false;
65
+ }
66
+ onKeyDown(event) {
67
+ this.run(this.el.nativeElement.value);
68
+ }
69
+ onPaste(event) {
70
+ this.run(this.el.nativeElement.value);
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumericDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NumericDirective, isStandalone: true, selector: "[numeric]", inputs: { digits: "digits", negative: "negative" }, host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumericDirective, decorators: [{
76
+ type: Directive,
77
+ args: [{
78
+ standalone: true,
79
+ selector: "[numeric]",
80
+ }]
81
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { digits: [{
82
+ type: Input
83
+ }], negative: [{
84
+ type: Input
85
+ }], onKeyDown: [{
86
+ type: HostListener,
87
+ args: ["keydown", ["$event"]]
88
+ }], onPaste: [{
89
+ type: HostListener,
90
+ args: ["paste", ["$event"]]
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU1sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDSSxNQUFNLENBQUMsQ0FBYztRQUNyQixJQUFJLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxDQUFlO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUU7WUFDbkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNILElBQUksWUFBWSxHQUNaLHlCQUF5QjtnQkFDekIsSUFBSSxDQUFDLE9BQU87Z0JBQ1osdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsT0FBTztnQkFDWixZQUFZLENBQUM7WUFDakIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsRUFBRTtZQUNuQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0gsSUFBSSxZQUFZLEdBQ1osdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsT0FBTztnQkFDWix1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPO2dCQUNaLFlBQVksQ0FBQztZQUNqQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFTyxHQUFHLENBQUMsUUFBYTtRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxZQUFZLEdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ3ZELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFFbkMsSUFBSSxhQUFhLEVBQUU7Z0JBQ2YsSUFDSSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7b0JBQ2pDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxFQUN4QztvQkFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2lCQUMxQzthQUNKO2lCQUFNO2dCQUNILElBQUksWUFBWSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7aUJBQzFDO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQW5FMUIsWUFBTyxHQUFHLENBQUMsQ0FBQztRQVVaLGNBQVMsR0FBWSxLQUFLLENBQUM7SUF5REcsQ0FBQztJQUd2QyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQXFCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0E5RVEsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxXQUFXO2lCQUN4QjtpR0FPTyxNQUFNO3NCQURULEtBQUs7Z0JBVU8sUUFBUTtzQkFBcEIsS0FBSztnQkF3RE4sU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBNYXRoSGVscGVyIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogXCJbbnVtZXJpY11cIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNEaXJlY3RpdmUge1xyXG4gICAgcHJpdmF0ZSBfZGlnaXRzID0gMDtcclxuICAgIGdldCBkaWdpdHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpZ2l0cztcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGlnaXRzKHY6IE51bWJlcklucHV0KSB7XHJcbiAgICAgICAgbGV0IHRtcCA9IE1hdGhIZWxwZXIuY2xhbXAoQ29udmVydC50b051bWJlcih2KSB8fCAwLCAwLCAyOSk7XHJcbiAgICAgICAgdGhpcy5fZGlnaXRzID0gdG1wO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX25lZ2F0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBnZXQgbmVnYXRpdmUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25lZ2F0aXZlO1xyXG4gICAgfVxyXG4gICAgQElucHV0KCkgc2V0IG5lZ2F0aXZlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX25lZ2F0aXZlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQWxsb3dOZWdhdGl2ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RpZ2l0cyA8PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpLm1hdGNoKG5ldyBSZWdFeHAoL14tP1xcZCskLykpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciByZWdFeHBTdHJpbmcgPVxyXG4gICAgICAgICAgICAgICAgXCJeLT9cXFxccyooKFxcXFxkKyhcXFxcLlxcXFxkezAsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSk/KXwoKFxcXFxkKihcXFxcLlxcXFxkezEsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSkpKSlcXFxccyokXCI7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpLm1hdGNoKG5ldyBSZWdFeHAocmVnRXhwU3RyaW5nKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2sodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaWdpdHMgPD0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5tYXRjaChuZXcgUmVnRXhwKC9eXFxkKyQvKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFyIHJlZ0V4cFN0cmluZyA9XHJcbiAgICAgICAgICAgICAgICBcIl5cXFxccyooKFxcXFxkKyhcXFxcLlxcXFxkezAsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSk/KXwoKFxcXFxkKihcXFxcLlxcXFxkezEsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSkpKSlcXFxccyokXCI7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpLm1hdGNoKG5ldyBSZWdFeHAocmVnRXhwU3RyaW5nKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcnVuKG9sZFZhbHVlOiBhbnkpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZTogc3RyaW5nID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICAgICAgICBsZXQgYWxsb3dOZWdhdGl2ZSA9IHRoaXMuX25lZ2F0aXZlO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFsbG93TmVnYXRpdmUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAhW1wiXCIsIFwiLVwiXS5pbmNsdWRlcyhjdXJyZW50VmFsdWUpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuY2hlY2tBbGxvd05lZ2F0aXZlKGN1cnJlbnRWYWx1ZSlcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IG9sZFZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSAhPT0gJycgJiYgIXRoaXMuY2hlY2soY3VycmVudFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IG9sZFZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcclxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIHRoaXMucnVuKHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcInBhc3RlXCIsIFtcIiRldmVudFwiXSlcclxuICAgIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5ydW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,3 +1,2 @@
1
- export * from './module';
2
1
  export * from './select2-multiple';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QyLW11bHRpcGxlJzsiXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7Il19
@@ -1,5 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { RandomHelper, StringHelper } from '../../utils';
3
+ import { CommonModule } from '@angular/common';
4
+ import { FormsModule } from '@angular/forms';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common";
5
7
  import * as i2 from "@angular/forms";
@@ -109,11 +111,11 @@ export class ZekSelect2Multiple {
109
111
  this.valueChange.emit(v);
110
112
  }
111
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ZekSelect2Multiple, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
113
115
  }
114
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
115
117
  type: Component,
116
- args: [{ selector: 'zek-select2-multiple,[zek-select2-multiple]', template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
118
+ args: [{ standalone: true, selector: 'zek-select2-multiple,[zek-select2-multiple]', imports: [CommonModule, FormsModule], template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
117
119
  }], propDecorators: { data: [{
118
120
  type: Input
119
121
  }], textField: [{
@@ -129,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
129
131
  }], value: [{
130
132
  type: Input
131
133
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi1tdWx0aXBsZS9zZWxlY3QyLW11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyLW11bHRpcGxlL3NlbGVjdDItbXVsdGlwbGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUN6RCw2QkFBNkI7QUFRN0IsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQVNhLGNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVkvQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQTtRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBSzlCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQThGbkQ7SUFySEcsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFD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QUFDO1FBRWYsSUFBSSxDQUFvQixDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDckYsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN4RDthQUFNO1lBQ0gsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDckY7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQXpIUSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw4UkNWL0IsaWxEQXVCTTs7MkZEYk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLDZDQUE2Qzs4QkFZbkQsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuLy9kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXNlbGVjdDItbXVsdGlwbGUsW3play1zZWxlY3QyLW11bHRpcGxlXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Mi1tdWx0aXBsZS5odG1sJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpla1NlbGVjdDJNdWx0aXBsZSB7XHJcbiAgICBmaWx0ZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgcmVhZG9ubHkgZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG5cclxuICAgIHByaXZhdGUgX2RhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YSgpOiBBcnJheTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICAgIH1cclxuICAgIHNldCBkYXRhKHZhbHVlOiBBcnJheTxhbnk+KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RhdGEgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5maW5kQW5kU2V0SXRlbXMoKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmlsdGVyZWREYXRhOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gICAgQElucHV0KCkgdGV4dEZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJydcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBnZXQgc2VsZWN0ZWRJdGVtcygpOiBBcnJheTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3ZhbHVlPzogQXJyYXk8YW55PiB8IG51bGw7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHZhbHVlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbmRBbmRTZXRJdGVtcygpIHtcclxuICAgICAgICB0aGlzLl9kYXRhPy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XHJcbiAgICAgICAgbGV0IGZvdW5kSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl92YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy5kYXRhKSB7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtcyA9IHRoaXMuZGF0YS5maWx0ZXIoeCA9PiB0aGlzLl92YWx1ZT8uaW5jbHVkZXMoeCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbXMgPSB0aGlzLmRhdGEuZmlsdGVyKHggPT4gdGhpcy5fdmFsdWU/LmluY2x1ZGVzKHhbdGhpcy52YWx1ZUZpZWxkXSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZvdW5kSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3VuZEl0ZW1zLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBmb3VuZEl0ZW1zO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIG9uVGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9IFN0cmluZ0hlbHBlci50cnlUcmltKHRleHQpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmlsdGVyRGF0YSgpIHtcclxuICAgICAgICBpZiAodGhpcy5maWx0ZXIgJiYgdGhpcy5maWx0ZXIgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGxldCBzZWFyY2hTdHJpbmcgPSB0aGlzLmZpbHRlcjtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGV4dEZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy50ZXh0RmllbGQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbVt0aGlzLnRleHRGaWVsZF0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Gb2N1cyhlOiBGb2N1c0V2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIgPSAnJztcclxuICAgICAgICB0aGlzLnRleHQgPSAnJztcclxuICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgIH1cclxuICAgIGlucHV0VW5mb2N1c2VkKCkge1xyXG4gICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGV4dCgpIHtcclxuICAgICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoeCA9PiB4W3RoaXMudGV4dEZpZWxkXSkuam9pbignLCAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBhbnkpIHtcclxuICAgICAgICBpdGVtLnNlbGVjdGVkID0gIWl0ZW0uc2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gdGhpcy5fc2VsZWN0ZWRJdGVtcy5maWx0ZXIoeCA9PiB4ICE9PSBpdGVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcblxyXG4gICAgICAgIGxldCB2OiBBcnJheTxhbnk+IHwgbnVsbDtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgdiA9IHRoaXMuX3NlbGVjdGVkSXRlbXMgPyB0aGlzLl9zZWxlY3RlZEl0ZW1zIDogbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyA/IHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKHggPT4geFt0aGlzLnZhbHVlRmllbGRdKSA6IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBkYXRhLWJzLWF1dG8tY2xvc2U9XCJvdXRzaWRlXCIgaWQ9XCJpbnB1dC17e2VsZW1lbnRJZH19XCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgKGJsdXIpPVwiaW5wdXRVbmZvY3VzZWQoKVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiIGlkPVwiYnRuLXt7ZWxlbWVudElkfX1cIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGRhdGEtYnMtcmVmZXJlbmNlPVwicGFyZW50XCI+PC9idXR0b24+XHJcbiAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXN0YXJ0IHctMTAwIHNjcm9sbGFibGUtbWVudVwiIGlkPVwiZHJvcGRvd24tbWVudS17e2VsZW1lbnRJZH19XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2tcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAge3tpdGVtW3RleHRGaWVsZF19fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1jaGVja1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvdWw+XHJcbjwvZGl2PiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi1tdWx0aXBsZS9zZWxlY3QyLW11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyLW11bHRpcGxlL3NlbGVjdDItbXVsdGlwbGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBQzdDLDZCQUE2QjtBQVU3QixNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBV2EsY0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBWS9CLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBSXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0MsbUJBQWMsR0FBZSxFQUFFLENBQUM7UUFLOUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBOEZuRDtJQXJIRyxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxL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dCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbi8vZGVjbGFyZSBsZXQgYm9vdHN0cmFwOiBhbnk7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0Mi1tdWx0aXBsZSxbemVrLXNlbGVjdDItbXVsdGlwbGVdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLW11bHRpcGxlLmh0bWwnLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmVrU2VsZWN0Mk11bHRpcGxlIHtcclxuICAgIGZpbHRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IEFycmF5PGFueT4pIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtcygpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWx0ZXJlZERhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0RmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGdldCBzZWxlY3RlZEl0ZW1zKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBBcnJheTxhbnk+IHwgbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW1zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEFuZFNldEl0ZW1zKCkge1xyXG4gICAgICAgIHRoaXMuX2RhdGE/LmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgICAgICBsZXQgZm91bmRJdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3ZhbHVlID09PSBudWxsIHx8ICF0aGlzLmRhdGEpIHtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtcyA9IHRoaXMuZGF0YS5maWx0ZXIoeCA9PiB0aGlzLl92YWx1ZT8uaW5jbHVkZXMoeFt0aGlzLnZhbHVlRmllbGRdKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZm91bmRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbXMuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZvdW5kSXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgb25UZXh0Q2hhbmdlKHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyID0gU3RyaW5nSGVscGVyLnRyeVRyaW0odGV4dCk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJEYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlciAhPT0gJycpIHtcclxuICAgICAgICAgICAgbGV0IHNlYXJjaFN0cmluZyA9IHRoaXMuZmlsdGVyO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtW3RoaXMudGV4dEZpZWxkXS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMudGV4dCA9ICcnO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgaW5wdXRVbmZvY3VzZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMuam9pbignLCAnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbdGhpcy50ZXh0RmllbGRdKS5qb2luKCcsICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IGFueSkge1xyXG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSAhaXRlbS5zZWxlY3RlZDtcclxuXHJcbiAgICAgICAgaWYgKGl0ZW0uc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmZpbHRlcih4ID0+IHggIT09IGl0ZW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1DaGFuZ2UuZW1pdChpdGVtKTtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICAgICAgbGV0IHY6IEFycmF5PGFueT4gfCBudWxsO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyA/IHRoaXMuX3NlbGVjdGVkSXRlbXMgOiBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zID8gdGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0pIDogbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cImRyb3Bkb3duLW1lbnUtY29udGFpbmVyLXt7ZWxlbWVudElkfX1cIj5cclxuICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGRhdGEtYnMtYXV0by1jbG9zZT1cIm91dHNpZGVcIiBpZD1cImlucHV0LXt7ZWxlbWVudElkfX1cIiBbKG5nTW9kZWwpXT1cInRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJpbnB1dFVuZm9jdXNlZCgpXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgaWQ9XCJidG4te3tlbGVtZW50SWR9fVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1icy1yZWZlcmVuY2U9XCJwYXJlbnRcIj48L2J1dHRvbj5cclxuICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtc3RhcnQgdy0xMDAgc2Nyb2xsYWJsZS1tZW51XCIgaWQ9XCJkcm9wZG93bi1tZW51LXt7ZWxlbWVudElkfX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1jaGVja1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW1bdGV4dEZpZWxkXX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc3F1YXJlXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIHt7aXRlbX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9kaXY+Il19
package/fesm2022/zek.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, InjectionToken, Inject, NgModule, Directive, Input, EventEmitter, Output, ViewChild, Pipe, Component, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Optional, HostListener } from '@angular/core';
2
+ import { Injectable, InjectionToken, Inject, NgModule, Directive, Input, EventEmitter, Output, ViewChild, Pipe, Component, forwardRef, HostListener, ViewEncapsulation, ChangeDetectionStrategy, Optional } from '@angular/core';
3
3
  import { BehaviorSubject, Subject, catchError, of, firstValueFrom, ReplaySubject, timer } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { NavigationStart, RouterModule } from '@angular/router';
@@ -4764,6 +4764,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
4764
4764
 
4765
4765
  // export * from './loading-interceptor';
4766
4766
 
4767
+ class NumericDirective {
4768
+ get digits() {
4769
+ return this._digits;
4770
+ }
4771
+ set digits(v) {
4772
+ let tmp = MathHelper.clamp(Convert.toNumber(v) || 0, 0, 29);
4773
+ this._digits = tmp;
4774
+ }
4775
+ get negative() {
4776
+ return this._negative;
4777
+ }
4778
+ set negative(v) {
4779
+ this._negative = Convert.toBooleanProperty(v);
4780
+ }
4781
+ checkAllowNegative(value) {
4782
+ if (this._digits <= 0) {
4783
+ return String(value).match(new RegExp(/^-?\d+$/));
4784
+ }
4785
+ else {
4786
+ var regExpString = "^-?\\s*((\\d+(\\.\\d{0," +
4787
+ this._digits +
4788
+ "})?)|((\\d*(\\.\\d{1," +
4789
+ this._digits +
4790
+ "}))))\\s*$";
4791
+ return String(value).match(new RegExp(regExpString));
4792
+ }
4793
+ }
4794
+ check(value) {
4795
+ if (this._digits <= 0) {
4796
+ return String(value).match(new RegExp(/^\d+$/));
4797
+ }
4798
+ else {
4799
+ var regExpString = "^\\s*((\\d+(\\.\\d{0," +
4800
+ this._digits +
4801
+ "})?)|((\\d*(\\.\\d{1," +
4802
+ this._digits +
4803
+ "}))))\\s*$";
4804
+ return String(value).match(new RegExp(regExpString));
4805
+ }
4806
+ }
4807
+ run(oldValue) {
4808
+ setTimeout(() => {
4809
+ let currentValue = this.el.nativeElement.value;
4810
+ let allowNegative = this._negative;
4811
+ if (allowNegative) {
4812
+ if (!["", "-"].includes(currentValue) &&
4813
+ !this.checkAllowNegative(currentValue)) {
4814
+ this.el.nativeElement.value = oldValue;
4815
+ }
4816
+ }
4817
+ else {
4818
+ if (currentValue !== '' && !this.check(currentValue)) {
4819
+ this.el.nativeElement.value = oldValue;
4820
+ }
4821
+ }
4822
+ });
4823
+ }
4824
+ constructor(el) {
4825
+ this.el = el;
4826
+ this._digits = 0;
4827
+ this._negative = false;
4828
+ }
4829
+ onKeyDown(event) {
4830
+ this.run(this.el.nativeElement.value);
4831
+ }
4832
+ onPaste(event) {
4833
+ this.run(this.el.nativeElement.value);
4834
+ }
4835
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumericDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4836
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NumericDirective, isStandalone: true, selector: "[numeric]", inputs: { digits: "digits", negative: "negative" }, host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
4837
+ }
4838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumericDirective, decorators: [{
4839
+ type: Directive,
4840
+ args: [{
4841
+ standalone: true,
4842
+ selector: "[numeric]",
4843
+ }]
4844
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { digits: [{
4845
+ type: Input
4846
+ }], negative: [{
4847
+ type: Input
4848
+ }], onKeyDown: [{
4849
+ type: HostListener,
4850
+ args: ["keydown", ["$event"]]
4851
+ }], onPaste: [{
4852
+ type: HostListener,
4853
+ args: ["paste", ["$event"]]
4854
+ }] } });
4855
+
4767
4856
  class ZekPageTitle {
4768
4857
  constructor() {
4769
4858
  this._isEditPage = false;
@@ -5800,11 +5889,11 @@ class ZekSelect2Multiple {
5800
5889
  this.valueChange.emit(v);
5801
5890
  }
5802
5891
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5803
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ZekSelect2Multiple, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
5892
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
5804
5893
  }
5805
5894
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
5806
5895
  type: Component,
5807
- args: [{ selector: 'zek-select2-multiple,[zek-select2-multiple]', template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
5896
+ args: [{ standalone: true, selector: 'zek-select2-multiple,[zek-select2-multiple]', imports: [CommonModule, FormsModule], template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
5808
5897
  }], propDecorators: { data: [{
5809
5898
  type: Input
5810
5899
  }], textField: [{
@@ -5821,29 +5910,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
5821
5910
  type: Input
5822
5911
  }] } });
5823
5912
 
5824
- class ZekSelect2MultipleModule {
5825
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2MultipleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5826
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2MultipleModule, declarations: [ZekSelect2Multiple], imports: [CommonModule,
5827
- FormsModule], exports: [ZekSelect2Multiple] }); }
5828
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2MultipleModule, imports: [CommonModule,
5829
- FormsModule] }); }
5830
- }
5831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ZekSelect2MultipleModule, decorators: [{
5832
- type: NgModule,
5833
- args: [{
5834
- imports: [
5835
- CommonModule,
5836
- FormsModule
5837
- ],
5838
- declarations: [
5839
- ZekSelect2Multiple
5840
- ],
5841
- exports: [
5842
- ZekSelect2Multiple
5843
- ],
5844
- }]
5845
- }] });
5846
-
5847
5913
  class ZekSort {
5848
5914
  constructor(el /*, renderer: Renderer, private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef */) {
5849
5915
  this.el = el;
@@ -6506,5 +6572,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
6506
6572
  * Generated bundle index. Do not edit.
6507
6573
  */
6508
6574
 
6509
- export { API_BASE_URL, AgePipe, Alert, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseModalBaseComponent, ButtonBrowseModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, FileBase, FileBytes, FileHelper, FileString, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PeriodRelation, PrintType, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RandomHelper, RangeValidator, ReCaptchaService, RecaptchaModule, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, TmpHelper, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, Validators, ValidatorsModule, WebApiClient, WebApiModule, ZekAlert, ZekApproveModal, ZekAutoComplete, ZekButtonBrowse, ZekButtonBrowseModalToolbar, ZekCallbackPipe, ZekCard, ZekDeleteModal, ZekDisapproveModal, ZekEditToolbar, ZekFieldValidator, ZekFileSizePipe, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekGoogleLoginModule, ZekGridToolbar, ZekGridToolbarBar, ZekListToolbar, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPageTitle, ZekPager, ZekPassword, ZekProgress, ZekRadio, ZekReadOnlyDirective, ZekRestoreModal, ZekSafePipe, ZekSelect2, ZekSelect2Multiple, ZekSelect2MultipleModule, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, ZekWizard, ZekWizard2, firstBy, handler, matchValidator, nullValidator, rangeValidator };
6575
+ export { API_BASE_URL, AgePipe, Alert, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseModalBaseComponent, ButtonBrowseModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, FileBase, FileBytes, FileHelper, FileString, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, NumericDirective, ObjectHelper, OverlapHelper, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PeriodRelation, PrintType, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RandomHelper, RangeValidator, ReCaptchaService, RecaptchaModule, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, TmpHelper, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, Validators, ValidatorsModule, WebApiClient, WebApiModule, ZekAlert, ZekApproveModal, ZekAutoComplete, ZekButtonBrowse, ZekButtonBrowseModalToolbar, ZekCallbackPipe, ZekCard, ZekDeleteModal, ZekDisapproveModal, ZekEditToolbar, ZekFieldValidator, ZekFileSizePipe, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekGoogleLoginModule, ZekGridToolbar, ZekGridToolbarBar, ZekListToolbar, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPageTitle, ZekPager, ZekPassword, ZekProgress, ZekRadio, ZekReadOnlyDirective, ZekRestoreModal, ZekSafePipe, ZekSelect2, ZekSelect2Multiple, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, ZekWizard, ZekWizard2, firstBy, handler, matchValidator, nullValidator, rangeValidator };
6510
6576
  //# sourceMappingURL=zek.mjs.map