{"version":3,"file":"primeng-scrolltop.mjs","sources":["../../src/scrolltop/style/scrolltopstyle.ts","../../src/scrolltop/scrolltop.ts","../../src/scrolltop/primeng-scrolltop.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/scrolltop';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => ['p-scrolltop', { 'p-scrolltop-sticky': instance.target() !== 'window' }],\n    icon: 'p-scrolltop-icon'\n};\n\n@Injectable()\nexport class ScrollTopStyle extends BaseStyle {\n    name = 'scrolltop';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.\n *\n * [Live Demo](https://www.primeng.org/scrolltop/)\n *\n * @module scrolltopstyle\n *\n */\nexport enum ScrollTopClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-scrolltop',\n    /**\n     * Class name of the icon element\n     */\n    icon = 'p-scrolltop-icon'\n}\n\nexport interface ScrollTopStyle extends BaseStyle {}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterEveryRender, ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, input, NgModule, numberAttribute, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport type { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { getWindowScrollTop } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { MotionDirective } from 'primeng/motion';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport type { ScrollTopBehavior, ScrollTopIconTemplateContext, ScrollTopPassThrough, ScrollTopTarget } from 'primeng/types/scrolltop';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ScrollTopStyle } from './style/scrolltopstyle';\n\nconst SCROLLTOP_INSTANCE = new InjectionToken<ScrollTop>('SCROLLTOP_INSTANCE');\n\n/**\n * ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.\n * @group Components\n */\n@Component({\n    selector: 'p-scrolltop, p-scroll-top',\n    standalone: true,\n    imports: [NgTemplateOutlet, ChevronUpIcon, ButtonDirective, SharedModule, MotionDirective],\n    template: `\n        @if (render()) {\n            <button\n                type=\"button\"\n                iconOnly\n                [pButton]=\"buttonProps()\"\n                [pMotion]=\"visible()\"\n                [pMotionAppear]=\"true\"\n                [pMotionName]=\"'p-scrolltop'\"\n                [pMotionOptions]=\"computedMotionOptions()\"\n                [class]=\"cn(cx('root'), styleClass())\"\n                [style]=\"style()\"\n                [attr.aria-label]=\"buttonAriaLabel()\"\n                [pButtonPT]=\"ptm('pcButton')\"\n                [pButtonUnstyled]=\"unstyled()\"\n                (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n                (pMotionOnBeforeLeave)=\"onBeforeLeave()\"\n                (pMotionOnAfterLeave)=\"onAfterLeave()\"\n                (click)=\"onClick()\"\n            >\n                @if (iconTemplate()) {\n                    <ng-container [ngTemplateOutlet]=\"iconTemplate()!\" [ngTemplateOutletContext]=\"getIconTemplateContext()\"></ng-container>\n                } @else if (_icon()) {\n                    <span [class]=\"cn(cx('icon'), _icon())\"></span>\n                } @else {\n                    <svg data-p-icon=\"chevron-up\" [class]=\"cx('icon')\" />\n                }\n            </button>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [ScrollTopStyle, { provide: SCROLLTOP_INSTANCE, useExisting: ScrollTop }, { provide: PARENT_INSTANCE, useExisting: ScrollTop }],\n    hostDirectives: [Bind]\n})\nexport class ScrollTop extends BaseComponent<ScrollTopPassThrough> {\n    componentName = 'ScrollTop';\n\n    $pcScrollTop: ScrollTop | undefined = inject(SCROLLTOP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    /**\n     * Class of the element.\n     * @group Props\n     */\n    styleClass = input<string>();\n\n    /**\n     * Inline style of the element.\n     * @group Props\n     */\n    style = input<CSSProperties>();\n\n    /**\n     * Target of the ScrollTop.\n     * @group Props\n     */\n    target = input<ScrollTopTarget>('window');\n\n    /**\n     * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n     * @group Props\n     */\n    threshold = input(400, { transform: numberAttribute });\n\n    /**\n     * Name of the icon or JSX.Element for icon.\n     * @group Props\n     */\n    _icon = input<string | undefined>(undefined, { alias: 'icon' });\n\n    /**\n     * Defines the scrolling behavior, \"smooth\" adds an animation and \"auto\" scrolls with a jump.\n     * @group Props\n     */\n    behavior = input<ScrollTopBehavior>('smooth');\n\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions>();\n\n    /**\n     * Establishes a string value that labels the scroll-top button.\n     * @group Props\n     */\n    buttonAriaLabel = input<string>();\n\n    /**\n     * Configuration object forwarded to the underlying button.\n     * @group Props\n     */\n    buttonProps = input<ButtonDirectiveOptions>({ rounded: true });\n\n    /**\n     * Custom icon template.\n     * @param {ScrollTopIconTemplateContext} context - icon context.\n     * @see {@link ScrollTopIconTemplateContext}\n     * @group Templates\n     */\n    iconTemplate = contentChild<TemplateRef<ScrollTopIconTemplateContext>>('icon', { descendants: false });\n\n    computedMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('motion'),\n            ...this.motionOptions()\n        };\n    });\n\n    getIconTemplateContext() {\n        return { styleClass: this.cx('icon') };\n    }\n\n    documentScrollListener: VoidFunction | null | undefined;\n\n    parentScrollListener: VoidFunction | null | undefined;\n\n    visible = signal(false);\n\n    render = signal(false);\n\n    overlay: HTMLElement | null = null;\n\n    _componentStyle = inject(ScrollTopStyle);\n\n    constructor() {\n        super();\n        const ref = afterEveryRender(() => {\n            if (this.target() !== 'parent' || this.parentScrollListener) {\n                ref.destroy();\n                return;\n            }\n            if (this.el.nativeElement.parentElement) {\n                this.bindParentScrollListener();\n                ref.destroy();\n            }\n        });\n    }\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    onInit() {\n        if (this.target() === 'window') this.bindDocumentScrollListener();\n        else if (this.target() === 'parent') this.bindParentScrollListener();\n    }\n\n    onClick() {\n        const scrollElement = this.target() === 'window' ? this.document.defaultView : this.el.nativeElement.parentElement;\n        scrollElement?.scroll({\n            top: 0,\n            behavior: this.behavior()\n        });\n    }\n\n    onBeforeEnter(event: MotionEvent) {\n        this.overlay = event.element as HTMLElement;\n        this.overlay.style.position = this.target() === 'parent' ? 'sticky' : 'fixed';\n        ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n    }\n\n    onBeforeLeave() {\n        ZIndexUtils.clear(this.overlay);\n        this.overlay = null;\n    }\n\n    onAfterLeave() {\n        this.render.set(false);\n    }\n\n    checkVisibility(scrollY: number) {\n        if (scrollY > this.threshold()) {\n            this.visible.set(true);\n            if (!this.render()) {\n                this.render.set(true);\n            }\n        } else {\n            this.visible.set(false);\n        }\n    }\n\n    bindParentScrollListener() {\n        if (!isPlatformBrowser(this.platformId)) return;\n\n        if (this.parentScrollListener) return;\n\n        const parent = this.el.nativeElement.parentElement as HTMLElement | null;\n        if (!parent) return;\n\n        this.parentScrollListener = this.renderer.listen(parent, 'scroll', () => {\n            this.checkVisibility(parent.scrollTop);\n        });\n    }\n\n    bindDocumentScrollListener() {\n        if (isPlatformBrowser(this.platformId)) {\n            this.documentScrollListener = this.renderer.listen(this.document.defaultView, 'scroll', () => {\n                this.checkVisibility(getWindowScrollTop());\n            });\n        }\n    }\n\n    unbindParentScrollListener() {\n        if (this.parentScrollListener) {\n            this.parentScrollListener();\n            this.parentScrollListener = null;\n        }\n    }\n\n    unbindDocumentScrollListener() {\n        if (this.documentScrollListener) {\n            this.documentScrollListener();\n            this.documentScrollListener = null;\n        }\n    }\n\n    onDestroy() {\n        if (this.target() === 'window') this.unbindDocumentScrollListener();\n        else if (this.target() === 'parent') this.unbindParentScrollListener();\n\n        if (this.overlay) {\n            ZIndexUtils.clear(this.overlay);\n            this.overlay = null;\n        }\n    }\n}\n\n@NgModule({\n    imports: [ScrollTop, SharedModule],\n    exports: [ScrollTop, SharedModule]\n})\nexport class ScrollTopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ChevronUpIcon"],"mappings":"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"}