@acorex/components 7.1.21 → 7.1.23

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.
@@ -7,23 +7,26 @@ class AXResponsiveDirective {
7
7
  if (entry.target) {
8
8
  const e = entry.target;
9
9
  const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];
10
- elements.map(c => ({
10
+ elements
11
+ .map(c => ({
11
12
  element: c,
12
- classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))
13
- })).forEach(c => {
13
+ classList: Array.from(c.classList)
14
+ .filter(c => c.includes('sm'))
15
+ .map(c => c.slice(3)),
16
+ }))
17
+ .forEach(c => {
14
18
  e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);
15
19
  });
16
20
  }
17
21
  }
18
22
  });
19
- ;
20
23
  constructor(_elementRef) {
21
24
  this._elementRef = _elementRef;
22
25
  this._observer.observe(_elementRef.nativeElement);
23
26
  }
24
27
  ngOnDestroy() {
25
- this._observer.disconnect();
26
- this._observer.unobserve(this._elementRef.nativeElement);
28
+ this._observer?.disconnect();
29
+ this._observer?.unobserve(this._elementRef.nativeElement);
27
30
  }
28
31
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
29
32
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 });
@@ -33,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImpor
33
36
  type: Directive,
34
37
  args: [{ selector: '[ax-responsive]' }]
35
38
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBRWpFLE1BQ2EscUJBQXFCO0lBa0JWO0lBaEJaLFNBQVMsR0FBbUIsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDN0QsS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFFdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3ZCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNmLE9BQU8sRUFBRSxDQUFDO29CQUNWLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDeEYsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNaLENBQUMsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0csQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRUosWUFBb0IsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RCxDQUFDO3VHQXpCUSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7U0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYXgtcmVzcG9uc2l2ZV0nIH0pXG5leHBvcnQgY2xhc3MgQVhSZXNwb25zaXZlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX29ic2VydmVyOiBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xuXG4gICAgICAgICAgICBpZiAoZW50cnkudGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9IGVudHJ5LnRhcmdldDtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IFtlLCAuLi5BcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChgW2NsYXNzKj0nc206J11gKSldO1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzLm1hcChjID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGMsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdDogQXJyYXkuZnJvbShjLmNsYXNzTGlzdCkuZmlsdGVyKGMgPT4gYy5pbmNsdWRlcygnc20nKSkubWFwKGMgPT4gYy5zbGljZSgzKSlcbiAgICAgICAgICAgICAgICB9KSkuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5jbGllbnRXaWR0aCA8IDMyMCA/IGMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmMuY2xhc3NMaXN0KSA6IGMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmMuY2xhc3NMaXN0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pOztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy5fb2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG59Il19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBRWpFLE1BQ2EscUJBQXFCO0lBb0JaO0lBbkJaLFNBQVMsR0FBbUIsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDL0QsS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDekIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUN2QixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRSxRQUFRO3FCQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt5QkFDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDeEIsQ0FBQyxDQUFDO3FCQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDWCxDQUFDLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdHLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsWUFBb0IsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RCxDQUFDO3VHQTNCVSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7U0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYXgtcmVzcG9uc2l2ZV0nIH0pXG5leHBvcnQgY2xhc3MgQVhSZXNwb25zaXZlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xuICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmIChlbnRyeS50YXJnZXQpIHtcbiAgICAgICAgY29uc3QgZSA9IGVudHJ5LnRhcmdldDtcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBbZSwgLi4uQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoYFtjbGFzcyo9J3NtOiddYCkpXTtcbiAgICAgICAgZWxlbWVudHNcbiAgICAgICAgICAubWFwKGMgPT4gKHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IGMsXG4gICAgICAgICAgICBjbGFzc0xpc3Q6IEFycmF5LmZyb20oYy5jbGFzc0xpc3QpXG4gICAgICAgICAgICAgIC5maWx0ZXIoYyA9PiBjLmluY2x1ZGVzKCdzbScpKVxuICAgICAgICAgICAgICAubWFwKGMgPT4gYy5zbGljZSgzKSksXG4gICAgICAgICAgfSkpXG4gICAgICAgICAgLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICBlLmNsaWVudFdpZHRoIDwgMzIwID8gYy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uYy5jbGFzc0xpc3QpIDogYy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uYy5jbGFzc0xpc3QpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIHtcbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKF9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9vYnNlcnZlcj8udW5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -134,7 +134,7 @@ class AXFormComponent extends AXBaseComponentMixin {
134
134
  });
135
135
  }
136
136
  onDestroy() {
137
- this._observer.disconnect();
137
+ this._observer?.disconnect();
138
138
  this._observer = null;
139
139
  this._clearSubs();
140
140
  }
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImpor
161
161
  }], validateInitValues: [{
162
162
  type: Input
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9mb3JtL3NyYy9mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR2hFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFPO0lBQ2hELE1BQU0sQ0FBeUI7Q0FDaEM7QUFRRDs7OztHQUlHO0FBQ0gsTUFNYSxlQUFnQixTQUFRLG9CQUFvQjtJQWlDWDtJQWhDbkMscUJBQXFCLEdBQXlCLFFBQVEsQ0FBQztJQUdoRSxVQUFVLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRzVGLGNBQWMsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFMUUsU0FBUyxHQUFtQixNQUFNLENBQUM7SUFDM0MsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBaUI7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsYUFBYSxFQUFFLENBQUMsUUFBUyxFQUFFLFFBQVMsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFNUIsU0FBUyxDQUFtQjtJQUM1QixLQUFLLEdBQW1CLEVBQUUsQ0FBQztJQUVuQzs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRWxFLENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBYztRQUMxQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUTtRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixNQUFNLE1BQU0sR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDckUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVGLDhEQUE4RDtRQUM5RCxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRDtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLEVBQUU7UUFDRixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLENBQUMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN0QixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRTthQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHLElBQWM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7UUFDRCxFQUFFO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3JJLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzt3QkFDeEIsTUFBTSxFQUFFLEtBQUs7d0JBQ2IsS0FBSyxFQUFFLE1BQU07cUJBQ2QsQ0FBQyxDQUFDO29CQUNILE9BQU8sQ0FBQzt3QkFDTixNQUFNLEVBQUUsS0FBSzt3QkFDYixLQUFLLEVBQUUsTUFBTTtxQkFDZCxDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzVDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUMzQjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsQ0FBeUI7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEIsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7dUdBbkpVLGVBQWU7MkZBQWYsZUFBZSwyUUFKaEIsbUpBQW1KOztTQUlsSixlQUFlOzJGQUFmLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxtSkFBbUo7b0JBQzdKLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7aUlBRVUscUJBQXFCO3NCQUE3QixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFlTixrQkFBa0I7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhGb3JtVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4vdmFsaWRhdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiAgQ29udGFpbnMgbmF0aXZlIGV2ZW50XG4gKiBAY2F0ZWdvcnkgRXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBBWEZvcm1WYWxpZGF0aW9uRXZlbnQgZXh0ZW5kcyBBWEV2ZW50IHtcbiAgcmVzdWx0OiBBWEZvcm1WYWxpZGF0aW9uUmVzdWx0O1xufVxuXG4vKipcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcbiAqIEBjYXRlZ29yeSBFdmVudHNcbiAqL1xuZXhwb3J0IHR5cGUgQVhGb3JtVXBkYXRlT24gPSAnY2hhbmdlJyB8ICdibHVyJyB8ICdtYW51YWwnO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1mb3JtJyxcbiAgdGVtcGxhdGU6ICc8Zm9ybSAoc3VibWl0KT1cIl9oYW5kbGVTdWJtaXQoJGV2ZW50KVwiIChyZXNldCk9XCJfaGFuZGxlUmVzZXQoJGV2ZW50KVwiIGNsYXNzPVwiYXgte3t2YWxpZGF0aW9uTWVzc2FnZU1vZGV9fS1lcnJvclwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Zvcm0+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYRm9ybUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcbiAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VNb2RlOiAnbm9ybWFsJyB8ICd0b29sdGlwJyA9ICdub3JtYWwnO1xuXG4gIEBPdXRwdXQoKVxuICBvblZhbGlkYXRlOiBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVPbkNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRm9ybVVwZGF0ZU9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhGb3JtVXBkYXRlT24+KCk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlT246IEFYRm9ybVVwZGF0ZU9uID0gJ2JsdXInO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHVwZGF0ZU9uKCk6IEFYRm9ybVVwZGF0ZU9uIHtcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlT247XG4gIH1cbiAgcHVibGljIHNldCB1cGRhdGVPbih2OiBBWEZvcm1VcGRhdGVPbikge1xuICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICBuYW1lOiAndXBkYXRlT24nLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAob2xkVmFsdWU/LCBuZXdWYWx1ZT8pID0+IHtcbiAgICAgICAgdGhpcy5fYmluZEV2ZW50cygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHZhbGlkYXRlSW5pdFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX29ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgfVxuXG4gIF9oYW5kbGVTdWJtaXQoZTogU3VibWl0RXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICB9XG5cbiAgX2hhbmRsZVJlc2V0KGU6IEV2ZW50KSB7XG4gICAgdGhpcy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW5ldHMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdbYXgtZm9ybS1pbnB1dD1cInRydWVcIl0nKSkubWFwKGMgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fKTtcbiAgfVxuXG4gIG9uVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGVJbml0VmFsdWVzKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZUluaXRWYWx1ZXMoKTtcbiAgICB9XG4gICAgdGhpcy5fYmluZEV2ZW50cygpO1xuXG4gICAgY29uc3QgY29uZmlnID0geyBhdHRyaWJ1dGVzOiBmYWxzZSwgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH07XG4gICAgY29uc3QgY2FsbGJhY2sgPSAobXV0YXRpb25MaXN0LCBvYnNlcnZlcikgPT4ge1xuICAgICAgdGhpcy5fYmluZEV2ZW50cygpO1xuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgYW4gb2JzZXJ2ZXIgaW5zdGFuY2UgbGlua2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuICAgIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuX29ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSwgY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5fY2xlYXJTdWJzKCk7XG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMuX2dldENvbXBvbmVuZXRzKCk7XG4gICAgLy9cbiAgICB3aWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICBpZiAodGhpcy51cGRhdGVPbiA9PSAnY2hhbmdlJykge1xuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAgICAgdy5vblZhbHVlQ2hhbmdlZD8uc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdy52YWxpZGF0ZSgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudXBkYXRlT24gPT0gJ2JsdXInKSB7XG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgICAgICB3Lm9uQmx1cj8uc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdy52YWxpZGF0ZSgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclN1YnMoKSB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKGMgPT4gYy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLl9zdWJzID0gW107XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZUluaXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5fZ2V0Q29tcG9uZW5ldHMoKVxuICAgICAgLmZpbHRlcihjID0+IGNbJ3ZhbHVlJ10pXG4gICAgICAuZm9yRWFjaChjID0+IGMudmFsaWRhdGUoKSk7XG4gIH1cblxuICB2YWxpZGF0ZSguLi5hcmdzOiBzdHJpbmdbXSk6IFByb21pc2U8QVhGb3JtVmFsaWRhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLl9nZXRDb21wb25lbmV0cygpO1xuICAgIGlmICh3aWRnZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fZW1pdE9uVmFsaWRhdGVFdmVudCh7IHJlc3VsdDogdHJ1ZSB9KTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgfVxuICAgIC8vXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEFYRm9ybVZhbGlkYXRpb25SZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIFByb21pc2UuYWxsKHdpZGdldHMuZmlsdGVyKGMgPT4gYXJncyA9PSBudWxsIHx8IGFyZ3MubGVuZ3RoID09IDAgfHwgYXJncy5pbmNsdWRlcyhjLm5hbWUpKS5tYXAoYyA9PiBjLnZhbGlkYXRlKCkpKS50aGVuKChydWxlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGZhaWxlZCA9IHJ1bGVzLmZpbHRlcigoYzogYW55KSA9PiAhYy5yZXN1bHQpO1xuICAgICAgICBpZiAoZmFpbGVkLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX2VtaXRPblZhbGlkYXRlRXZlbnQoe1xuICAgICAgICAgICAgcmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICAgIGl0ZW1zOiBmYWlsZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICByZXN1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgaXRlbXM6IGZhaWxlZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9lbWl0T25WYWxpZGF0ZUV2ZW50KHsgcmVzdWx0OiB0cnVlIH0pO1xuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdE9uVmFsaWRhdGVFdmVudChlOiBBWEZvcm1WYWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgcmVzdWx0OiBlLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXG4gICAgfSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjb25zdCB3aWRnZXRzID0gdGhpcy5fZ2V0Q29tcG9uZW5ldHMoKTtcbiAgICB3aWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICB3LmNsZWFyKCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX29ic2VydmVyID0gbnVsbDtcbiAgICB0aGlzLl9jbGVhclN1YnMoKTtcbiAgfVxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9mb3JtL3NyYy9mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR2hFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFPO0lBQ2hELE1BQU0sQ0FBeUI7Q0FDaEM7QUFRRDs7OztHQUlHO0FBQ0gsTUFNYSxlQUFnQixTQUFRLG9CQUFvQjtJQWlDWDtJQWhDbkMscUJBQXFCLEdBQXlCLFFBQVEsQ0FBQztJQUdoRSxVQUFVLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRzVGLGNBQWMsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFMUUsU0FBUyxHQUFtQixNQUFNLENBQUM7SUFDM0MsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBaUI7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsYUFBYSxFQUFFLENBQUMsUUFBUyxFQUFFLFFBQVMsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFNUIsU0FBUyxD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UTtzQkFEbEIsS0FBSztnQkFlTixrQkFBa0I7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhGb3JtVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4vdmFsaWRhdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiAgQ29udGFpbnMgbmF0aXZlIGV2ZW50XG4gKiBAY2F0ZWdvcnkgRXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBBWEZvcm1WYWxpZGF0aW9uRXZlbnQgZXh0ZW5kcyBBWEV2ZW50IHtcbiAgcmVzdWx0OiBBWEZvcm1WYWxpZGF0aW9uUmVzdWx0O1xufVxuXG4vKipcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcbiAqIEBjYXRlZ29yeSBFdmVudHNcbiAqL1xuZXhwb3J0IHR5cGUgQVhGb3JtVXBkYXRlT24gPSAnY2hhbmdlJyB8ICdibHVyJyB8ICdtYW51YWwnO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1mb3JtJyxcbiAgdGVtcGxhdGU6ICc8Zm9ybSAoc3VibWl0KT1cIl9oYW5kbGVTdWJtaXQoJGV2ZW50KVwiIChyZXNldCk9XCJfaGFuZGxlUmVzZXQoJGV2ZW50KVwiIGNsYXNzPVwiYXgte3t2YWxpZGF0aW9uTWVzc2FnZU1vZGV9fS1lcnJvclwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Zvcm0+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYRm9ybUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcbiAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VNb2RlOiAnbm9ybWFsJyB8ICd0b29sdGlwJyA9ICdub3JtYWwnO1xuXG4gIEBPdXRwdXQoKVxuICBvblZhbGlkYXRlOiBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVPbkNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRm9ybVVwZGF0ZU9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhGb3JtVXBkYXRlT24+KCk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlT246IEFYRm9ybVVwZGF0ZU9uID0gJ2JsdXInO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHVwZGF0ZU9uKCk6IEFYRm9ybVVwZGF0ZU9uIHtcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlT247XG4gIH1cbiAgcHVibGljIHNldCB1cGRhdGVPbih2OiBBWEZvcm1VcGRhdGVPbikge1xuICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICBuYW1lOiAndXBkYXRlT24nLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAob2xkVmFsdWU/LCBuZXdWYWx1ZT8pID0+IHtcbiAgICAgICAgdGhpcy5fYmluZEV2ZW50cygpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHZhbGlkYXRlSW5pdFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX29ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgfVxuXG4gIF9oYW5kbGVTdWJtaXQoZTogU3VibWl0RXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICB9XG5cbiAgX2hhbmRsZVJlc2V0KGU6IEV2ZW50KSB7XG4gICAgdGhpcy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW5ldHMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdbYXgtZm9ybS1pbnB1dD1cInRydWVcIl0nKSkubWFwKGMgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fKTtcbiAgfVxuXG4gIG9uVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGVJbml0VmFsdWVzKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZUluaXRWYWx1ZXMoKTtcbiAgICB9XG4gICAgdGhpcy5fYmluZEV2ZW50cygpO1xuXG4gICAgY29uc3QgY29uZmlnID0geyBhdHRyaWJ1dGVzOiBmYWxzZSwgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH07XG4gICAgY29uc3QgY2FsbGJhY2sgPSAobXV0YXRpb25MaXN0LCBvYnNlcnZlcikgPT4ge1xuICAgICAgdGhpcy5fYmluZEV2ZW50cygpO1xuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgYW4gb2JzZXJ2ZXIgaW5zdGFuY2UgbGlua2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuICAgIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuX29ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSwgY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5fY2xlYXJTdWJzKCk7XG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMuX2dldENvbXBvbmVuZXRzKCk7XG4gICAgLy9cbiAgICB3aWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICBpZiAodGhpcy51cGRhdGVPbiA9PSAnY2hhbmdlJykge1xuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAgICAgdy5vblZhbHVlQ2hhbmdlZD8uc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdy52YWxpZGF0ZSgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudXBkYXRlT24gPT0gJ2JsdXInKSB7XG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgICAgICB3Lm9uQmx1cj8uc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdy52YWxpZGF0ZSgpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclN1YnMoKSB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKGMgPT4gYy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLl9zdWJzID0gW107XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZUluaXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5fZ2V0Q29tcG9uZW5ldHMoKVxuICAgICAgLmZpbHRlcihjID0+IGNbJ3ZhbHVlJ10pXG4gICAgICAuZm9yRWFjaChjID0+IGMudmFsaWRhdGUoKSk7XG4gIH1cblxuICB2YWxpZGF0ZSguLi5hcmdzOiBzdHJpbmdbXSk6IFByb21pc2U8QVhGb3JtVmFsaWRhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLl9nZXRDb21wb25lbmV0cygpO1xuICAgIGlmICh3aWRnZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fZW1pdE9uVmFsaWRhdGVFdmVudCh7IHJlc3VsdDogdHJ1ZSB9KTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgfVxuICAgIC8vXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEFYRm9ybVZhbGlkYXRpb25SZXN1bHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIFByb21pc2UuYWxsKHdpZGdldHMuZmlsdGVyKGMgPT4gYXJncyA9PSBudWxsIHx8IGFyZ3MubGVuZ3RoID09IDAgfHwgYXJncy5pbmNsdWRlcyhjLm5hbWUpKS5tYXAoYyA9PiBjLnZhbGlkYXRlKCkpKS50aGVuKChydWxlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGZhaWxlZCA9IHJ1bGVzLmZpbHRlcigoYzogYW55KSA9PiAhYy5yZXN1bHQpO1xuICAgICAgICBpZiAoZmFpbGVkLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX2VtaXRPblZhbGlkYXRlRXZlbnQoe1xuICAgICAgICAgICAgcmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICAgIGl0ZW1zOiBmYWlsZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICByZXN1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgaXRlbXM6IGZhaWxlZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9lbWl0T25WYWxpZGF0ZUV2ZW50KHsgcmVzdWx0OiB0cnVlIH0pO1xuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdE9uVmFsaWRhdGVFdmVudChlOiBBWEZvcm1WYWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgcmVzdWx0OiBlLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXG4gICAgfSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBjb25zdCB3aWRnZXRzID0gdGhpcy5fZ2V0Q29tcG9uZW5ldHMoKTtcbiAgICB3aWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICB3LmNsZWFyKCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG51bGw7XG4gICAgdGhpcy5fY2xlYXJTdWJzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -997,23 +997,26 @@ class AXResponsiveDirective {
997
997
  if (entry.target) {
998
998
  const e = entry.target;
999
999
  const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];
1000
- elements.map(c => ({
1000
+ elements
1001
+ .map(c => ({
1001
1002
  element: c,
1002
- classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))
1003
- })).forEach(c => {
1003
+ classList: Array.from(c.classList)
1004
+ .filter(c => c.includes('sm'))
1005
+ .map(c => c.slice(3)),
1006
+ }))
1007
+ .forEach(c => {
1004
1008
  e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);
1005
1009
  });
1006
1010
  }
1007
1011
  }
1008
1012
  });
1009
- ;
1010
1013
  constructor(_elementRef) {
1011
1014
  this._elementRef = _elementRef;
1012
1015
  this._observer.observe(_elementRef.nativeElement);
1013
1016
  }
1014
1017
  ngOnDestroy() {
1015
- this._observer.disconnect();
1016
- this._observer.unobserve(this._elementRef.nativeElement);
1018
+ this._observer?.disconnect();
1019
+ this._observer?.unobserve(this._elementRef.nativeElement);
1017
1020
  }
1018
1021
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1019
1022
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 });
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/classes/events.class.ts","../../../../projects/acorex/components/common/src/classes/components.class.ts","../../../../projects/acorex/components/common/src/classes/styles.class.ts","../../../../projects/acorex/components/common/src/constant/positions.ts","../../../../projects/acorex/components/common/src/components/base-component.class.ts","../../../../projects/acorex/components/common/src/components/interactive-component.class.ts","../../../../projects/acorex/components/common/src/components/color-component.class.ts","../../../../projects/acorex/components/common/src/components/look-component.class.ts","../../../../projects/acorex/components/common/src/components/colorlook-component.class.ts","../../../../projects/acorex/components/common/src/components/button-base-component.class.ts","../../../../projects/acorex/components/common/src/components/value-component.class.ts","../../../../projects/acorex/components/common/src/directives/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/directives/debounce-time.directive.ts","../../../../projects/acorex/components/common/src/services/hotkey.service.ts","../../../../projects/acorex/components/common/src/directives/hotkey.directive.ts","../../../../projects/acorex/components/common/src/directives/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/directives/responsive.directive.ts","../../../../projects/acorex/components/common/src/services/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/services/overlay.service.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["/**\n * Contains native event\n * @category Events\n */\nexport class AXEvent {\n /**\n * The sender component\n */\n component: any;\n /**\n * The root native element\n */\n htmlElement?: HTMLElement;\n\n isUserInteraction?: boolean = false;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\n nativeEvent?: E;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXValueChangedEvent<T = any> extends AXEvent {\n name?: string;\n value?: T;\n oldValue?: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXOptionChangedEvent<T = any> extends AXEvent {\n name?: string;\n newValue?: T;\n oldValue?: T;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\n /**\n * uses for extra data\n */\n data?: any = null;\n\n nativeEvent?: any = null;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXButtonClickEvent extends AXClickEvent {\n name: string;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\n item: T;\n}\n\n/**\n * Fires each time the component gets focused.\n * @category Events\n */\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {}\n\n/**\n * Fires each time an item or multiple items selected by the user or value.\n * @category Events\n */\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\n value?: any = null;\n oldValue?: any = null;\n selectedKeys?: any[] = [];\n selectedItems?: any[] = [];\n}\n\n/**\n * Contains range start & end values\n * @category Events\n */\nexport class AXRangeChangedEvent<T> extends AXEvent {\n /**\n * The range start value\n */\n start?: T;\n /**\n * The range end value\n */\n end?: T;\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXEvent, AXValueChangedEvent } from './events.class';\n\nexport const TAB_META_KEY = '__meta__';\n\nexport class AXComponentCloseEvent extends AXEvent {\n data?: any;\n}\nexport class AXComponentClosing {\n cancel: boolean = false;\n data?: any;\n}\n\nexport class AXComponentResult {\n sender: any;\n data?: any;\n}\n\n/**\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\n */\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\n private closeMethod: () => void;\n constructor(\n executor: (\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\n reject: (reason?: any) => void\n ) => void\n ) {\n super(executor);\n }\n\n public close() {\n if (this.closeMethod) {\n this.closeMethod();\n }\n }\n}\n\n\n\n@Injectable()\nexport abstract class AXComponent {\n}\n\n@Injectable()\nexport abstract class AXClosbaleComponent extends AXComponent {\n abstract close(): void;\n}\n\n@Injectable()\nexport abstract class AXSearchableComponent extends AXComponent {\n abstract search(value: string): void;\n}\n\n@Injectable()\nexport abstract class AXValuableComponent extends AXComponent {\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\n abstract value: any;\n}\n\n@Injectable()\nexport abstract class AXFocusableComponent extends AXComponent {\n abstract focus();\n}\n\nexport interface AXPagedComponentInterface {\n goToPage(page: number);\n get totalCount(): number;\n get pageSize(): number;\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n\n@Injectable()\nexport abstract class AXPagedComponent\n extends AXComponent\n implements AXPagedComponentInterface\n{\n abstract goToPage(page: number);\n abstract get totalCount(): number;\n abstract pageSize: number;\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n","export const AX_STYLE_COLOR_TYPES = ['primary', 'secondary', 'info', 'danger', 'success', 'warning', 'light', 'dark'];\n\n/**\n * A token that specifies the color style of component.\n */\nexport type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';\n\nexport type AXStyleLookType = 'default' | 'blank' | 'outline';\n\nexport const AX_LOCATIONS = [\n 'bottom-start',\n 'bottom-center',\n 'bottom-end',\n 'top-start',\n 'top-center',\n 'top-end',\n 'center-end',\n 'center-start',\n];\n\nexport type AXLocation =\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'center-end'\n | 'center-start';\n\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\n/**\n * A token that specifies the direction of component.\n */\nexport type AXDirection = 'vertical' | 'horizontal';\n\n/**\n * A token that specifies the selection mode of component.\n */\nexport type AXSelectionMode = 'single' | 'multiple';\n","export type AXPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'start-start'\n | 'start-center'\n | 'start-end'\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'end-start'\n | 'end-center'\n | 'end-end';\n\nexport const AXPositions = {\n topStart: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n topCenter: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n topEnd: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n\n startStart: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n startCenter: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n startEnd: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n\n bottomStart: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n bottomCenter: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n bottomEnd: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n\n endStart: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n endCenter: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n endEnd: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n};\n","import { ChangeDetectorRef, ElementRef, EventEmitter, Injectable, ViewContainerRef, inject } from '@angular/core';\nimport { AXOptionChangedEvent } from '../classes/events.class';\n\nexport type MXComponentOptionChanging = { name: string; value?: any };\n\nexport type MXComponentSetOption = {\n name: string;\n value?: any;\n afterCallback?: (oldValue?: any, newValue?: any) => void;\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\n};\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\n@Injectable()\nexport abstract class MXBaseComponent {\n id: string;\n\n private _cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef: ElementRef = inject(ElementRef);\n private _viewRef: ViewContainerRef = inject(ViewContainerRef);\n\n protected get cdr(): ChangeDetectorRef {\n return this._cdr;\n }\n\n public getHostElement<T = HTMLElement>(): T {\n return this._elementRef.nativeElement as T;\n }\n\n protected getViewContainer(): ViewContainerRef {\n return this._viewRef;\n }\n\n protected onOptionChanging(option: MXComponentOptionChanging): any {\n return option?.value;\n }\n\n protected onOptionChanged: EventEmitter<AXOptionChangedEvent> = new EventEmitter<AXOptionChangedEvent>();\n\n protected setOption(option: MXComponentSetOption) {\n const oldValue = this[option.name];\n const newValue = this.onOptionChanging({\n name: option.name,\n value: option.value,\n });\n //TODO : check real changes\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this.onOptionChanged.emit({\n component: this,\n name: option.name,\n newValue,\n oldValue,\n });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n emitter?.emit(newValue);\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n\n private _rtl: boolean;\n\n public get rtl(): boolean {\n if (this._rtl) return this._rtl;\n else return this.getHostElement().classList.contains('ax-rtl') || window?.getComputedStyle(this.getHostElement(), null).getPropertyValue('direction') === 'rtl';\n }\n\n public set rtl(value: boolean) {\n this.setOption({ name: 'rtl', value });\n }\n}\n\nexport const BASE_INPUTS = ['rtl'];\nexport const BASE_OUTPUT = [];\n","import { AXHtmlUtil } from \"@acorex/core/utils\";\nimport { coerceNumberProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXFocusEvent } from \"../classes/events.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXInteractiveComponent extends MXBaseComponent {\n\n private _disabled: boolean;\n /**\n * If set to true, it disables the component.\n */\n public get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this.setOption({ name: \"disabled\", value })\n }\n\n _tabIndex: number = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n this.setOption({ name: \"tabIndex\", value: value != null ? coerceNumberProperty(value) : 0 })\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnBlurEvent(e: FocusEvent): void {\n this.onBlur.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e\n });\n }\n\n constructor() {\n super();\n }\n\n focus() {\n AXHtmlUtil.focusElement(this.getHostElement());\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.getHostElement());\n }\n}\n\n\n\nexport const INTERACTIVE_INPUTS = ['disabled', 'tabIndex', ...BASE_INPUTS];\nexport const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { AXStyleColorType } from \"../classes/styles.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXColorComponent extends MXBaseComponent {\n\n constructor() {\n super();\n }\n\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n private _color: AXStyleColorType = 'primary';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this.setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n}\n\n\nexport const COLOR_INPUTS = ['color', ...BASE_INPUTS];\nexport const COLOR_OUTPUT = ['colorChange', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { AXStyleLookType } from \"../classes/styles.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXLookComponent extends MXBaseComponent {\n\n constructor() {\n super();\n }\n\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n private _look?: AXStyleLookType = 'default';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look!;\n }\n set look(value: AXStyleLookType) {\n this.setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n}\n\nexport const LOOK_INPUTS = ['look', ...BASE_INPUTS];\nexport const LOOK_OUTPUT = ['lookChange', ...BASE_OUTPUT];","import { classes } from \"polytype\";\nimport { COLOR_INPUTS, COLOR_OUTPUT, MXColorComponent } from \"./color-component.class\";\nimport { LOOK_INPUTS, LOOK_OUTPUT, MXLookComponent } from \"./look-component.class\";\n\n\nexport class MXColorLookComponent\n extends\n classes(MXColorComponent, MXLookComponent)\n{\n constructor() {\n super();\n }\n}\n\n\n\nexport const COLOR_LOOK_INPUTS = [...COLOR_INPUTS, ...LOOK_INPUTS];\nexport const COLOR_LOOK_OUTPUT = [...COLOR_OUTPUT, ...LOOK_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { classes } from \"polytype\";\nimport { COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, MXColorLookComponent } from \"./colorlook-component.class\";\nimport { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, MXInteractiveComponent } from \"./interactive-component.class\";\n\nexport class MXButtonBaseComponent\n extends\n classes(MXInteractiveComponent, MXColorLookComponent)\n{\n\n textChange: EventEmitter<string> = new EventEmitter();\n private _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this.setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n })\n }\n\n\n\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n private _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable!;\n }\n set toggleable(value: boolean) {\n this.setOption({\n name: 'toggleable',\n value\n });\n }\n\n\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n private _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected!;\n }\n set selected(value: boolean) {\n this.setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n\n constructor() {\n super();\n }\n\n protected get cssClasses() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this[\"disabled\"],\n 'ax-state-selected': this.selected\n };\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\n return cssClasses;\n }\n}\n\n\nexport const BUTTON_INPUTS = ['text', 'toggleable', 'selected', ...INTERACTIVE_INPUTS, COLOR_LOOK_INPUTS];\nexport const BUTTON_OUTPUT = ['textChange', 'toggleableChange', 'selectedChange', ...INTERACTIVE_OUTPUT, COLOR_LOOK_OUTPUT];","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXObjectUtil } from '@acorex/core/utils';\nimport { AXComponentState, MXBaseComponent } from './base-component.class';\nimport { AXValueChangedEvent } from '../classes/events.class';\n\n@Injectable()\nexport class MXValueComponent<T = any> extends MXBaseComponent {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\n\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n private _readonly: boolean = false;\n\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n private _name: string;\n get name() {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n\n private _isUserInteraction: boolean = false;\n\n get isUserInteraction(): boolean {\n return this._isUserInteraction;\n }\n\n set isUserInteraction(value: boolean) {\n this._isUserInteraction = value;\n }\n\n initValue: T;\n defaultValue: T;\n\n private _value: T;\n get value(): T {\n return this.getValue(this._value) || this.defaultValue;\n }\n set value(v: T) {\n v = this.setValue(v);\n //if (!this._isInited ) {\n const old = AXObjectUtil.deepJSONClone(this.value);\n // TODO: check real equality\n if (v != old) {\n this._value = v;\n this.emitOnValueChangedEvent(old, this.value);\n this.cdr.markForCheck();\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\n this.setState('clear');\n }\n // else {\n // if (this._isInited) {\n // this.validate();\n // }\n // }\n }\n this._isUserInteraction = false;\n //}\n }\n\n private _state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this._state;\n }\n\n set state(value: AXComponentState) {\n this.setState(value);\n this.stateChange.emit(value);\n }\n\n protected emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this.isUserInteraction,\n });\n this._isUserInteraction = false;\n }\n\n protected setValue(value: any) {\n return value;\n }\n\n protected getValue(value: any) {\n return value;\n }\n\n protected ngOnInit(): void {\n this.getHostElement().setAttribute('ax-form-input', 'true');\n }\n\n protected ngAfterViewInit(): void {\n this._checkRequired();\n }\n\n protected ngOnDestroy() {\n this.onValueChanged?.unsubscribe();\n this.onOptionChanged?.unsubscribe();\n }\n\n clear() {\n this.value = null;\n }\n\n private _checkRequired() {\n const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some(c => (c as any).__axContext__.enabled && (c as any).__axContext__.rule == 'required');\n //\n if (isRequired) {\n const container = this.getHostElement().classList.contains('ax-editor-container') ? this.getHostElement() : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = (formField?.querySelector('ax-label') as any)?.__axContext__;\n if (label) label.required = true;\n }\n }\n\n validate(): Promise<any> {\n const rules = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).filter(c => (c as any).__axContext__.enabled);\n //\n if (!rules || rules.length === 0) {\n this.setState('clear');\n return Promise.resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n\n return new Promise<any>(resolve => {\n Promise.all(\n rules\n .filter(c => typeof (c as any)?.validate === 'function')\n .map(c => {\n return (c as any).validate(this.value);\n })\n ).then(d => {\n const error = d.find(c => c.result === false);\n if (error) {\n this.setState('error', error.message);\n resolve({\n result: false,\n value: this.value,\n message: error.message,\n name: this.name,\n id: this.id,\n });\n } else {\n this.setState('success');\n resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n });\n });\n }\n\n protected setState(state: AXComponentState, ...args) {\n const container = this.getHostElement().classList.contains('ax-editor-container') ? this.getHostElement() : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this.getHostElement().firstElementChild;\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this._state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this.setState('clear');\n target.classList.add('ax-state-success');\n this._state = 'success';\n break;\n case 'error':\n this.setState('clear');\n if (args[0]) {\n const span = document.createElement('span');\n span.innerText = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this._state = 'error';\n break;\n }\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n Host,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport { AXFocusableComponent } from '../classes/components.class';\n\n@Directive({\n selector: '[axAutoFocus]',\n})\nexport class AXAutoFocusDirective implements AfterContentInit {\n\n @Input('axAutoFocus')\n public autoFocus?: boolean = true;\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXFocusableComponent\n ) { }\n\n\n @Input('focus-time')\n time: number = 100;\n\n ngAfterContentInit(): void {\n if (this.autoFocus) {\n const list = [\n 'button',\n 'input',\n '[href]',\n 'select',\n 'textarea',\n '[tabindex]',\n ].map((c) => c + ':not([tabindex=\"-1\"])');\n\n const focusable =\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\n this.el.nativeElement;\n \n const attr = document.createAttribute('autofocus');\n focusable.setAttributeNode(attr);\n const hasTabindex = focusable.hasAttribute('tabindex');\n if (!hasTabindex) {\n focusable.setAttribute('tabIndex', '0');\n }\n setTimeout(() => {\n focusable.focus();\n }, 100);\n }\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from \"@angular/core\";\nimport { NgModel } from \"@angular/forms\";\nimport { debounceTime, distinctUntilChanged, skip, Subscription } from \"rxjs\";\n\n@Directive({\n selector: '[ngModelChangeDebounced]',\n})\nexport class AXNgModelChangeDebouncedDirective implements OnDestroy {\n\n @Output()\n ngModelChangeDebounced = new EventEmitter<any>();\n\n @Output()\n ngModelChangeDebounceTimeChange = new EventEmitter<number>()\n\n private _ngModelChangeDebounceTime: number = 0;\n @Input()\n public get ngModelChangeDebounceTime(): number {\n return this._ngModelChangeDebounceTime;\n }\n public set ngModelChangeDebounceTime(v: number) {\n if (v != this._ngModelChangeDebounceTime) {\n this._ngModelChangeDebounceTime = v;\n this.ngModelChangeDebounceTimeChange.emit(v);\n this.update()\n }\n }\n\n private subscription: Subscription;\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n constructor(private ngModel: NgModel) {\n this.ngModelChangeDebounceTime = 0;\n }\n\n private update() {\n this.subscription?.unsubscribe();\n //\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1), // skip initial value\n distinctUntilChanged(),\n debounceTime(this.ngModelChangeDebounceTime)\n ).subscribe((value) => this.ngModelChangeDebounced.emit(value));\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { EventManager } from '@angular/platform-browser';\nimport { Observable } from 'rxjs/internal/Observable';\n\ntype Options = {\n element: any;\n keys: string;\n};\n\n@Injectable({ providedIn: 'root' })\nexport class AXHotkeysService {\n defaults: Partial<Options> = {\n element: this.document,\n };\n\n constructor(private eventManager: EventManager, @Inject(DOCUMENT) private document: Document) {}\n\n addShortcut(options: Partial<Options>) {\n const merged = { ...this.defaults, ...options };\n const event = `keydown.${merged.keys}`;\n return new Observable(observer => {\n const handler = (e: UIEvent) => {\n e.preventDefault();\n observer.next(e);\n };\n if (merged.element) {\n // Todo: check addEventListener is not function\n\n const dispose = this.eventManager.addEventListener(merged.element, event, handler);\n return () => {\n dispose();\n };\n } else {\n // console.error('Element is not accessible');\n return null;\n }\n });\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXComponent } from '../classes/components.class';\nimport { AXHotkeysService } from '../services/hotkey.service';\n\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\n\n@Directive({\n selector: '[hotkey]',\n})\nexport class AXHotkeyDirective implements AfterViewInit {\n @Input('hotkey')\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\n\n private _subs: Subscription[] = [];\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXComponent,\n private hs: AXHotkeysService\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.hotkey || !this._host) return;\n\n if (typeof this.hotkey == 'string') {\n this._addDefaultAction(this.hotkey);\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\n } else if (Array.isArray(this.hotkey)) {\n this._addHotKeyAction(this.hotkey);\n }\n }\n\n private _addDefaultAction(hotkey: string) {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\n if (this._host[a]) {\n this._host[a]();\n return;\n }\n });\n })\n );\n }\n\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\n hotkeys.forEach((k) => {\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\n const action = <unknown>Object.entries(k)[0][1];\n if (!action) this._addDefaultAction(hotkey);\n else {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n if (typeof action == 'string' && this._host[action]) {\n this._host[action]();\n return;\n }\n if (typeof action == 'function') {\n action();\n return;\n }\n })\n );\n }\n });\n }\n\n ngOnDestroy() {\n this._subs.forEach((s) => {\n s.unsubscribe();\n });\n }\n}\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\nimport { fromEvent, Observable } from 'rxjs';\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\n\n\nexport interface AXScrollPosition {\n scrollHeight: number;\n scrollTop: number;\n clientHeight: number;\n};\n\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\n scrollHeight: 0,\n scrollTop: 0,\n clientHeight: 0\n};\n\n@Directive({\n selector: '[axInfiniteScroller]'\n})\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\n\n private scrollEvent$: Observable<any>;\n\n private userScrolledDown$: Observable<any>;\n\n\n private requestOnScroll$: Observable<any>;\n\n @Input()\n scrollCallback: Function;\n\n @Input()\n immediateCallback;\n\n @Input()\n scrollPercent = 70;\n\n constructor(private elm: ElementRef) { }\n\n ngAfterViewInit() {\n\n this.registerScrollEvent();\n\n this.streamScrollEvents();\n\n this.requestCallbackOnScroll();\n\n }\n\n private registerScrollEvent() {\n\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\n\n }\n\n private streamScrollEvents() {\n this.userScrolledDown$ = this.scrollEvent$\n .pipe(\n map((e: any): AXScrollPosition => ({\n scrollHeight: e.target.scrollHeight,\n scrollTop: e.target.scrollTop,\n clientHeight: e.target.clientHeight\n })),\n pairwise(),\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\n );\n }\n\n private requestCallbackOnScroll() {\n this.requestOnScroll$ = this.userScrolledDown$;\n\n if (this.immediateCallback) {\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\n );\n }\n\n this.requestOnScroll$.pipe(\n exhaustMap(() => {\n return this.scrollCallback();\n }))\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\n\n }\n\n private isUserScrollingDown = (positions) => {\n return positions[0].sT < positions[1].sT;\n }\n\n private isScrollExpectedPercent = (position) => {\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\n }\n\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\n\n@Directive({ selector: '[ax-responsive]' })\nexport class AXResponsiveDirective implements OnDestroy {\n\n private _observer: ResizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n\n if (entry.target) {\n const e = entry.target;\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\n elements.map(c => ({\n element: c,\n classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))\n })).forEach(c => {\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\n });\n }\n }\n });;\n\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\n this._observer.observe(_elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n this._observer.disconnect();\n this._observer.unobserve(this._elementRef.nativeElement);\n }\n\n}","import {\n Overlay,\n OverlayKeyboardDispatcher,\n OverlayPositionBuilder,\n ScrollStrategyOptions,\n OverlayContainer,\n OverlayRef,\n OverlayConfig,\n OverlayOutsideClickDispatcher,\n} from '@angular/cdk/overlay';\n\n// TODO: 'ComponentFactoryResolver' is deprecated.\nimport {\n ComponentFactoryResolver,\n Inject,\n Injector,\n NgZone,\n Renderer2,\n RendererFactory2,\n Injectable,\n} from '@angular/core';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT, Location } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DynamicOverlayContainer extends OverlayContainer {\n public setContainerElement(containerElement: HTMLElement): void {\n this._containerElement = containerElement;\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DynamicOverlay extends Overlay {\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\n private renderer: Renderer2;\n\n constructor(\n scrollStrategies: ScrollStrategyOptions,\n _overlayContainer: DynamicOverlayContainer,\n _componentFactoryResolver: ComponentFactoryResolver,\n _positionBuilder: OverlayPositionBuilder,\n _keyboardDispatcher: OverlayKeyboardDispatcher,\n _injector: Injector,\n _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any,\n _directionality: Directionality,\n rendererFactory: RendererFactory2,\n _location: Location,\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\n ) {\n super(\n scrollStrategies,\n _overlayContainer,\n _componentFactoryResolver,\n _positionBuilder,\n _keyboardDispatcher,\n _injector,\n _ngZone,\n _document,\n _directionality,\n _location,\n _outsideClickDispatcher\n );\n this.renderer = rendererFactory.createRenderer(null, null);\n\n this._dynamicOverlayContainer = _overlayContainer;\n }\n\n private setContainerElement(containerElement: HTMLElement): void {\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\n this._dynamicOverlayContainer.setContainerElement(containerElement);\n }\n\n public createOn(\n containerElement: HTMLElement,\n config?: OverlayConfig\n ): OverlayRef {\n this.setContainerElement(containerElement);\n return super.create(config);\n }\n}\n","import {\n Injectable,\n ApplicationRef,\n ViewContainerRef,\n TemplateRef,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayPositionBuilder,\n PositionStrategy,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\nimport { merge } from 'rxjs';\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\nimport { AXConnectedPosition } from '../classes/drawing.class';\nimport { NavigationStart, RouterEvent, Router } from '@angular/router';\n\nexport interface AXOverlayViewRef {\n instance: any;\n dispose: () => void;\n isOpen: () => boolean;\n}\n\nexport interface AXOverlayConfigs {\n position?: AXConnectedPosition | AXConnectedPosition[] | PositionStrategy;\n hasBackdrop?: boolean;\n transparentBackdrop?: boolean;\n closeOnClickOutside?: boolean;\n targetElement?: HTMLElement;\n containerElement?: HTMLElement;\n onBackdropClick?: () => void;\n panelClass?: string[] | string;\n backdropClass?: string[] | string;\n scroll?: 'auto' | 'block' | 'close';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXOverlayService {\n portal: Portal<any>;\n constructor(\n private overlayService: DynamicOverlay,\n private overlayService2: Overlay,\n private appRef: ApplicationRef\n ) {}\n\n position(): OverlayPositionBuilder {\n return this.overlayService.position();\n }\n\n show(\n content: any,\n context?: any,\n configs?: AXOverlayConfigs\n ): AXOverlayViewRef {\n configs = Object.assign(\n {\n hasBackdrop: true,\n transparentBackdrop: true,\n closeOnClickOutside: true,\n },\n configs || {}\n );\n // get root viewref\n const viewRef: ViewContainerRef =\n this.appRef.components[0].instance.viewRef;\n\n // let portal: Portal<any>;\n // get component by route\n if (typeof content === 'string') {\n // TODO: ???\n }\n // create portal from component\n else if (content instanceof TemplateRef) {\n this.portal = new TemplatePortal(content, viewRef, context);\n } else if (typeof content === 'function') {\n this.portal = new ComponentPortal(content, viewRef);\n }\n let positionStrategy: PositionStrategy;\n if (configs.position && configs.targetElement) {\n const p: ConnectedPosition[] = Array.isArray(configs.position)\n ? (configs.position as ConnectedPosition[])\n : [configs.position as ConnectedPosition];\n positionStrategy = this.overlayService\n .position()\n .flexibleConnectedTo(configs.targetElement)\n .withPositions(p)\n .withPush(true);\n } else {\n positionStrategy = configs.position\n ? (configs.position as PositionStrategy)\n : this.overlayService\n .position()\n .global()\n .centerHorizontally()\n .centerVertically();\n }\n let scrollStrategy: ScrollStrategy =\n this.overlayService.scrollStrategies.reposition({ autoClose: true });\n if (configs.scroll === 'block') {\n scrollStrategy = this.overlayService.scrollStrategies.block();\n }\n if (configs.scroll === 'close') {\n scrollStrategy = this.overlayService.scrollStrategies.close();\n }\n\n const config = {\n positionStrategy,\n scrollStrategy,\n hasBackdrop: configs.hasBackdrop,\n disposeOnNavigation: true,\n backdropClass: configs.backdropClass\n ? configs.backdropClass\n : configs.transparentBackdrop\n ? 'cdk-overlay-transparent-backdrop'\n : undefined,\n panelClass: configs.panelClass\n ? configs.panelClass\n : ['ax-animate-animated', 'ax-animate-zoomIn', 'ax-animate-faster'],\n };\n let overlayRef: any = configs.containerElement\n ? this.overlayService.createOn(configs.containerElement, config)\n : this.overlayService2.create(config);\n\n const host = overlayRef.attach(this.portal!);\n if (host.instance) {\n Object.assign(host.instance, context);\n setTimeout(() => {\n host.changeDetectorRef.detectChanges();\n }, 0);\n }\n\n if (configs.closeOnClickOutside) {\n merge(overlayRef.backdropClick(), overlayRef.detachments()).subscribe(\n () => {\n overlayRef.dispose();\n overlayRef = undefined;\n if (configs!.onBackdropClick) {\n configs!.onBackdropClick();\n }\n }\n );\n }\n return {\n instance: host.instance,\n dispose: overlayRef.dispose.bind(overlayRef),\n isOpen: () => {\n return overlayRef.hasAttached();\n },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\nimport { AXNgModelChangeDebouncedDirective } from './directives/debounce-time.directive';\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\nimport { AXResponsiveDirective } from './directives/responsive.directive';\n@NgModule({\n imports: [],\n exports: [\n AXResponsiveDirective,\n AXInfiniteScrollerDirective,\n AXAutoFocusDirective,\n AXNgModelChangeDebouncedDirective,\n AXHotkeyDirective,\n ],\n declarations: [\n AXResponsiveDirective,\n AXInfiniteScrollerDirective,\n AXNgModelChangeDebouncedDirective,\n AXAutoFocusDirective,\n AXHotkeyDirective,\n ],\n providers: [],\n})\nexport class AXCommonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../projects/acorex/components/common/src/classes/events.class.ts","../../../../projects/acorex/components/common/src/classes/components.class.ts","../../../../projects/acorex/components/common/src/classes/styles.class.ts","../../../../projects/acorex/components/common/src/constant/positions.ts","../../../../projects/acorex/components/common/src/components/base-component.class.ts","../../../../projects/acorex/components/common/src/components/interactive-component.class.ts","../../../../projects/acorex/components/common/src/components/color-component.class.ts","../../../../projects/acorex/components/common/src/components/look-component.class.ts","../../../../projects/acorex/components/common/src/components/colorlook-component.class.ts","../../../../projects/acorex/components/common/src/components/button-base-component.class.ts","../../../../projects/acorex/components/common/src/components/value-component.class.ts","../../../../projects/acorex/components/common/src/directives/auto-focus.directive.ts","../../../../projects/acorex/components/common/src/directives/debounce-time.directive.ts","../../../../projects/acorex/components/common/src/services/hotkey.service.ts","../../../../projects/acorex/components/common/src/directives/hotkey.directive.ts","../../../../projects/acorex/components/common/src/directives/infinite-scroll.directive.ts","../../../../projects/acorex/components/common/src/directives/responsive.directive.ts","../../../../projects/acorex/components/common/src/services/custom-cdk-overlay.service.ts","../../../../projects/acorex/components/common/src/services/overlay.service.ts","../../../../projects/acorex/components/common/src/common.module.ts","../../../../projects/acorex/components/common/acorex-components-common.ts"],"sourcesContent":["/**\n * Contains native event\n * @category Events\n */\nexport class AXEvent {\n /**\n * The sender component\n */\n component: any;\n /**\n * The root native element\n */\n htmlElement?: HTMLElement;\n\n isUserInteraction?: boolean = false;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\n nativeEvent?: E;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXValueChangedEvent<T = any> extends AXEvent {\n name?: string;\n value?: T;\n oldValue?: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXOptionChangedEvent<T = any> extends AXEvent {\n name?: string;\n newValue?: T;\n oldValue?: T;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\n /**\n * uses for extra data\n */\n data?: any = null;\n\n nativeEvent?: any = null;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXButtonClickEvent extends AXClickEvent {\n name: string;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXItemClickEvent<T> extends AXHtmlEvent<MouseEvent> {\n item: T;\n}\n\n/**\n * Fires each time the component gets focused.\n * @category Events\n */\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> {}\n\n/**\n * Fires each time an item or multiple items selected by the user or value.\n * @category Events\n */\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\n value?: any = null;\n oldValue?: any = null;\n selectedKeys?: any[] = [];\n selectedItems?: any[] = [];\n}\n\n/**\n * Contains range start & end values\n * @category Events\n */\nexport class AXRangeChangedEvent<T> extends AXEvent {\n /**\n * The range start value\n */\n start?: T;\n /**\n * The range end value\n */\n end?: T;\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXEvent, AXValueChangedEvent } from './events.class';\n\nexport const TAB_META_KEY = '__meta__';\n\nexport class AXComponentCloseEvent extends AXEvent {\n data?: any;\n}\nexport class AXComponentClosing {\n cancel: boolean = false;\n data?: any;\n}\n\nexport class AXComponentResult {\n sender: any;\n data?: any;\n}\n\n/**\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\n */\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\n private closeMethod: () => void;\n constructor(\n executor: (\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\n reject: (reason?: any) => void\n ) => void\n ) {\n super(executor);\n }\n\n public close() {\n if (this.closeMethod) {\n this.closeMethod();\n }\n }\n}\n\n\n\n@Injectable()\nexport abstract class AXComponent {\n}\n\n@Injectable()\nexport abstract class AXClosbaleComponent extends AXComponent {\n abstract close(): void;\n}\n\n@Injectable()\nexport abstract class AXSearchableComponent extends AXComponent {\n abstract search(value: string): void;\n}\n\n@Injectable()\nexport abstract class AXValuableComponent extends AXComponent {\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<any>>;\n abstract value: any;\n}\n\n@Injectable()\nexport abstract class AXFocusableComponent extends AXComponent {\n abstract focus();\n}\n\nexport interface AXPagedComponentInterface {\n goToPage(page: number);\n get totalCount(): number;\n get pageSize(): number;\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n\n@Injectable()\nexport abstract class AXPagedComponent\n extends AXComponent\n implements AXPagedComponentInterface\n{\n abstract goToPage(page: number);\n abstract get totalCount(): number;\n abstract pageSize: number;\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n","export const AX_STYLE_COLOR_TYPES = ['primary', 'secondary', 'info', 'danger', 'success', 'warning', 'light', 'dark'];\n\n/**\n * A token that specifies the color style of component.\n */\nexport type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';\n\nexport type AXStyleLookType = 'default' | 'blank' | 'outline';\n\nexport const AX_LOCATIONS = [\n 'bottom-start',\n 'bottom-center',\n 'bottom-end',\n 'top-start',\n 'top-center',\n 'top-end',\n 'center-end',\n 'center-start',\n];\n\nexport type AXLocation =\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'center-end'\n | 'center-start';\n\nexport const AX_DIRECTIONS = ['vertical', 'horizontal'];\n/**\n * A token that specifies the direction of component.\n */\nexport type AXDirection = 'vertical' | 'horizontal';\n\n/**\n * A token that specifies the selection mode of component.\n */\nexport type AXSelectionMode = 'single' | 'multiple';\n","export type AXPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'start-start'\n | 'start-center'\n | 'start-end'\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'end-start'\n | 'end-center'\n | 'end-end';\n\nexport const AXPositions = {\n topStart: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n topCenter: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n topEnd: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n\n startStart: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n startCenter: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n startEnd: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n\n bottomStart: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n bottomCenter: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n bottomEnd: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n\n endStart: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n endCenter: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n endEnd: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n};\n","import { ChangeDetectorRef, ElementRef, EventEmitter, Injectable, ViewContainerRef, inject } from '@angular/core';\nimport { AXOptionChangedEvent } from '../classes/events.class';\n\nexport type MXComponentOptionChanging = { name: string; value?: any };\n\nexport type MXComponentSetOption = {\n name: string;\n value?: any;\n afterCallback?: (oldValue?: any, newValue?: any) => void;\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\n};\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\n@Injectable()\nexport abstract class MXBaseComponent {\n id: string;\n\n private _cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef: ElementRef = inject(ElementRef);\n private _viewRef: ViewContainerRef = inject(ViewContainerRef);\n\n protected get cdr(): ChangeDetectorRef {\n return this._cdr;\n }\n\n public getHostElement<T = HTMLElement>(): T {\n return this._elementRef.nativeElement as T;\n }\n\n protected getViewContainer(): ViewContainerRef {\n return this._viewRef;\n }\n\n protected onOptionChanging(option: MXComponentOptionChanging): any {\n return option?.value;\n }\n\n protected onOptionChanged: EventEmitter<AXOptionChangedEvent> = new EventEmitter<AXOptionChangedEvent>();\n\n protected setOption(option: MXComponentSetOption) {\n const oldValue = this[option.name];\n const newValue = this.onOptionChanging({\n name: option.name,\n value: option.value,\n });\n //TODO : check real changes\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this.onOptionChanged.emit({\n component: this,\n name: option.name,\n newValue,\n oldValue,\n });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n emitter?.emit(newValue);\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n\n private _rtl: boolean;\n\n public get rtl(): boolean {\n if (this._rtl) return this._rtl;\n else return this.getHostElement().classList.contains('ax-rtl') || window?.getComputedStyle(this.getHostElement(), null).getPropertyValue('direction') === 'rtl';\n }\n\n public set rtl(value: boolean) {\n this.setOption({ name: 'rtl', value });\n }\n}\n\nexport const BASE_INPUTS = ['rtl'];\nexport const BASE_OUTPUT = [];\n","import { AXHtmlUtil } from \"@acorex/core/utils\";\nimport { coerceNumberProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXFocusEvent } from \"../classes/events.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXInteractiveComponent extends MXBaseComponent {\n\n private _disabled: boolean;\n /**\n * If set to true, it disables the component.\n */\n public get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this.setOption({ name: \"disabled\", value })\n }\n\n _tabIndex: number = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }\n set tabIndex(value: number) {\n this.setOption({ name: \"tabIndex\", value: value != null ? coerceNumberProperty(value) : 0 })\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnBlurEvent(e: FocusEvent): void {\n this.onBlur.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e\n });\n }\n\n constructor() {\n super();\n }\n\n focus() {\n AXHtmlUtil.focusElement(this.getHostElement());\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.getHostElement());\n }\n}\n\n\n\nexport const INTERACTIVE_INPUTS = ['disabled', 'tabIndex', ...BASE_INPUTS];\nexport const INTERACTIVE_OUTPUT = ['onFocus', 'onBlur', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { AXStyleColorType } from \"../classes/styles.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXColorComponent extends MXBaseComponent {\n\n constructor() {\n super();\n }\n\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n private _color: AXStyleColorType = 'primary';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this.setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n}\n\n\nexport const COLOR_INPUTS = ['color', ...BASE_INPUTS];\nexport const COLOR_OUTPUT = ['colorChange', ...BASE_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { AXStyleLookType } from \"../classes/styles.class\";\nimport { BASE_INPUTS, BASE_OUTPUT, MXBaseComponent } from \"./base-component.class\";\n\nexport class MXLookComponent extends MXBaseComponent {\n\n constructor() {\n super();\n }\n\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n private _look?: AXStyleLookType = 'default';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look!;\n }\n set look(value: AXStyleLookType) {\n this.setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n}\n\nexport const LOOK_INPUTS = ['look', ...BASE_INPUTS];\nexport const LOOK_OUTPUT = ['lookChange', ...BASE_OUTPUT];","import { classes } from \"polytype\";\nimport { COLOR_INPUTS, COLOR_OUTPUT, MXColorComponent } from \"./color-component.class\";\nimport { LOOK_INPUTS, LOOK_OUTPUT, MXLookComponent } from \"./look-component.class\";\n\n\nexport class MXColorLookComponent\n extends\n classes(MXColorComponent, MXLookComponent)\n{\n constructor() {\n super();\n }\n}\n\n\n\nexport const COLOR_LOOK_INPUTS = [...COLOR_INPUTS, ...LOOK_INPUTS];\nexport const COLOR_LOOK_OUTPUT = [...COLOR_OUTPUT, ...LOOK_OUTPUT];","import { EventEmitter } from \"@angular/core\";\nimport { classes } from \"polytype\";\nimport { COLOR_LOOK_INPUTS, COLOR_LOOK_OUTPUT, MXColorLookComponent } from \"./colorlook-component.class\";\nimport { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, MXInteractiveComponent } from \"./interactive-component.class\";\n\nexport class MXButtonBaseComponent\n extends\n classes(MXInteractiveComponent, MXColorLookComponent)\n{\n\n textChange: EventEmitter<string> = new EventEmitter();\n private _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this.setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n })\n }\n\n\n\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n private _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable!;\n }\n set toggleable(value: boolean) {\n this.setOption({\n name: 'toggleable',\n value\n });\n }\n\n\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n private _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected!;\n }\n set selected(value: boolean) {\n this.setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n }\n });\n }\n\n constructor() {\n super();\n }\n\n protected get cssClasses() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this[\"disabled\"],\n 'ax-state-selected': this.selected\n };\n cssClasses[`ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`] = true;\n return cssClasses;\n }\n}\n\n\nexport const BUTTON_INPUTS = ['text', 'toggleable', 'selected', ...INTERACTIVE_INPUTS, COLOR_LOOK_INPUTS];\nexport const BUTTON_OUTPUT = ['textChange', 'toggleableChange', 'selectedChange', ...INTERACTIVE_OUTPUT, COLOR_LOOK_OUTPUT];","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXObjectUtil } from '@acorex/core/utils';\nimport { AXComponentState, MXBaseComponent } from './base-component.class';\nimport { AXValueChangedEvent } from '../classes/events.class';\n\n@Injectable()\nexport class MXValueComponent<T = any> extends MXBaseComponent {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\n\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n private _readonly: boolean = false;\n\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n private _name: string;\n get name() {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n\n private _isUserInteraction: boolean = false;\n\n get isUserInteraction(): boolean {\n return this._isUserInteraction;\n }\n\n set isUserInteraction(value: boolean) {\n this._isUserInteraction = value;\n }\n\n initValue: T;\n defaultValue: T;\n\n private _value: T;\n get value(): T {\n return this.getValue(this._value) || this.defaultValue;\n }\n set value(v: T) {\n v = this.setValue(v);\n //if (!this._isInited ) {\n const old = AXObjectUtil.deepJSONClone(this.value);\n // TODO: check real equality\n if (v != old) {\n this._value = v;\n this.emitOnValueChangedEvent(old, this.value);\n this.cdr.markForCheck();\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\n this.setState('clear');\n }\n // else {\n // if (this._isInited) {\n // this.validate();\n // }\n // }\n }\n this._isUserInteraction = false;\n //}\n }\n\n private _state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this._state;\n }\n\n set state(value: AXComponentState) {\n this.setState(value);\n this.stateChange.emit(value);\n }\n\n protected emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this.isUserInteraction,\n });\n this._isUserInteraction = false;\n }\n\n protected setValue(value: any) {\n return value;\n }\n\n protected getValue(value: any) {\n return value;\n }\n\n protected ngOnInit(): void {\n this.getHostElement().setAttribute('ax-form-input', 'true');\n }\n\n protected ngAfterViewInit(): void {\n this._checkRequired();\n }\n\n protected ngOnDestroy() {\n this.onValueChanged?.unsubscribe();\n this.onOptionChanged?.unsubscribe();\n }\n\n clear() {\n this.value = null;\n }\n\n private _checkRequired() {\n const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some(c => (c as any).__axContext__.enabled && (c as any).__axContext__.rule == 'required');\n //\n if (isRequired) {\n const container = this.getHostElement().classList.contains('ax-editor-container') ? this.getHostElement() : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = (formField?.querySelector('ax-label') as any)?.__axContext__;\n if (label) label.required = true;\n }\n }\n\n validate(): Promise<any> {\n const rules = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).filter(c => (c as any).__axContext__.enabled);\n //\n if (!rules || rules.length === 0) {\n this.setState('clear');\n return Promise.resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n\n return new Promise<any>(resolve => {\n Promise.all(\n rules\n .filter(c => typeof (c as any)?.validate === 'function')\n .map(c => {\n return (c as any).validate(this.value);\n })\n ).then(d => {\n const error = d.find(c => c.result === false);\n if (error) {\n this.setState('error', error.message);\n resolve({\n result: false,\n value: this.value,\n message: error.message,\n name: this.name,\n id: this.id,\n });\n } else {\n this.setState('success');\n resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n });\n });\n }\n\n protected setState(state: AXComponentState, ...args) {\n const container = this.getHostElement().classList.contains('ax-editor-container') ? this.getHostElement() : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this.getHostElement().firstElementChild;\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this._state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this.setState('clear');\n target.classList.add('ax-state-success');\n this._state = 'success';\n break;\n case 'error':\n this.setState('clear');\n if (args[0]) {\n const span = document.createElement('span');\n span.innerText = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this._state = 'error';\n break;\n }\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n Host,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport { AXFocusableComponent } from '../classes/components.class';\n\n@Directive({\n selector: '[axAutoFocus]',\n})\nexport class AXAutoFocusDirective implements AfterContentInit {\n\n @Input('axAutoFocus')\n public autoFocus?: boolean = true;\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXFocusableComponent\n ) { }\n\n\n @Input('focus-time')\n time: number = 100;\n\n ngAfterContentInit(): void {\n if (this.autoFocus) {\n const list = [\n 'button',\n 'input',\n '[href]',\n 'select',\n 'textarea',\n '[tabindex]',\n ].map((c) => c + ':not([tabindex=\"-1\"])');\n\n const focusable =\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ??\n this.el.nativeElement;\n \n const attr = document.createAttribute('autofocus');\n focusable.setAttributeNode(attr);\n const hasTabindex = focusable.hasAttribute('tabindex');\n if (!hasTabindex) {\n focusable.setAttribute('tabIndex', '0');\n }\n setTimeout(() => {\n focusable.focus();\n }, 100);\n }\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from \"@angular/core\";\nimport { NgModel } from \"@angular/forms\";\nimport { debounceTime, distinctUntilChanged, skip, Subscription } from \"rxjs\";\n\n@Directive({\n selector: '[ngModelChangeDebounced]',\n})\nexport class AXNgModelChangeDebouncedDirective implements OnDestroy {\n\n @Output()\n ngModelChangeDebounced = new EventEmitter<any>();\n\n @Output()\n ngModelChangeDebounceTimeChange = new EventEmitter<number>()\n\n private _ngModelChangeDebounceTime: number = 0;\n @Input()\n public get ngModelChangeDebounceTime(): number {\n return this._ngModelChangeDebounceTime;\n }\n public set ngModelChangeDebounceTime(v: number) {\n if (v != this._ngModelChangeDebounceTime) {\n this._ngModelChangeDebounceTime = v;\n this.ngModelChangeDebounceTimeChange.emit(v);\n this.update()\n }\n }\n\n private subscription: Subscription;\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n constructor(private ngModel: NgModel) {\n this.ngModelChangeDebounceTime = 0;\n }\n\n private update() {\n this.subscription?.unsubscribe();\n //\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1), // skip initial value\n distinctUntilChanged(),\n debounceTime(this.ngModelChangeDebounceTime)\n ).subscribe((value) => this.ngModelChangeDebounced.emit(value));\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { EventManager } from '@angular/platform-browser';\nimport { Observable } from 'rxjs/internal/Observable';\n\ntype Options = {\n element: any;\n keys: string;\n};\n\n@Injectable({ providedIn: 'root' })\nexport class AXHotkeysService {\n defaults: Partial<Options> = {\n element: this.document,\n };\n\n constructor(private eventManager: EventManager, @Inject(DOCUMENT) private document: Document) {}\n\n addShortcut(options: Partial<Options>) {\n const merged = { ...this.defaults, ...options };\n const event = `keydown.${merged.keys}`;\n return new Observable(observer => {\n const handler = (e: UIEvent) => {\n e.preventDefault();\n observer.next(e);\n };\n if (merged.element) {\n // Todo: check addEventListener is not function\n\n const dispose = this.eventManager.addEventListener(merged.element, event, handler);\n return () => {\n dispose();\n };\n } else {\n // console.error('Element is not accessible');\n return null;\n }\n });\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXComponent } from '../classes/components.class';\nimport { AXHotkeysService } from '../services/hotkey.service';\n\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\n\n@Directive({\n selector: '[hotkey]',\n})\nexport class AXHotkeyDirective implements AfterViewInit {\n @Input('hotkey')\n public hotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\n\n private _subs: Subscription[] = [];\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXComponent,\n private hs: AXHotkeysService\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.hotkey || !this._host) return;\n\n if (typeof this.hotkey == 'string') {\n this._addDefaultAction(this.hotkey);\n } else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {\n this._addHotKeyAction([this.hotkey as AXHotKeyAction]);\n } else if (Array.isArray(this.hotkey)) {\n this._addHotKeyAction(this.hotkey);\n }\n }\n\n private _addDefaultAction(hotkey: string) {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\n if (this._host[a]) {\n this._host[a]();\n return;\n }\n });\n })\n );\n }\n\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\n hotkeys.forEach((k) => {\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\n const action = <unknown>Object.entries(k)[0][1];\n if (!action) this._addDefaultAction(hotkey);\n else {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n if (typeof action == 'string' && this._host[action]) {\n this._host[action]();\n return;\n }\n if (typeof action == 'function') {\n action();\n return;\n }\n })\n );\n }\n });\n }\n\n ngOnDestroy() {\n this._subs.forEach((s) => {\n s.unsubscribe();\n });\n }\n}\n","import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core';\nimport { fromEvent, Observable } from 'rxjs';\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\n\n\nexport interface AXScrollPosition {\n scrollHeight: number;\n scrollTop: number;\n clientHeight: number;\n};\n\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\n scrollHeight: 0,\n scrollTop: 0,\n clientHeight: 0\n};\n\n@Directive({\n selector: '[axInfiniteScroller]'\n})\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\n\n private scrollEvent$: Observable<any>;\n\n private userScrolledDown$: Observable<any>;\n\n\n private requestOnScroll$: Observable<any>;\n\n @Input()\n scrollCallback: Function;\n\n @Input()\n immediateCallback;\n\n @Input()\n scrollPercent = 70;\n\n constructor(private elm: ElementRef) { }\n\n ngAfterViewInit() {\n\n this.registerScrollEvent();\n\n this.streamScrollEvents();\n\n this.requestCallbackOnScroll();\n\n }\n\n private registerScrollEvent() {\n\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\n\n }\n\n private streamScrollEvents() {\n this.userScrolledDown$ = this.scrollEvent$\n .pipe(\n map((e: any): AXScrollPosition => ({\n scrollHeight: e.target.scrollHeight,\n scrollTop: e.target.scrollTop,\n clientHeight: e.target.clientHeight\n })),\n pairwise(),\n filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1]))\n );\n }\n\n private requestCallbackOnScroll() {\n this.requestOnScroll$ = this.userScrolledDown$;\n\n if (this.immediateCallback) {\n this.requestOnScroll$ = this.requestOnScroll$.pipe(\n startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION])\n );\n }\n\n this.requestOnScroll$.pipe(\n exhaustMap(() => {\n return this.scrollCallback();\n }))\n //.subscribe((data) => { console.log(data) }, (err) => console.log(err));\n\n }\n\n private isUserScrollingDown = (positions) => {\n return positions[0].sT < positions[1].sT;\n }\n\n private isScrollExpectedPercent = (position) => {\n return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);\n }\n\n}","import { Directive, ElementRef, OnDestroy } from '@angular/core';\n\n@Directive({ selector: '[ax-responsive]' })\nexport class AXResponsiveDirective implements OnDestroy {\n private _observer: ResizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n if (entry.target) {\n const e = entry.target;\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\n elements\n .map(c => ({\n element: c,\n classList: Array.from(c.classList)\n .filter(c => c.includes('sm'))\n .map(c => c.slice(3)),\n }))\n .forEach(c => {\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\n });\n }\n }\n });\n\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\n this._observer.observe(_elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n this._observer?.disconnect();\n this._observer?.unobserve(this._elementRef.nativeElement);\n }\n}\n","import {\n Overlay,\n OverlayKeyboardDispatcher,\n OverlayPositionBuilder,\n ScrollStrategyOptions,\n OverlayContainer,\n OverlayRef,\n OverlayConfig,\n OverlayOutsideClickDispatcher,\n} from '@angular/cdk/overlay';\n\n// TODO: 'ComponentFactoryResolver' is deprecated.\nimport {\n ComponentFactoryResolver,\n Inject,\n Injector,\n NgZone,\n Renderer2,\n RendererFactory2,\n Injectable,\n} from '@angular/core';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT, Location } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DynamicOverlayContainer extends OverlayContainer {\n public setContainerElement(containerElement: HTMLElement): void {\n this._containerElement = containerElement;\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DynamicOverlay extends Overlay {\n private readonly _dynamicOverlayContainer: DynamicOverlayContainer;\n private renderer: Renderer2;\n\n constructor(\n scrollStrategies: ScrollStrategyOptions,\n _overlayContainer: DynamicOverlayContainer,\n _componentFactoryResolver: ComponentFactoryResolver,\n _positionBuilder: OverlayPositionBuilder,\n _keyboardDispatcher: OverlayKeyboardDispatcher,\n _injector: Injector,\n _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any,\n _directionality: Directionality,\n rendererFactory: RendererFactory2,\n _location: Location,\n _outsideClickDispatcher: OverlayOutsideClickDispatcher\n ) {\n super(\n scrollStrategies,\n _overlayContainer,\n _componentFactoryResolver,\n _positionBuilder,\n _keyboardDispatcher,\n _injector,\n _ngZone,\n _document,\n _directionality,\n _location,\n _outsideClickDispatcher\n );\n this.renderer = rendererFactory.createRenderer(null, null);\n\n this._dynamicOverlayContainer = _overlayContainer;\n }\n\n private setContainerElement(containerElement: HTMLElement): void {\n this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');\n this._dynamicOverlayContainer.setContainerElement(containerElement);\n }\n\n public createOn(\n containerElement: HTMLElement,\n config?: OverlayConfig\n ): OverlayRef {\n this.setContainerElement(containerElement);\n return super.create(config);\n }\n}\n","import {\n Injectable,\n ApplicationRef,\n ViewContainerRef,\n TemplateRef,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayPositionBuilder,\n PositionStrategy,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal, Portal, ComponentPortal } from '@angular/cdk/portal';\nimport { merge } from 'rxjs';\nimport { DynamicOverlay } from './custom-cdk-overlay.service';\nimport { AXConnectedPosition } from '../classes/drawing.class';\nimport { NavigationStart, RouterEvent, Router } from '@angular/router';\n\nexport interface AXOverlayViewRef {\n instance: any;\n dispose: () => void;\n isOpen: () => boolean;\n}\n\nexport interface AXOverlayConfigs {\n position?: AXConnectedPosition | AXConnectedPosition[] | PositionStrategy;\n hasBackdrop?: boolean;\n transparentBackdrop?: boolean;\n closeOnClickOutside?: boolean;\n targetElement?: HTMLElement;\n containerElement?: HTMLElement;\n onBackdropClick?: () => void;\n panelClass?: string[] | string;\n backdropClass?: string[] | string;\n scroll?: 'auto' | 'block' | 'close';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXOverlayService {\n portal: Portal<any>;\n constructor(\n private overlayService: DynamicOverlay,\n private overlayService2: Overlay,\n private appRef: ApplicationRef\n ) {}\n\n position(): OverlayPositionBuilder {\n return this.overlayService.position();\n }\n\n show(\n content: any,\n context?: any,\n configs?: AXOverlayConfigs\n ): AXOverlayViewRef {\n configs = Object.assign(\n {\n hasBackdrop: true,\n transparentBackdrop: true,\n closeOnClickOutside: true,\n },\n configs || {}\n );\n // get root viewref\n const viewRef: ViewContainerRef =\n this.appRef.components[0].instance.viewRef;\n\n // let portal: Portal<any>;\n // get component by route\n if (typeof content === 'string') {\n // TODO: ???\n }\n // create portal from component\n else if (content instanceof TemplateRef) {\n this.portal = new TemplatePortal(content, viewRef, context);\n } else if (typeof content === 'function') {\n this.portal = new ComponentPortal(content, viewRef);\n }\n let positionStrategy: PositionStrategy;\n if (configs.position && configs.targetElement) {\n const p: ConnectedPosition[] = Array.isArray(configs.position)\n ? (configs.position as ConnectedPosition[])\n : [configs.position as ConnectedPosition];\n positionStrategy = this.overlayService\n .position()\n .flexibleConnectedTo(configs.targetElement)\n .withPositions(p)\n .withPush(true);\n } else {\n positionStrategy = configs.position\n ? (configs.position as PositionStrategy)\n : this.overlayService\n .position()\n .global()\n .centerHorizontally()\n .centerVertically();\n }\n let scrollStrategy: ScrollStrategy =\n this.overlayService.scrollStrategies.reposition({ autoClose: true });\n if (configs.scroll === 'block') {\n scrollStrategy = this.overlayService.scrollStrategies.block();\n }\n if (configs.scroll === 'close') {\n scrollStrategy = this.overlayService.scrollStrategies.close();\n }\n\n const config = {\n positionStrategy,\n scrollStrategy,\n hasBackdrop: configs.hasBackdrop,\n disposeOnNavigation: true,\n backdropClass: configs.backdropClass\n ? configs.backdropClass\n : configs.transparentBackdrop\n ? 'cdk-overlay-transparent-backdrop'\n : undefined,\n panelClass: configs.panelClass\n ? configs.panelClass\n : ['ax-animate-animated', 'ax-animate-zoomIn', 'ax-animate-faster'],\n };\n let overlayRef: any = configs.containerElement\n ? this.overlayService.createOn(configs.containerElement, config)\n : this.overlayService2.create(config);\n\n const host = overlayRef.attach(this.portal!);\n if (host.instance) {\n Object.assign(host.instance, context);\n setTimeout(() => {\n host.changeDetectorRef.detectChanges();\n }, 0);\n }\n\n if (configs.closeOnClickOutside) {\n merge(overlayRef.backdropClick(), overlayRef.detachments()).subscribe(\n () => {\n overlayRef.dispose();\n overlayRef = undefined;\n if (configs!.onBackdropClick) {\n configs!.onBackdropClick();\n }\n }\n );\n }\n return {\n instance: host.instance,\n dispose: overlayRef.dispose.bind(overlayRef),\n isOpen: () => {\n return overlayRef.hasAttached();\n },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\nimport { AXNgModelChangeDebouncedDirective } from './directives/debounce-time.directive';\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\nimport { AXResponsiveDirective } from './directives/responsive.directive';\n@NgModule({\n imports: [],\n exports: [\n AXResponsiveDirective,\n AXInfiniteScrollerDirective,\n AXAutoFocusDirective,\n AXNgModelChangeDebouncedDirective,\n AXHotkeyDirective,\n ],\n declarations: [\n AXResponsiveDirective,\n AXInfiniteScrollerDirective,\n AXNgModelChangeDebouncedDirective,\n AXAutoFocusDirective,\n AXHotkeyDirective,\n ],\n providers: [],\n})\nexport class AXCommonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","i1","i1.DynamicOverlay","i2"],"mappings":"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"}
@@ -158,7 +158,7 @@ class AXFormComponent extends AXBaseComponentMixin {
158
158
  });
159
159
  }
160
160
  onDestroy() {
161
- this._observer.disconnect();
161
+ this._observer?.disconnect();
162
162
  this._observer = null;
163
163
  this._clearSubs();
164
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXValuableComponent } from '@acorex/components/common';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n host: { class: 'ax-form-field' },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { AXEvent } from '@acorex/components/common';\nimport { AXFormValidationResult } from './validation.class';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXFormValidationResult;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset($event)\" class=\"ax-{{validationMessageMode}}-error\"><ng-content></ng-content></form>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends AXBaseComponentMixin {\n @Input() validationMessageMode: 'normal' | 'tooltip' = 'normal';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this._setOption({\n name: 'updateOn',\n value: v,\n afterCallback: (oldValue?, newValue?) => {\n this._bindEvents();\n },\n });\n }\n\n @Input()\n validateInitValues: boolean = false;\n\n private _observer: MutationObserver;\n private _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n this.validate();\n }\n\n _handleReset(e: Event) {\n this.clear();\n }\n\n private _getComponenets() {\n return Array.from(this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')).map(c => (c as any).__axContext__);\n }\n\n onViewInit(): void {\n if (this.validateInitValues) {\n this._validateInitValues();\n }\n this._bindEvents();\n\n const config = { attributes: false, childList: true, subtree: true };\n const callback = (mutationList, observer) => {\n this._bindEvents();\n };\n\n // Create an observer instance linked to the callback function\n if (typeof MutationObserver !== 'undefined') {\n this._observer = new MutationObserver(callback);\n }\n\n this._observer.observe(this._getHostElement(), config);\n }\n\n private _bindEvents() {\n this._clearSubs();\n const widgets = this._getComponenets();\n //\n widgets.forEach(w => {\n if (this.updateOn == 'change') {\n this._subs.push(\n w.onValueChanged?.subscribe(v => {\n w.validate();\n })\n );\n } else if (this.updateOn == 'blur') {\n this._subs.push(\n w.onBlur?.subscribe(v => {\n w.validate();\n })\n );\n }\n });\n }\n\n private _clearSubs() {\n this._subs.forEach(c => c.unsubscribe());\n this._subs = [];\n }\n\n private _validateInitValues() {\n this._getComponenets()\n .filter(c => c['value'])\n .forEach(c => c.validate());\n }\n\n validate(...args: string[]): Promise<AXFormValidationResult> {\n const widgets = this._getComponenets();\n if (widgets.length === 0) {\n this._emitOnValidateEvent({ result: true });\n return Promise.resolve({ result: true });\n }\n //\n return new Promise<AXFormValidationResult>((resolve, reject) => {\n Promise.all(widgets.filter(c => args == null || args.length == 0 || args.includes(c.name)).map(c => c.validate())).then((rules: any) => {\n const failed = rules.filter((c: any) => !c.result);\n if (failed.length) {\n this._emitOnValidateEvent({\n result: false,\n items: failed,\n });\n resolve({\n result: false,\n items: failed,\n });\n } else {\n this._emitOnValidateEvent({ result: true });\n resolve({ result: true });\n }\n });\n });\n }\n\n private _emitOnValidateEvent(e: AXFormValidationResult) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this._getHostElement(),\n });\n }\n\n clear() {\n const widgets = this._getComponenets();\n widgets.forEach(w => {\n w.clear();\n });\n }\n\n onDestroy(): void {\n this._observer.disconnect();\n this._observer = null;\n this._clearSubs();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewEncapsulation } from '@angular/core';\nimport { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';\nimport { AXConfig } from '@acorex/core/config';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\n\n@Component({\n selector: 'ax-validation-rule',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {\n @Input()\n rule: AXValidationRuleTypes = 'required';\n\n @Input()\n message: string;\n\n @Input()\n showMessage: boolean = true;\n\n @Input()\n value: any;\n\n @Input()\n enabled: boolean = true;\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n onInit() {\n (this._getHostElement() as any).validate = this.validate.bind(this);\n }\n\n validate(value: any): Promise<AXValidationRuleResult> {\n if (this.enabled === false) {\n return Promise.resolve({ result: true });\n }\n if (this.rule == 'custom') {\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\n if (regRule) {\n return this._internalValidate(regRule.rule, value, this.message || regRule.message, regRule.value);\n }\n }\n return this._internalValidate(this.rule, value, this.message, this.value);\n }\n\n private _internalValidate(type: string, value?: any, message?: string, ruleValue?: any): Promise<AXValidationRuleResult> {\n return new Promise<AXValidationRuleResult>(resolve => {\n switch (type) {\n case 'required':\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.required') : '',\n result: !this._isNullOrEmpty(value),\n });\n break;\n case 'regex':\n const ex = new RegExp(ruleValue);\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.regex') : '',\n result: ex.test(value),\n });\n break;\n case 'callback':\n if (typeof ruleValue === 'function') {\n const res: any = {};\n res.message = this.showMessage ? message : null;\n const val = ruleValue({ value, message });\n if (val instanceof Promise) {\n val\n .then(c => {\n res.result = c;\n })\n .catch(c => {\n res.result = false;\n })\n .finally(() => {\n resolve(res);\n });\n } else {\n res.result = val;\n resolve(res);\n }\n } else {\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\n result: false,\n });\n }\n break;\n default:\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\n result: false,\n });\n }\n });\n }\n\n private _isNullOrEmpty(value: any): boolean {\n return (\n value === undefined ||\n value === null ||\n Number.isNaN(value) ||\n //(typeof value === 'object' && Object.keys(value).length === 0) ||\n (Array.isArray(value) && value.length == 0) ||\n (typeof value === 'string' && value.trim().length === 0)\n );\n }\n}\n","import { AXTranslator } from \"@acorex/core/translation\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\nimport { AXEvent } from \"@acorex/components/common\";\nimport { AXToastService } from \"@acorex/components/toast\";\nimport { AXFormComponent } from \"./form.component\";\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\n\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\n <ax-icon></ax-icon>\n <ax-title>{{title}}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\">\n </div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\n\n _content?: string = '';\n\n private _title: string = AXTranslator.get('validation.messages.title');\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide: boolean = false;\n\n _timeOut: number;\n\n constructor(\n _elementRef: ElementRef,\n _cdr: ChangeDetectorRef,\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private _parent: AXFormComponent\n ) {\n super(_elementRef, _cdr);\n //\n _parent.onValidate.subscribe((c: any) => {\n if (!c.result.result) {\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\n //\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeable: true,\n timeOut: this._timeOut,\n content: this._content,\n title: this.title\n });\n }\n }\n else {\n this._content = '';\n }\n _cdr.markForCheck();\n });\n }\n\n _handleOnDismissed(e: AXEvent) {\n this._content = '';\n }\n}","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXConfig } from '@acorex/core/config';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleComponent } from './validation-rule.widget';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\n exports: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n providers: [],\n})\nexport class AXFormModule {\n constructor() {\n AXConfig.set({\n form: {\n validation: {\n rules: {\n email: {\n rule: 'regex',\n value:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: AXTranslator.get('validation.messages.email'),\n },\n phone: {\n rule: 'regex',\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: AXTranslator.get('validation.messages.phone'),\n },\n },\n },\n },\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../projects/acorex/components/form/src/form-field.component.ts","../../../../projects/acorex/components/form/src/form.component.ts","../../../../projects/acorex/components/form/src/validation-rule.widget.ts","../../../../projects/acorex/components/form/src/validation-summary.component.ts","../../../../projects/acorex/components/form/src/form.module.ts","../../../../projects/acorex/components/form/acorex-components-form.ts"],"sourcesContent":["import { AXValuableComponent } from '@acorex/components/common';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n host: { class: 'ax-form-field' },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormFieldComponent extends AXBaseComponentMixin {\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { AXEvent } from '@acorex/components/common';\nimport { AXFormValidationResult } from './validation.class';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXFormValidationResult;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'manual';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: '<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset($event)\" class=\"ax-{{validationMessageMode}}-error\"><ng-content></ng-content></form>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends AXBaseComponentMixin {\n @Input() validationMessageMode: 'normal' | 'tooltip' = 'normal';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this._setOption({\n name: 'updateOn',\n value: v,\n afterCallback: (oldValue?, newValue?) => {\n this._bindEvents();\n },\n });\n }\n\n @Input()\n validateInitValues: boolean = false;\n\n private _observer: MutationObserver;\n private _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n this.validate();\n }\n\n _handleReset(e: Event) {\n this.clear();\n }\n\n private _getComponenets() {\n return Array.from(this._getHostElement().querySelectorAll('[ax-form-input=\"true\"]')).map(c => (c as any).__axContext__);\n }\n\n onViewInit(): void {\n if (this.validateInitValues) {\n this._validateInitValues();\n }\n this._bindEvents();\n\n const config = { attributes: false, childList: true, subtree: true };\n const callback = (mutationList, observer) => {\n this._bindEvents();\n };\n\n // Create an observer instance linked to the callback function\n if (typeof MutationObserver !== 'undefined') {\n this._observer = new MutationObserver(callback);\n }\n\n this._observer.observe(this._getHostElement(), config);\n }\n\n private _bindEvents() {\n this._clearSubs();\n const widgets = this._getComponenets();\n //\n widgets.forEach(w => {\n if (this.updateOn == 'change') {\n this._subs.push(\n w.onValueChanged?.subscribe(v => {\n w.validate();\n })\n );\n } else if (this.updateOn == 'blur') {\n this._subs.push(\n w.onBlur?.subscribe(v => {\n w.validate();\n })\n );\n }\n });\n }\n\n private _clearSubs() {\n this._subs.forEach(c => c.unsubscribe());\n this._subs = [];\n }\n\n private _validateInitValues() {\n this._getComponenets()\n .filter(c => c['value'])\n .forEach(c => c.validate());\n }\n\n validate(...args: string[]): Promise<AXFormValidationResult> {\n const widgets = this._getComponenets();\n if (widgets.length === 0) {\n this._emitOnValidateEvent({ result: true });\n return Promise.resolve({ result: true });\n }\n //\n return new Promise<AXFormValidationResult>((resolve, reject) => {\n Promise.all(widgets.filter(c => args == null || args.length == 0 || args.includes(c.name)).map(c => c.validate())).then((rules: any) => {\n const failed = rules.filter((c: any) => !c.result);\n if (failed.length) {\n this._emitOnValidateEvent({\n result: false,\n items: failed,\n });\n resolve({\n result: false,\n items: failed,\n });\n } else {\n this._emitOnValidateEvent({ result: true });\n resolve({ result: true });\n }\n });\n });\n }\n\n private _emitOnValidateEvent(e: AXFormValidationResult) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this._getHostElement(),\n });\n }\n\n clear() {\n const widgets = this._getComponenets();\n widgets.forEach(w => {\n w.clear();\n });\n }\n\n onDestroy(): void {\n this._observer?.disconnect();\n this._observer = null;\n this._clearSubs();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewEncapsulation } from '@angular/core';\nimport { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';\nimport { AXConfig } from '@acorex/core/config';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\n\n@Component({\n selector: 'ax-validation-rule',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {\n @Input()\n rule: AXValidationRuleTypes = 'required';\n\n @Input()\n message: string;\n\n @Input()\n showMessage: boolean = true;\n\n @Input()\n value: any;\n\n @Input()\n enabled: boolean = true;\n\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n onInit() {\n (this._getHostElement() as any).validate = this.validate.bind(this);\n }\n\n validate(value: any): Promise<AXValidationRuleResult> {\n if (this.enabled === false) {\n return Promise.resolve({ result: true });\n }\n if (this.rule == 'custom') {\n const regRule = AXConfig.get(`form.validation.rules.${this.value}`);\n if (regRule) {\n return this._internalValidate(regRule.rule, value, this.message || regRule.message, regRule.value);\n }\n }\n return this._internalValidate(this.rule, value, this.message, this.value);\n }\n\n private _internalValidate(type: string, value?: any, message?: string, ruleValue?: any): Promise<AXValidationRuleResult> {\n return new Promise<AXValidationRuleResult>(resolve => {\n switch (type) {\n case 'required':\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.required') : '',\n result: !this._isNullOrEmpty(value),\n });\n break;\n case 'regex':\n const ex = new RegExp(ruleValue);\n resolve({\n message: this.showMessage ? message || AXTranslator.get('validation.messages.regex') : '',\n result: ex.test(value),\n });\n break;\n case 'callback':\n if (typeof ruleValue === 'function') {\n const res: any = {};\n res.message = this.showMessage ? message : null;\n const val = ruleValue({ value, message });\n if (val instanceof Promise) {\n val\n .then(c => {\n res.result = c;\n })\n .catch(c => {\n res.result = false;\n })\n .finally(() => {\n resolve(res);\n });\n } else {\n res.result = val;\n resolve(res);\n }\n } else {\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-fn'),\n result: false,\n });\n }\n break;\n default:\n resolve({\n message: AXTranslator.get('validation.messages.invalid-rull-name'),\n result: false,\n });\n }\n });\n }\n\n private _isNullOrEmpty(value: any): boolean {\n return (\n value === undefined ||\n value === null ||\n Number.isNaN(value) ||\n //(typeof value === 'object' && Object.keys(value).length === 0) ||\n (Array.isArray(value) && value.length == 0) ||\n (typeof value === 'string' && value.trim().length === 0)\n );\n }\n}\n","import { AXTranslator } from \"@acorex/core/translation\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, ViewEncapsulation } from \"@angular/core\";\nimport { AXEvent } from \"@acorex/components/common\";\nimport { AXToastService } from \"@acorex/components/toast\";\nimport { AXFormComponent } from \"./form.component\";\nimport { AXBaseComponentMixin } from \"@acorex/components/mixin\";\n\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert'\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n <ax-alert color=\"danger\" *ngIf=\"displayMode=='alert' && _content\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed($event)\">\n <ax-icon></ax-icon>\n <ax-title>{{title}}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\">\n </div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXValidationSummaryComponent extends AXBaseComponentMixin {\n\n _content?: string = '';\n\n private _title: string = AXTranslator.get('validation.messages.title');\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide: boolean = false;\n\n _timeOut: number;\n\n constructor(\n _elementRef: ElementRef,\n _cdr: ChangeDetectorRef,\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private _parent: AXFormComponent\n ) {\n super(_elementRef, _cdr);\n //\n _parent.onValidate.subscribe((c: any) => {\n if (!c.result.result) {\n this._content = `<ul>${c.result.items.map(c => `<li>${c.message}</li>`).join('')}</ul>`;\n this._timeOut = this.autoHide ? (this.timeOut ?? Math.max(c.result.items.length * 1500, 2000)) : 0;\n //\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeable: true,\n timeOut: this._timeOut,\n content: this._content,\n title: this.title\n });\n }\n }\n else {\n this._content = '';\n }\n _cdr.markForCheck();\n });\n }\n\n _handleOnDismissed(e: AXEvent) {\n this._content = '';\n }\n}","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXConfig } from '@acorex/core/config';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleComponent } from './validation-rule.widget';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule],\n exports: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleComponent,\n AXValidationSummaryComponent,\n ],\n providers: [],\n})\nexport class AXFormModule {\n constructor() {\n AXConfig.set({\n form: {\n validation: {\n rules: {\n email: {\n rule: 'regex',\n value:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: AXTranslator.get('validation.messages.email'),\n },\n phone: {\n rule: 'regex',\n value: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: AXTranslator.get('validation.messages.phone'),\n },\n },\n },\n },\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "7.1.21",
3
+ "version": "7.1.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.0.2",
6
6
  "@angular/core": "^16.0.2",
@@ -31,6 +31,12 @@
31
31
  "esm": "./esm2022/action-sheet/acorex-components-action-sheet.mjs",
32
32
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
33
33
  },
34
+ "./alert": {
35
+ "types": "./alert/index.d.ts",
36
+ "esm2022": "./esm2022/alert/acorex-components-alert.mjs",
37
+ "esm": "./esm2022/alert/acorex-components-alert.mjs",
38
+ "default": "./fesm2022/acorex-components-alert.mjs"
39
+ },
34
40
  "./avatar": {
35
41
  "types": "./avatar/index.d.ts",
36
42
  "esm2022": "./esm2022/avatar/acorex-components-avatar.mjs",
@@ -79,11 +85,11 @@
79
85
  "esm": "./esm2022/chips/acorex-components-chips.mjs",
80
86
  "default": "./fesm2022/acorex-components-chips.mjs"
81
87
  },
82
- "./alert": {
83
- "types": "./alert/index.d.ts",
84
- "esm2022": "./esm2022/alert/acorex-components-alert.mjs",
85
- "esm": "./esm2022/alert/acorex-components-alert.mjs",
86
- "default": "./fesm2022/acorex-components-alert.mjs"
88
+ "./collapse": {
89
+ "types": "./collapse/index.d.ts",
90
+ "esm2022": "./esm2022/collapse/acorex-components-collapse.mjs",
91
+ "esm": "./esm2022/collapse/acorex-components-collapse.mjs",
92
+ "default": "./fesm2022/acorex-components-collapse.mjs"
87
93
  },
88
94
  "./color-palette": {
89
95
  "types": "./color-palette/index.d.ts",
@@ -259,11 +265,11 @@
259
265
  "esm": "./esm2022/result/acorex-components-result.mjs",
260
266
  "default": "./fesm2022/acorex-components-result.mjs"
261
267
  },
262
- "./collapse": {
263
- "types": "./collapse/index.d.ts",
264
- "esm2022": "./esm2022/collapse/acorex-components-collapse.mjs",
265
- "esm": "./esm2022/collapse/acorex-components-collapse.mjs",
266
- "default": "./fesm2022/acorex-components-collapse.mjs"
268
+ "./search-box": {
269
+ "types": "./search-box/index.d.ts",
270
+ "esm2022": "./esm2022/search-box/acorex-components-search-box.mjs",
271
+ "esm": "./esm2022/search-box/acorex-components-search-box.mjs",
272
+ "default": "./fesm2022/acorex-components-search-box.mjs"
267
273
  },
268
274
  "./select-box": {
269
275
  "types": "./select-box/index.d.ts",
@@ -289,12 +295,6 @@
289
295
  "esm": "./esm2022/tabs/acorex-components-tabs.mjs",
290
296
  "default": "./fesm2022/acorex-components-tabs.mjs"
291
297
  },
292
- "./search-box": {
293
- "types": "./search-box/index.d.ts",
294
- "esm2022": "./esm2022/search-box/acorex-components-search-box.mjs",
295
- "esm": "./esm2022/search-box/acorex-components-search-box.mjs",
296
- "default": "./fesm2022/acorex-components-search-box.mjs"
297
- },
298
298
  "./tag": {
299
299
  "types": "./tag/index.d.ts",
300
300
  "esm2022": "./esm2022/tag/acorex-components-tag.mjs",
@@ -307,6 +307,12 @@
307
307
  "esm": "./esm2022/textarea/acorex-components-textarea.mjs",
308
308
  "default": "./fesm2022/acorex-components-textarea.mjs"
309
309
  },
310
+ "./textbox": {
311
+ "types": "./textbox/index.d.ts",
312
+ "esm2022": "./esm2022/textbox/acorex-components-textbox.mjs",
313
+ "esm": "./esm2022/textbox/acorex-components-textbox.mjs",
314
+ "default": "./fesm2022/acorex-components-textbox.mjs"
315
+ },
310
316
  "./time-box": {
311
317
  "types": "./time-box/index.d.ts",
312
318
  "esm2022": "./esm2022/time-box/acorex-components-time-box.mjs",
@@ -336,12 +342,6 @@
336
342
  "esm2022": "./esm2022/uploader/acorex-components-uploader.mjs",
337
343
  "esm": "./esm2022/uploader/acorex-components-uploader.mjs",
338
344
  "default": "./fesm2022/acorex-components-uploader.mjs"
339
- },
340
- "./textbox": {
341
- "types": "./textbox/index.d.ts",
342
- "esm2022": "./esm2022/textbox/acorex-components-textbox.mjs",
343
- "esm": "./esm2022/textbox/acorex-components-textbox.mjs",
344
- "default": "./fesm2022/acorex-components-textbox.mjs"
345
345
  }
346
346
  },
347
347
  "sideEffects": false