{"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9zdGlja3kvc3JjL2xpYi9zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQU15QixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUdoQyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXRFLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBS2hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFZVCxtQkFBYyxHQUFHLEdBQVMsRUFBRTtZQUMzQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFxRU0sbUJBQWMsR0FBRyxHQUFTLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0tBcUJIO0lBeEdDLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxD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QUNaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhTdGlja3ldJyxcbiAgZXhwb3J0QXM6ICdheHBTdGlja3knLFxufSlcbmV4cG9ydCBjbGFzcyBBWFN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnYXhwU3RpY2t5Jykgc3RpY2t5Q2xhc3MhOiBzdHJpbmc7XG4gIEBJbnB1dCgnc3RpY2t5T2Zmc2V0Jykgc3RpY2t5T2Zmc2V0ID0gMTAwO1xuICBASW5wdXQoKSBzdGlja3lQYXJlbnQhOiBzdHJpbmcgfCBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3RpY2t5VGFyZ2V0ITogc3RyaW5nO1xuICBAT3V0cHV0KCkgaXNTdGlja3lDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSBwYXJlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG4gIHByaXZhdGUgdGFyZ2V0RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXIhOiBNdXRhdGlvbk9ic2VydmVyO1xuICBwcml2YXRlIF9pc1N0aWNreSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNTdGlja3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU3RpY2t5O1xuICB9XG4gIHB1YmxpYyBzZXQgaXNTdGlja3kodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5faXNTdGlja3kgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9pc1N0aWNreSA9IHZhbHVlO1xuICAgICAgdGhpcy5pc1N0aWNreUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9uV2luZG93UmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuYXBwbHlTdGlja3lTdGF0ZUZyb21TY3JvbGxQb3NpdGlvbigpO1xuICB9O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRTdGlja3koKTtcblxuICAgIC8vIEFkZCBtdXRhdGlvbiBvYnNlcnZlciBmb3IgZHluYW1pYyBjb250ZW50XG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBseVN0aWNreVN0YXRlRnJvbVNjcm9sbFBvc2l0aW9uKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uV2luZG93UmVzaXplKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0aWNreSgpIHtcbiAgICBpZiAodGhpcy5zdGlja3lQYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5zdGlja3lQYXJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc3RpY2t5UGFyZW50KSBhcyBIVE1MRWxlbWVudCkgfHwgd2luZG93O1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0RWxlbWVudCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc3RpY2t5VGFyZ2V0KSBhcyBIVE1MRWxlbWVudCkgfHwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnBhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblBhcmVudFNjcm9sbCk7XG4gICAgdGhpcy5hcHBseVN0aWNreVN0YXRlRnJvbVNjcm9sbFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEVsZW1lbnQgPT09IHdpbmRvdyA/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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"}