simpo-component-library 3.6.813 → 3.6.815

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.
Files changed (43) hide show
  1. package/esm2022/lib/directive/merge-header.directive.mjs +21 -7
  2. package/esm2022/lib/directive/sticky-directive.mjs +19 -8
  3. package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +9 -8
  4. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
  5. package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -3
  6. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
  7. package/esm2022/lib/sections/header-section/header-section.component.mjs +53 -55
  8. package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
  9. package/esm2022/lib/sections/testimonial-slider/testimonial-slider.component.mjs +3 -3
  10. package/esm2022/lib/services/events.service.mjs +1 -2
  11. package/esm2022/lib/services/rest.service.mjs +1 -4
  12. package/esm2022/lib/styles/index.mjs +1 -6
  13. package/fesm2022/simpo-component-library.mjs +102 -89
  14. package/fesm2022/simpo-component-library.mjs.map +1 -1
  15. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  16. package/lib/directive/merge-header.directive.d.ts +7 -3
  17. package/lib/directive/sticky-directive.d.ts +4 -2
  18. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  19. package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +1 -1
  20. package/lib/ecommerce/sections/featured-category/featured-collection.component.d.ts +1 -1
  21. package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
  22. package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
  23. package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
  24. package/lib/elements/link-editor/link-editor.component.d.ts +1 -1
  25. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  26. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  27. package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
  28. package/lib/sections/faq-columns-cards/faq-columns-cards.component.d.ts +1 -1
  29. package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
  30. package/lib/sections/header-section/header-section.component.d.ts +9 -10
  31. package/lib/sections/header-section/header-section.model.d.ts +1 -2
  32. package/lib/sections/image-grid-hotspot/image-grid-hotspot.component.d.ts +1 -1
  33. package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -1
  34. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  35. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +2 -2
  36. package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
  37. package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -2
  38. package/lib/services/events.service.d.ts +0 -1
  39. package/lib/services/rest.service.d.ts +0 -1
  40. package/lib/styles/index.d.ts +0 -4
  41. package/package.json +1 -1
  42. package/simpo-component-library-3.6.815.tgz +0 -0
  43. package/simpo-component-library-3.6.813.tgz +0 -0
@@ -1,22 +1,33 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { Directive, Inject, Input, PLATFORM_ID } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../services/events.service";
4
5
  export class MergeHeaderDirective {
5
- constructor(eventsService, el) {
6
+ constructor(eventsService, el, platformId) {
6
7
  this.eventsService = eventsService;
7
8
  this.el = el;
9
+ this.platformId = platformId;
8
10
  this.top = 0;
11
+ this.isBrowser = false;
12
+ this.isBrowser = isPlatformBrowser(this.platformId);
9
13
  }
10
14
  ngOnInit() {
11
- this.eventsService.elementHeight.subscribe((res) => {
12
- this.top = res;
15
+ if (!this.isBrowser)
16
+ return;
17
+ this.elementHeightSubscription = this.eventsService.elementHeight.subscribe((res) => {
18
+ this.top = Number(res) || 0;
13
19
  this.applyBackgroundPosition();
14
20
  });
15
21
  }
16
22
  ngOnChanges() {
17
23
  this.applyBackgroundPosition();
18
24
  }
25
+ ngOnDestroy() {
26
+ this.elementHeightSubscription?.unsubscribe();
27
+ }
19
28
  applyBackgroundPosition() {
29
+ if (!this.isBrowser)
30
+ return;
20
31
  if (window.innerWidth > 475) {
21
32
  if (this.merge)
22
33
  this.el.nativeElement.style.setProperty('margin-top', `-${this.top}px`);
@@ -24,7 +35,7 @@ export class MergeHeaderDirective {
24
35
  this.el.nativeElement.style.setProperty('margin-top', `0px`);
25
36
  }
26
37
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, deps: [{ token: i1.EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, deps: [{ token: i1.EventsService }, { token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
28
39
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MergeHeaderDirective, isStandalone: true, selector: "[simpoMergeHeader]", inputs: { merge: ["simpoMergeHeader", "merge"], backgroundInfo: "backgroundInfo" }, usesOnChanges: true, ngImport: i0 }); }
29
40
  }
30
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MergeHeaderDirective, decorators: [{
@@ -33,11 +44,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
33
44
  selector: '[simpoMergeHeader]',
34
45
  standalone: true
35
46
  }]
36
- }], ctorParameters: () => [{ type: i1.EventsService }, { type: i0.ElementRef }], propDecorators: { merge: [{
47
+ }], ctorParameters: () => [{ type: i1.EventsService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [PLATFORM_ID]
50
+ }] }], propDecorators: { merge: [{
37
51
  type: Input,
38
52
  args: ['simpoMergeHeader']
39
53
  }], backgroundInfo: [{
40
54
  type: Input,
41
55
  args: ['backgroundInfo']
42
56
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL21lcmdlLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0YsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUFvQixhQUE0QixFQUFVLEVBQWM7UUFBcEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRmhFLFFBQUcsR0FBVyxDQUFDLENBQUM7SUFFb0QsQ0FBQztJQUU3RSxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVPLHVCQUF1QjtRQUU3QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsS0FBSztnQkFDWixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNyQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQy9CLENBQUM7O2dCQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3JDLFlBQVksRUFBRSxLQUFLLENBQ3BCLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQzsrR0EvQlUsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzJHQUU0QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFDQSxjQUFjO3NCQUF0QyxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb01lcmdlSGVhZGVyXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVyZ2VIZWFkZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCdzaW1wb01lcmdlSGVhZGVyJykgbWVyZ2U/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgnYmFja2dyb3VuZEluZm8nKSBiYWNrZ3JvdW5kSW5mbzogYW55O1xyXG5cclxuICBwcml2YXRlIHRvcDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudHNTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmV2ZW50c1NlcnZpY2UuZWxlbWVudEhlaWdodC5zdWJzY3JpYmUoKHJlczogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMudG9wID0gcmVzO1xyXG4gICAgICB0aGlzLmFwcGx5QmFja2dyb3VuZFBvc2l0aW9uKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5hcHBseUJhY2tncm91bmRQb3NpdGlvbigpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5QmFja2dyb3VuZFBvc2l0aW9uKCkge1xyXG5cclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSkge1xyXG4gICAgICBpZiAodGhpcy5tZXJnZSlcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnbWFyZ2luLXRvcCcsIGAtJHt0aGlzLnRvcH1weGBcclxuICAgICAgICApO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ21hcmdpbi10b3AnLCBgMHB4YFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL21lcmdlLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFnQyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFoSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsYUFBNEIsRUFDNUIsRUFBYyxFQUNPLFVBQWtCO1FBRnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDTyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBUHpDLFFBQUcsR0FBVyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVF4QixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVksRUFBRSxFQUFFO1lBQzNGLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRTVCLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLO2dCQUNaLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3JDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksQ0FDL0IsQ0FBQzs7Z0JBRUYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDckMsWUFBWSxFQUFFLEtBQUssQ0FDcEIsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDOytHQTlDVSxvQkFBb0IseUVBV3JCLFdBQVc7bUdBWFYsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBWUksTUFBTTsyQkFBQyxXQUFXO3lDQVZNLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNBLGNBQWM7c0JBQXRDLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvTWVyZ2VIZWFkZXJdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXJnZUhlYWRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ3NpbXBvTWVyZ2VIZWFkZXInKSBtZXJnZT86IGJvb2xlYW47XG4gIEBJbnB1dCgnYmFja2dyb3VuZEluZm8nKSBiYWNrZ3JvdW5kSW5mbzogYW55O1xuXG4gIHByaXZhdGUgdG9wOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGlzQnJvd3NlciA9IGZhbHNlO1xuICBwcml2YXRlIGVsZW1lbnRIZWlnaHRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBldmVudHNTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3RcbiAgKSB7XG4gICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xuXG4gICAgdGhpcy5lbGVtZW50SGVpZ2h0U3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudHNTZXJ2aWNlLmVsZW1lbnRIZWlnaHQuc3Vic2NyaWJlKChyZXM6IHVua25vd24pID0+IHtcbiAgICAgIHRoaXMudG9wID0gTnVtYmVyKHJlcykgfHwgMDtcbiAgICAgIHRoaXMuYXBwbHlCYWNrZ3JvdW5kUG9zaXRpb24oKTtcbiAgICB9KTtcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmFwcGx5QmFja2dyb3VuZFBvc2l0aW9uKClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZWxlbWVudEhlaWdodFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kUG9zaXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gNDc1KSB7XG4gICAgICBpZiAodGhpcy5tZXJnZSlcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgJ21hcmdpbi10b3AnLCBgLSR7dGhpcy50b3B9cHhgXHJcbiAgICAgICAgKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICdtYXJnaW4tdG9wJywgYDBweGBcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,17 +1,21 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { Directive, Inject, Input, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformBrowser } from '@angular/common';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/router";
4
5
  export class SimpoStickyDirective {
5
- constructor(el, router) {
6
+ constructor(el, router, platformId) {
6
7
  this.el = el;
7
8
  this.router = router;
9
+ this.platformId = platformId;
10
+ this.isBrowser = false;
11
+ this.isBrowser = isPlatformBrowser(this.platformId);
8
12
  }
9
13
  ngOnChanges() {
10
14
  if (this.simpoSticky) {
11
15
  this.el.nativeElement.style.setProperty("position", "fixed");
12
16
  this.el.nativeElement.style.setProperty("top", "0px");
13
17
  this.el.nativeElement.style.setProperty("left", '0px');
14
- if (localStorage.getItem('REQUEST_FROM') == 'USER')
18
+ if (this.isBrowser && localStorage.getItem('REQUEST_FROM') == 'USER')
15
19
  this.el.nativeElement.style.setProperty("z-index", "10000002");
16
20
  else {
17
21
  let url = this.router.url;
@@ -24,7 +28,7 @@ export class SimpoStickyDirective {
24
28
  this.el.nativeElement.style.setProperty("margin-top", "0px");
25
29
  }
26
30
  setTimeout(() => {
27
- if (window.innerWidth > 475) {
31
+ if (this.isBrowser && window.innerWidth > 475) {
28
32
  this.addParentMargin();
29
33
  }
30
34
  }, 0);
@@ -35,6 +39,8 @@ export class SimpoStickyDirective {
35
39
  }
36
40
  }
37
41
  ngAfterViewInit() {
42
+ if (!this.isBrowser || typeof ResizeObserver === 'undefined')
43
+ return;
38
44
  this.resizeObserver = new ResizeObserver(() => {
39
45
  setTimeout(() => {
40
46
  if (window.innerWidth > 475 && this.simpoSticky) {
@@ -45,7 +51,8 @@ export class SimpoStickyDirective {
45
51
  this.resizeObserver.observe(this.el.nativeElement);
46
52
  }
47
53
  addParentMargin() {
48
- let headerHeight = this.el.nativeElement.offsetHeight;
54
+ const nativeElement = this.el.nativeElement;
55
+ let headerHeight = Math.ceil(nativeElement.getBoundingClientRect().height || nativeElement.offsetHeight || 0);
49
56
  const parent = this.el.nativeElement.parentElement;
50
57
  if (parent && headerHeight > 0) {
51
58
  parent.style.marginBottom = (headerHeight) + 'px';
@@ -58,9 +65,10 @@ export class SimpoStickyDirective {
58
65
  }
59
66
  }
60
67
  ngOnDestroy() {
68
+ this.resizeObserver?.disconnect();
61
69
  this.removeParentMargin();
62
70
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
64
72
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SimpoStickyDirective, isStandalone: true, selector: "[simpoSticky]", inputs: { simpoSticky: "simpoSticky", categoryHeader: "categoryHeader" }, usesOnChanges: true, ngImport: i0 }); }
65
73
  }
66
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoStickyDirective, decorators: [{
@@ -69,11 +77,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
69
77
  selector: '[simpoSticky]',
70
78
  standalone: true
71
79
  }]
72
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router }], propDecorators: { simpoSticky: [{
80
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router }, { type: undefined, decorators: [{
81
+ type: Inject,
82
+ args: [PLATFORM_ID]
83
+ }] }], propDecorators: { simpoSticky: [{
73
84
  type: Input,
74
85
  args: ['simpoSticky']
75
86
  }], categoryHeader: [{
76
87
  type: Input,
77
88
  args: ['categoryHeader']
78
89
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL3N0aWNreS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU83RCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQW9CLEVBQWMsRUFDeEIsTUFBYztRQURKLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNwQixDQUFDO0lBS0wsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3RELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNO2dCQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQTtpQkFDM0QsQ0FBQztnQkFDSixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQTtnQkFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBQ3pELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7cUJBQzFELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7b0JBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBOztvQkFFN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDaEUsQ0FBQztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ25ELElBQUksTUFBTSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQXBFVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO29HQUV1QixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb1N0aWNreV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBvU3RpY2t5RGlyZWN0aXZlIHtcclxuICBASW5wdXQoJ3NpbXBvU3RpY2t5Jykgc2ltcG9TdGlja3k/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgnY2F0ZWdvcnlIZWFkZXInKSBjYXRlZ29yeUhlYWRlcj86IGJvb2xlYW5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLnNpbXBvU3RpY2t5KSB7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBvc2l0aW9uXCIsIFwiZml4ZWRcIik7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInRvcFwiLCBcIjBweFwiKTtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwibGVmdFwiLCAnMHB4JylcclxuICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdSRVFVRVNUX0ZST00nKSA9PSAnVVNFUicpXHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiei1pbmRleFwiLCBcIjEwMDAwMDAyXCIpXHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLnJvdXRlci51cmxcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJ6LWluZGV4XCIsIFwiMTA4XCIpXHJcbiAgICAgICAgaWYgKHVybC5pbmNsdWRlcygnd2Vic2l0ZS1lZGl0b3InKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIiwgXCI0NXB4XCIpXHJcbiAgICAgICAgZWxzZSBpZiAodXJsLmluY2x1ZGVzKCd2My1nZW5lcmF0b3InKSlcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIiwgXCI3MHB4XCIpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwibWFyZ2luLXRvcFwiLCBcIjBweFwiKVxyXG4gICAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSkge1xyXG4gICAgICAgICAgdGhpcy5hZGRQYXJlbnRNYXJnaW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwicG9zaXRpb25cIiwgXCJyZWxhdGl2ZVwiKTtcclxuICAgICAgdGhpcy5yZW1vdmVQYXJlbnRNYXJnaW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ICYmIHRoaXMuc2ltcG9TdGlja3kpIHtcclxuICAgICAgICAgIHRoaXMuYWRkUGFyZW50TWFyZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFBhcmVudE1hcmdpbigpIHtcclxuICAgIGxldCBoZWFkZXJIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFyZW50ICYmIGhlYWRlckhlaWdodCA+IDApIHtcclxuICAgICAgcGFyZW50LnN0eWxlLm1hcmdpbkJvdHRvbSA9IChoZWFkZXJIZWlnaHQpICsgJ3B4JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlUGFyZW50TWFyZ2luKCkge1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIHBhcmVudC5zdHlsZS5tYXJnaW5Cb3R0b20gPSAnMHB4JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5yZW1vdmVQYXJlbnRNYXJnaW4oKTtcclxuICB9XHJcbn0iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL3N0aWNreS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBT3BELE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsRUFBYyxFQUN4QixNQUFjLEVBQ08sVUFBa0I7UUFGN0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUx6QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBT3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFLRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDdEQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksTUFBTTtnQkFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7aUJBQzNELENBQUM7Z0JBQ0osSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUE7Z0JBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUN6RCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO3FCQUMxRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO29CQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQTs7b0JBRTdELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDO29CQUM5QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVc7WUFBRSxPQUFPO1FBRXJFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQTRCLENBQUM7UUFDM0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxNQUFNLElBQUksWUFBWSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0E1RVUsb0JBQW9CLGtFQVFyQixXQUFXO21HQVJWLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFTSSxNQUFNOzJCQUFDLFdBQVc7eUNBUEMsV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQUNLLGNBQWM7c0JBQXRDLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzaW1wb1N0aWNreV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBvU3RpY2t5RGlyZWN0aXZlIHtcbiAgQElucHV0KCdzaW1wb1N0aWNreScpIHNpbXBvU3RpY2t5PzogYm9vbGVhbjtcbiAgQElucHV0KCdjYXRlZ29yeUhlYWRlcicpIGNhdGVnb3J5SGVhZGVyPzogYm9vbGVhblxuICBwcml2YXRlIGlzQnJvd3NlciA9IGZhbHNlO1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0XG4gICkge1xuICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxuXHJcblxyXG5cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuc2ltcG9TdGlja3kpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBvc2l0aW9uXCIsIFwiZml4ZWRcIik7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJ0b3BcIiwgXCIwcHhcIik7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJsZWZ0XCIsICcwcHgnKVxuICAgICAgaWYgKHRoaXMuaXNCcm93c2VyICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdSRVFVRVNUX0ZST00nKSA9PSAnVVNFUicpXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInotaW5kZXhcIiwgXCIxMDAwMDAwMlwiKVxuICAgICAgZWxzZSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLnJvdXRlci51cmxcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiei1pbmRleFwiLCBcIjEwOFwiKVxyXG4gICAgICAgIGlmICh1cmwuaW5jbHVkZXMoJ3dlYnNpdGUtZWRpdG9yJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJtYXJnaW4tdG9wXCIsIFwiNDVweFwiKVxyXG4gICAgICAgIGVsc2UgaWYgKHVybC5pbmNsdWRlcygndjMtZ2VuZXJhdG9yJykpXHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCJtYXJnaW4tdG9wXCIsIFwiNzBweFwiKVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIm1hcmdpbi10b3BcIiwgXCIwcHhcIilcclxuICAgICAgfVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3NlciAmJiB3aW5kb3cuaW5uZXJXaWR0aCA+IDQ3NSkge1xuICAgICAgICAgIHRoaXMuYWRkUGFyZW50TWFyZ2luKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcInBvc2l0aW9uXCIsIFwicmVsYXRpdmVcIik7XHJcbiAgICAgIHRoaXMucmVtb3ZlUGFyZW50TWFyZ2luKCk7XHJcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlciB8fCB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG5cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPiA0NzUgJiYgdGhpcy5zaW1wb1N0aWNreSkge1xuICAgICAgICAgIHRoaXMuYWRkUGFyZW50TWFyZ2luKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cbiAgcHJpdmF0ZSBhZGRQYXJlbnRNYXJnaW4oKSB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBsZXQgaGVhZGVySGVpZ2h0ID0gTWF0aC5jZWlsKG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IHx8IG5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8IDApO1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGlmIChwYXJlbnQgJiYgaGVhZGVySGVpZ2h0ID4gMCkge1xuICAgICAgcGFyZW50LnN0eWxlLm1hcmdpbkJvdHRvbSA9IChoZWFkZXJIZWlnaHQpICsgJ3B4JztcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZVBhcmVudE1hcmdpbigpIHtcclxuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBwYXJlbnQuc3R5bGUubWFyZ2luQm90dG9tID0gJzBweCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMucmVtb3ZlUGFyZW50TWFyZ2luKCk7XG4gIH1cbn1cbiJdfQ==