@acorex/cdk 20.6.23 → 20.6.25

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.
@@ -1,27 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Renderer2, NgZone, ChangeDetectorRef, EventEmitter, Input, Output, Directive } from '@angular/core';
2
+ import { EventEmitter, inject, ElementRef, Renderer2, NgZone, ChangeDetectorRef, Output, Input, Directive } from '@angular/core';
3
3
 
4
4
  class AXStickyDirective {
5
5
  constructor() {
6
- this.element = inject(ElementRef);
6
+ this.stickyOffset = 100;
7
+ this.isStickyChange = new EventEmitter();
8
+ this.element = inject((ElementRef));
7
9
  this.renderer = inject(Renderer2);
8
10
  this.zone = inject(NgZone);
9
11
  this.cdr = inject(ChangeDetectorRef);
10
- this.stickyOffset = 100;
11
- this.isStickyChange = new EventEmitter();
12
12
  this._isSticky = false;
13
+ this.onWindowResize = () => {
14
+ this.applyStickyStateFromScrollPosition();
15
+ };
13
16
  this.onParentScroll = () => {
14
- this.zone.runOutsideAngular(() => {
15
- const scrollTop = this.parentElement === window ? window.scrollY : this.parentElement.scrollTop;
16
- const shouldStick = scrollTop + this.stickyOffset >= this.topOffset;
17
- if (shouldStick !== this.isSticky) {
18
- this.zone.run(() => {
19
- this.isSticky = shouldStick;
20
- this.toggleStickyClasses(shouldStick);
21
- this.cdr.markForCheck();
22
- });
23
- }
24
- });
17
+ this.applyStickyStateFromScrollPosition();
25
18
  };
26
19
  }
27
20
  get isSticky() {
@@ -37,14 +30,13 @@ class AXStickyDirective {
37
30
  this.initSticky();
38
31
  // Add mutation observer for dynamic content
39
32
  this.mutationObserver = new MutationObserver(() => {
40
- this.updateTopOffset();
33
+ this.applyStickyStateFromScrollPosition();
41
34
  });
42
35
  this.mutationObserver.observe(this.element.nativeElement, {
43
36
  childList: true,
44
37
  subtree: true,
45
38
  });
46
- // Add resize event listener
47
- window.addEventListener('resize', this.updateTopOffset.bind(this));
39
+ window.addEventListener('resize', this.onWindowResize);
48
40
  }
49
41
  initSticky() {
50
42
  if (this.stickyParent instanceof HTMLElement) {
@@ -54,13 +46,42 @@ class AXStickyDirective {
54
46
  this.parentElement = document.querySelector(this.stickyParent) || window;
55
47
  }
56
48
  this.targetElement = document.querySelector(this.stickyTarget) || this.element.nativeElement;
57
- this.updateTopOffset();
58
49
  this.parentElement.addEventListener('scroll', this.onParentScroll);
50
+ this.applyStickyStateFromScrollPosition();
51
+ }
52
+ getScrollTop() {
53
+ return this.parentElement === window ? window.scrollY : this.parentElement.scrollTop;
54
+ }
55
+ /**
56
+ * Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).
57
+ * Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies
58
+ * would all keep `--stuck`; geometry fixes that.
59
+ */
60
+ computeShouldStick() {
61
+ if (this.getScrollTop() <= 0) {
62
+ return false;
63
+ }
64
+ const tRect = this.targetElement.getBoundingClientRect();
65
+ const epsilon = 3;
66
+ let limitY;
67
+ if (this.parentElement === window) {
68
+ limitY = this.stickyOffset;
69
+ }
70
+ else {
71
+ limitY = this.parentElement.getBoundingClientRect().top;
72
+ }
73
+ return tRect.top <= limitY + epsilon && tRect.top >= limitY - epsilon;
59
74
  }
60
- updateTopOffset() {
75
+ applyStickyStateFromScrollPosition() {
61
76
  this.zone.runOutsideAngular(() => {
62
- const rect = this.targetElement.getBoundingClientRect();
63
- this.topOffset = rect.top + (window.scrollY || 0);
77
+ const shouldStick = this.computeShouldStick();
78
+ if (shouldStick !== this.isSticky) {
79
+ this.zone.run(() => {
80
+ this.isSticky = shouldStick;
81
+ this.toggleStickyClasses(shouldStick);
82
+ this.cdr.markForCheck();
83
+ });
84
+ }
64
85
  });
65
86
  }
66
87
  toggleStickyClasses(isSticky) {
@@ -76,13 +97,13 @@ class AXStickyDirective {
76
97
  }
77
98
  ngOnDestroy() {
78
99
  this.parentElement.removeEventListener('scroll', this.onParentScroll);
79
- window.removeEventListener('resize', this.updateTopOffset.bind(this));
100
+ window.removeEventListener('resize', this.onWindowResize);
80
101
  if (this.mutationObserver) {
81
102
  this.mutationObserver.disconnect();
82
103
  }
83
104
  }
84
105
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXStickyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
85
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: AXStickyDirective, isStandalone: true, selector: "[axSticky]", inputs: { stickyClass: ["axSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
106
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: AXStickyDirective, isStandalone: true, selector: "[axSticky]", inputs: { stickyClass: ["axpSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
86
107
  }
87
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXStickyDirective, decorators: [{
88
109
  type: Directive,
@@ -92,16 +113,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
92
113
  }]
93
114
  }], propDecorators: { stickyClass: [{
94
115
  type: Input,
95
- args: ['axSticky']
116
+ args: ['axpSticky']
96
117
  }], stickyOffset: [{
97
118
  type: Input,
98
119
  args: ['stickyOffset']
99
- }], isStickyChange: [{
100
- type: Output
101
120
  }], stickyParent: [{
102
121
  type: Input
103
122
  }], stickyTarget: [{
104
123
  type: Input
124
+ }], isStickyChange: [{
125
+ type: Output
105
126
  }] } });
106
127
 
107
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-sticky.mjs","sources":["../tmp-esm2022/sticky/lib/sticky.directive.js","../tmp-esm2022/sticky/acorex-cdk-sticky.js"],"sourcesContent":["import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, inject, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXStickyDirective {\n constructor() {\n this.element = inject(ElementRef);\n this.renderer = inject(Renderer2);\n this.zone = inject(NgZone);\n this.cdr = inject(ChangeDetectorRef);\n this.stickyOffset = 100;\n this.isStickyChange = new EventEmitter();\n this._isSticky = false;\n this.onParentScroll = () => {\n this.zone.runOutsideAngular(() => {\n const scrollTop = this.parentElement === window ? window.scrollY : this.parentElement.scrollTop;\n const shouldStick = scrollTop + this.stickyOffset >= this.topOffset;\n if (shouldStick !== this.isSticky) {\n this.zone.run(() => {\n this.isSticky = shouldStick;\n this.toggleStickyClasses(shouldStick);\n this.cdr.markForCheck();\n });\n }\n });\n };\n }\n get isSticky() {\n return this._isSticky;\n }\n set isSticky(value) {\n if (this._isSticky !== value) {\n this._isSticky = value;\n this.isStickyChange.emit(value);\n }\n }\n ngAfterViewInit() {\n this.initSticky();\n // Add mutation observer for dynamic content\n this.mutationObserver = new MutationObserver(() => {\n this.updateTopOffset();\n });\n this.mutationObserver.observe(this.element.nativeElement, {\n childList: true,\n subtree: true,\n });\n // Add resize event listener\n window.addEventListener('resize', this.updateTopOffset.bind(this));\n }\n initSticky() {\n if (this.stickyParent instanceof HTMLElement) {\n this.parentElement = this.stickyParent;\n }\n else {\n this.parentElement = document.querySelector(this.stickyParent) || window;\n }\n this.targetElement = document.querySelector(this.stickyTarget) || this.element.nativeElement;\n this.updateTopOffset();\n this.parentElement.addEventListener('scroll', this.onParentScroll);\n }\n updateTopOffset() {\n this.zone.runOutsideAngular(() => {\n const rect = this.targetElement.getBoundingClientRect();\n this.topOffset = rect.top + (window.scrollY || 0);\n });\n }\n toggleStickyClasses(isSticky) {\n const classes = this.stickyClass.split(' ').filter(Boolean);\n classes.forEach((className) => {\n if (isSticky) {\n this.renderer.addClass(this.targetElement, className);\n }\n else {\n this.renderer.removeClass(this.targetElement, className);\n }\n });\n }\n ngOnDestroy() {\n this.parentElement.removeEventListener('scroll', this.onParentScroll);\n window.removeEventListener('resize', this.updateTopOffset.bind(this));\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStickyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXStickyDirective, isStandalone: true, selector: \"[axSticky]\", inputs: { stickyClass: [\"axSticky\", \"stickyClass\"], stickyOffset: \"stickyOffset\", stickyParent: \"stickyParent\", stickyTarget: \"stickyTarget\" }, outputs: { isStickyChange: \"isStickyChange\" }, exportAs: [\"axpSticky\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStickyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axSticky]',\n exportAs: 'axpSticky',\n }]\n }], propDecorators: { stickyClass: [{\n type: Input,\n args: ['axSticky']\n }], stickyOffset: [{\n type: Input,\n args: ['stickyOffset']\n }], isStickyChange: [{\n type: Output\n }], stickyParent: [{\n type: Input\n }], stickyTarget: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9zdGlja3kvc3JjL2xpYi9zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQUtVLFlBQU8sR0FBRyxNQUFNLENBQTZCLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHakIsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFDaEMsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV0RSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBd0RsQixtQkFBYyxHQUFHLEdBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxhQUE2QixDQUFDLFNBQVMsQ0FBQztnQkFFakgsTUFBTSxXQUFXLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFFcEUsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQyxJQUFJ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QU0sQ0FBQztnQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs4R0FwR1UsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs4QkFPb0IsV0FBVztzQkFBN0IsS0FBSzt1QkFBQyxVQUFVO2dCQUNNLFlBQVk7c0JBQWxDLEtBQUs7dUJBQUMsY0FBYztnQkFDWCxjQUFjO3NCQUF2QixNQUFNO2dCQWtCRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theFN0aWNreV0nLFxuICBleHBvcnRBczogJ2F4cFN0aWNreScsXG59KVxuZXhwb3J0IGNsYXNzIEFYU3RpY2t5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBlbGVtZW50ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBJbnB1dCgnYXhTdGlja3knKSBzdGlja3lDbGFzcyE6IHN0cmluZztcbiAgQElucHV0KCdzdGlja3lPZmZzZXQnKSBzdGlja3lPZmZzZXQgPSAxMDA7XG4gIEBPdXRwdXQoKSBpc1N0aWNreUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgX2lzU3RpY2t5ID0gZmFsc2U7XG4gIHB1YmxpYyBnZXQgaXNTdGlja3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU3RpY2t5O1xuICB9XG4gIHB1YmxpYyBzZXQgaXNTdGlja3kodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5faXNTdGlja3kgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9pc1N0aWNreSA9IHZhbHVlO1xuICAgICAgdGhpcy5pc1N0aWNreUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvcE9mZnNldCE6IG51bWJlcjtcbiAgcHJpdmF0ZSBwYXJlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG4gIHByaXZhdGUgdGFyZ2V0RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXIhOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIEBJbnB1dCgpIHN0aWNreVBhcmVudCE6IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuICBASW5wdXQoKSBzdGlja3lUYXJnZXQhOiBzdHJpbmc7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdFN0aWNreSgpO1xuXG4gICAgLy8gQWRkIG11dGF0aW9uIG9ic2VydmVyIGZvciBkeW5hbWljIGNvbnRlbnRcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRvcE9mZnNldCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgcmVzaXplIGV2ZW50IGxpc3RlbmVyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlVG9wT2Zmc2V0LmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U3RpY2t5KCkge1xuICAgIGlmICh0aGlzLnN0aWNreVBhcmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQgPSB0aGlzLnN0aWNreVBhcmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zdGlja3lQYXJlbnQpIGFzIEhUTUxFbGVtZW50KSB8fCB3aW5kb3c7XG4gICAgfVxuXG4gICAgdGhpcy50YXJnZXRFbGVtZW50ID0gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zdGlja3lUYXJnZXQpIGFzIEhUTUxFbGVtZW50KSB8fCB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMudXBkYXRlVG9wT2Zmc2V0KCk7XG4gICAgdGhpcy5wYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25QYXJlbnRTY3JvbGwpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUb3BPZmZzZXQoKTogdm9pZCB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLnRvcE9mZnNldCA9IHJlY3QudG9wICsgKHdpbmRvdy5zY3JvbGxZIHx8IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvblBhcmVudFNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5wYXJlbnRFbGVtZW50ID09PSB3aW5kb3cgPyB3aW5kb3cuc2Nyb2xsWSA6ICh0aGlzLnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbFRvcDtcblxuICAgICAgY29uc3Qgc2hvdWxkU3RpY2sgPSBzY3JvbGxUb3AgKyB0aGlzLnN0aWNreU9mZnNldCA+PSB0aGlzLnRvcE9mZnNldDtcblxuICAgICAgaWYgKHNob3VsZFN0aWNrICE9PSB0aGlzLmlzU3RpY2t5KSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTdGlja3kgPSBzaG91bGRTdGljaztcbiAgICAgICAgICB0aGlzLnRvZ2dsZVN0aWNreUNsYXNzZXMoc2hvdWxkU3RpY2spO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBwcml2YXRlIHRvZ2dsZVN0aWNreUNsYXNzZXMoaXNTdGlja3k6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5zdGlja3lDbGFzcy5zcGxpdCgnICcpLmZpbHRlcihCb29sZWFuKTtcbiAgICBjbGFzc2VzLmZvckVhY2goKGNsYXNzTmFtZSkgPT4ge1xuICAgICAgaWYgKGlzU3RpY2t5KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YXJnZXRFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRhcmdldEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblBhcmVudFNjcm9sbCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlVG9wT2Zmc2V0LmJpbmQodGhpcykpO1xuXG4gICAgaWYgKHRoaXMubXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1zdGlja3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvc3RpY2t5L3NyYy9hY29yZXgtY2RrLXN0aWNreS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-sticky.mjs","sources":["../tmp-esm2022/sticky/lib/sticky.directive.js","../tmp-esm2022/sticky/acorex-cdk-sticky.js"],"sourcesContent":["import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, Renderer2, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXStickyDirective {\n constructor() {\n this.stickyOffset = 100;\n this.isStickyChange = new EventEmitter();\n this.element = inject((ElementRef));\n this.renderer = inject(Renderer2);\n this.zone = inject(NgZone);\n this.cdr = inject(ChangeDetectorRef);\n this._isSticky = false;\n this.onWindowResize = () => {\n this.applyStickyStateFromScrollPosition();\n };\n this.onParentScroll = () => {\n this.applyStickyStateFromScrollPosition();\n };\n }\n get isSticky() {\n return this._isSticky;\n }\n set isSticky(value) {\n if (this._isSticky !== value) {\n this._isSticky = value;\n this.isStickyChange.emit(value);\n }\n }\n ngAfterViewInit() {\n this.initSticky();\n // Add mutation observer for dynamic content\n this.mutationObserver = new MutationObserver(() => {\n this.applyStickyStateFromScrollPosition();\n });\n this.mutationObserver.observe(this.element.nativeElement, {\n childList: true,\n subtree: true,\n });\n window.addEventListener('resize', this.onWindowResize);\n }\n initSticky() {\n if (this.stickyParent instanceof HTMLElement) {\n this.parentElement = this.stickyParent;\n }\n else {\n this.parentElement = document.querySelector(this.stickyParent) || window;\n }\n this.targetElement = document.querySelector(this.stickyTarget) || this.element.nativeElement;\n this.parentElement.addEventListener('scroll', this.onParentScroll);\n this.applyStickyStateFromScrollPosition();\n }\n getScrollTop() {\n return this.parentElement === window ? window.scrollY : this.parentElement.scrollTop;\n }\n /**\n * Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).\n * Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies\n * would all keep `--stuck`; geometry fixes that.\n */\n computeShouldStick() {\n if (this.getScrollTop() <= 0) {\n return false;\n }\n const tRect = this.targetElement.getBoundingClientRect();\n const epsilon = 3;\n let limitY;\n if (this.parentElement === window) {\n limitY = this.stickyOffset;\n }\n else {\n limitY = this.parentElement.getBoundingClientRect().top;\n }\n return tRect.top <= limitY + epsilon && tRect.top >= limitY - epsilon;\n }\n applyStickyStateFromScrollPosition() {\n this.zone.runOutsideAngular(() => {\n const shouldStick = this.computeShouldStick();\n if (shouldStick !== this.isSticky) {\n this.zone.run(() => {\n this.isSticky = shouldStick;\n this.toggleStickyClasses(shouldStick);\n this.cdr.markForCheck();\n });\n }\n });\n }\n toggleStickyClasses(isSticky) {\n const classes = this.stickyClass.split(' ').filter(Boolean);\n classes.forEach((className) => {\n if (isSticky) {\n this.renderer.addClass(this.targetElement, className);\n }\n else {\n this.renderer.removeClass(this.targetElement, className);\n }\n });\n }\n ngOnDestroy() {\n this.parentElement.removeEventListener('scroll', this.onParentScroll);\n window.removeEventListener('resize', this.onWindowResize);\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStickyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXStickyDirective, isStandalone: true, selector: \"[axSticky]\", inputs: { stickyClass: [\"axpSticky\", \"stickyClass\"], stickyOffset: \"stickyOffset\", stickyParent: \"stickyParent\", stickyTarget: \"stickyTarget\" }, outputs: { isStickyChange: \"isStickyChange\" }, exportAs: [\"axpSticky\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStickyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axSticky]',\n exportAs: 'axpSticky',\n }]\n }], propDecorators: { stickyClass: [{\n type: Input,\n args: ['axpSticky']\n }], stickyOffset: [{\n type: Input,\n args: ['stickyOffset']\n }], stickyParent: [{\n type: Input\n }], stickyTarget: [{\n type: Input\n }], isStickyChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9zdGlja3kvc3JjL2xpYi9zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQU15QixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUdoQyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXRFLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBS2hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFZVCxtQkFBYyxHQUFHLEdBQVMsRUFBRTtZQUMzQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFxRU0sbUJBQWMsR0FBRyxHQUFTLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0tBcUJIO0lBeEdDLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBTUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN4RCxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFpQixJQUFJLE1BQU0sQ0FBQztRQUM1RixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBSSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQWlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFOUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxhQUE2QixDQUFDLFNBQVMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBSSxJQUFJLENBQUMsYUFBNkIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxJQUFJLE1BQU0sR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxrQ0FBa0M7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFOUMsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO29CQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQU1PLG1CQUFtQixDQUFDLFFBQWlCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDOzhHQXhIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCOzhCQUVxQixXQUFXO3NCQUE5QixLQUFLO3VCQUFDLFdBQVc7Z0JBQ0ssWUFBWTtzQkFBbEMsS0FBSzt1QkFBQyxjQUFjO2dCQUNaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhTdGlja3ldJyxcbiAgZXhwb3J0QXM6ICdheHBTdGlja3knLFxufSlcbmV4cG9ydCBjbGFzcyBBWFN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnYXhwU3RpY2t5Jykgc3RpY2t5Q2xhc3MhOiBzdHJpbmc7XG4gIEBJbnB1dCgnc3RpY2t5T2Zmc2V0Jykgc3RpY2t5T2Zmc2V0ID0gMTAwO1xuICBASW5wdXQoKSBzdGlja3lQYXJlbnQhOiBzdHJpbmcgfCBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3RpY2t5VGFyZ2V0ITogc3RyaW5nO1xuICBAT3V0cHV0KCkgaXNTdGlja3lDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSBwYXJlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG4gIHByaXZhdGUgdGFyZ2V0RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXIhOiBNdXRhdGlvbk9ic2VydmVyO1xuICBwcml2YXRlIF9pc1N0aWNreSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNTdGlja3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU3RpY2t5O1xuICB9XG4gIHB1YmxpYyBzZXQgaXNTdGlja3kodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5faXNTdGlja3kgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9pc1N0aWNreSA9IHZhbHVlO1xuICAgICAgdGhpcy5pc1N0aWNreUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9uV2luZG93UmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuYXBwbHlTdGlja3lTdGF0ZUZyb21TY3JvbGxQb3NpdGlvbigpO1xuICB9O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRTdGlja3koKTtcblxuICAgIC8vIEFkZCBtdXRhdGlvbiBvYnNlcnZlciBmb3IgZHluYW1pYyBjb250ZW50XG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBseVN0aWNreVN0YXRlRnJvbVNjcm9sbFBvc2l0aW9uKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uV2luZG93UmVzaXplKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0aWNreSgpIHtcbiAgICBpZiAodGhpcy5zdGlja3lQYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5zdGlja3lQYXJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc3RpY2t5UGFyZW50KSBhcyBIVE1MRWxlbWVudCkgfHwgd2luZG93O1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0RWxlbWVudCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc3RpY2t5VGFyZ2V0KSBhcyBIVE1MRWxlbWVudCkgfHwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnBhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblBhcmVudFNjcm9sbCk7XG4gICAgdGhpcy5hcHBseVN0aWNreVN0YXRlRnJvbVNjcm9sbFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEVsZW1lbnQgPT09IHdpbmRvdyA/IHdpbmRvdy5zY3JvbGxZIDogKHRoaXMucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc2Nyb2xsVG9wO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBzdHVjayBzdHlsaW5nIG9ubHkgd2hpbGUgdGhpcyBlbGVtZW50IGlzIHZpc3VhbGx5IHBpbm5lZCAobWF0Y2hlcyBgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwYCkuXG4gICAqIFNjcm9sbC1vZmZzZXQgdGhyZXNob2xkcyB3b3VsZCBzdGF5IHRydWUgZm9yIGV2ZXJ5IHNlY3Rpb24gYWxyZWFkeSBwYXNzZWQsIHNvIG11bHRpcGxlIHN0YWNrZWQgc3RpY2tpZXNcbiAgICogd291bGQgYWxsIGtlZXAgYC0tc3R1Y2tgOyBnZW9tZXRyeSBmaXhlcyB0aGF0LlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlU2hvdWxkU3RpY2soKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZ2V0U2Nyb2xsVG9wKCkgPD0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB0UmVjdCA9IHRoaXMudGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlcHNpbG9uID0gMztcbiAgICBsZXQgbGltaXRZOiBudW1iZXI7XG4gICAgaWYgKHRoaXMucGFyZW50RWxlbWVudCA9PT0gd2luZG93KSB7XG4gICAgICBsaW1pdFkgPSB0aGlzLnN0aWNreU9mZnNldDtcbiAgICB9IGVsc2Uge1xuICAgICAgbGltaXRZID0gKHRoaXMucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgIH1cbiAgICByZXR1cm4gdFJlY3QudG9wIDw9IGxpbWl0WSArIGVwc2lsb24gJiYgdFJlY3QudG9wID49IGxpbWl0WSAtIGVwc2lsb247XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3RpY2t5U3RhdGVGcm9tU2Nyb2xsUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNob3VsZFN0aWNrID0gdGhpcy5jb21wdXRlU2hvdWxkU3RpY2soKTtcblxuICAgICAgaWYgKHNob3VsZFN0aWNrICE9PSB0aGlzLmlzU3RpY2t5KSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTdGlja3kgPSBzaG91bGRTdGljaztcbiAgICAgICAgICB0aGlzLnRvZ2dsZVN0aWNreUNsYXNzZXMoc2hvdWxkU3RpY2spO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QYXJlbnRTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5hcHBseVN0aWNreVN0YXRlRnJvbVNjcm9sbFBvc2l0aW9uKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSB0b2dnbGVTdGlja3lDbGFzc2VzKGlzU3RpY2t5OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuc3RpY2t5Q2xhc3Muc3BsaXQoJyAnKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWUpID0+IHtcbiAgICAgIGlmIChpc1N0aWNreSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudGFyZ2V0RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YXJnZXRFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25QYXJlbnRTY3JvbGwpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uV2luZG93UmVzaXplKTtcblxuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1zdGlja3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvc3RpY2t5L3NyYy9hY29yZXgtY2RrLXN0aWNreS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@acorex/cdk",
3
- "version": "20.6.23",
3
+ "version": "20.6.25",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.6.23",
5
+ "@acorex/core": "20.6.25",
6
6
  "quill": ">=2.0.2",
7
7
  "qrcode": ">=1.5.4",
8
8
  "swiper": ">=11.1.15",
package/sticky/index.d.ts CHANGED
@@ -2,30 +2,37 @@ import * as i0 from '@angular/core';
2
2
  import { AfterViewInit, OnDestroy, EventEmitter } from '@angular/core';
3
3
 
4
4
  declare class AXStickyDirective implements AfterViewInit, OnDestroy {
5
+ stickyClass: string;
6
+ stickyOffset: number;
7
+ stickyParent: string | HTMLElement;
8
+ stickyTarget: string;
9
+ isStickyChange: EventEmitter<boolean>;
5
10
  private element;
6
11
  private renderer;
7
12
  private zone;
8
13
  private cdr;
9
- stickyClass: string;
10
- stickyOffset: number;
11
- isStickyChange: EventEmitter<boolean>;
12
- private _isSticky;
13
- get isSticky(): boolean;
14
- set isSticky(value: boolean);
15
- private topOffset;
16
14
  private parentElement;
17
15
  private targetElement;
18
16
  private mutationObserver;
19
- stickyParent: string | HTMLElement;
20
- stickyTarget: string;
17
+ private _isSticky;
18
+ get isSticky(): boolean;
19
+ set isSticky(value: boolean);
20
+ private readonly onWindowResize;
21
21
  ngAfterViewInit(): void;
22
22
  private initSticky;
23
- private updateTopOffset;
23
+ private getScrollTop;
24
+ /**
25
+ * Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).
26
+ * Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies
27
+ * would all keep `--stuck`; geometry fixes that.
28
+ */
29
+ private computeShouldStick;
30
+ private applyStickyStateFromScrollPosition;
24
31
  private onParentScroll;
25
32
  private toggleStickyClasses;
26
33
  ngOnDestroy(): void;
27
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AXStickyDirective, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXStickyDirective, "[axSticky]", ["axpSticky"], { "stickyClass": { "alias": "axSticky"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; "stickyParent": { "alias": "stickyParent"; "required": false; }; "stickyTarget": { "alias": "stickyTarget"; "required": false; }; }, { "isStickyChange": "isStickyChange"; }, never, never, true, never>;
35
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXStickyDirective, "[axSticky]", ["axpSticky"], { "stickyClass": { "alias": "axpSticky"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; "stickyParent": { "alias": "stickyParent"; "required": false; }; "stickyTarget": { "alias": "stickyTarget"; "required": false; }; }, { "isStickyChange": "isStickyChange"; }, never, never, true, never>;
29
36
  }
30
37
 
31
38
  export { AXStickyDirective };