primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
143 lines (139 loc) • 5.79 kB
TypeScript
import { ScrollTopPassThrough, ScrollTopTarget, ScrollTopBehavior, ScrollTopIconTemplateContext } from 'primeng/types/scrolltop';
export * from 'primeng/types/scrolltop';
import * as _angular_core from '@angular/core';
import { TemplateRef } from '@angular/core';
import { MotionOptions, MotionEvent } from '@primeuix/motion';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { ButtonDirectiveOptions } from 'primeng/types/button';
import { CSSProperties } from 'primeng/types/shared';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';
/**
*
* ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.
*
* [Live Demo](https://www.primeng.org/scrolltop/)
*
* @module scrolltopstyle
*
*/
declare enum ScrollTopClasses {
/**
* Class name of the root element
*/
root = "p-scrolltop",
/**
* Class name of the icon element
*/
icon = "p-scrolltop-icon"
}
declare class ScrollTopStyle extends BaseStyle {
name: string;
style: string;
classes: {
root: ({ instance }: {
instance: any;
}) => (string | {
'p-scrolltop-sticky': boolean;
})[];
icon: string;
};
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollTopStyle, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ScrollTopStyle>;
}
interface ScrollTopStyle extends BaseStyle {
}
/**
* ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.
* @group Components
*/
declare class ScrollTop extends BaseComponent<ScrollTopPassThrough> {
componentName: string;
$pcScrollTop: ScrollTop | undefined;
bindDirectiveInstance: Bind;
/**
* Class of the element.
* @group Props
*/
styleClass: _angular_core.InputSignal<string | undefined>;
/**
* Inline style of the element.
* @group Props
*/
style: _angular_core.InputSignal<CSSProperties>;
/**
* Target of the ScrollTop.
* @group Props
*/
target: _angular_core.InputSignal<ScrollTopTarget>;
/**
* Defines the threshold value of the vertical scroll position of the target to toggle the visibility.
* @group Props
*/
threshold: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* Name of the icon or JSX.Element for icon.
* @group Props
*/
_icon: _angular_core.InputSignal<string | undefined>;
/**
* Defines the scrolling behavior, "smooth" adds an animation and "auto" scrolls with a jump.
* @group Props
*/
behavior: _angular_core.InputSignal<ScrollTopBehavior>;
/**
* The motion options.
* @group Props
*/
motionOptions: _angular_core.InputSignal<MotionOptions | undefined>;
/**
* Establishes a string value that labels the scroll-top button.
* @group Props
*/
buttonAriaLabel: _angular_core.InputSignal<string | undefined>;
/**
* Configuration object forwarded to the underlying button.
* @group Props
*/
buttonProps: _angular_core.InputSignal<ButtonDirectiveOptions>;
/**
* Custom icon template.
* @param {ScrollTopIconTemplateContext} context - icon context.
* @see {@link ScrollTopIconTemplateContext}
* @group Templates
*/
iconTemplate: _angular_core.Signal<TemplateRef<ScrollTopIconTemplateContext> | undefined>;
computedMotionOptions: _angular_core.Signal<MotionOptions>;
getIconTemplateContext(): {
styleClass: string | undefined;
};
documentScrollListener: VoidFunction | null | undefined;
parentScrollListener: VoidFunction | null | undefined;
visible: _angular_core.WritableSignal<boolean>;
render: _angular_core.WritableSignal<boolean>;
overlay: HTMLElement | null;
_componentStyle: ScrollTopStyle;
constructor();
onAfterViewChecked(): void;
onInit(): void;
onClick(): void;
onBeforeEnter(event: MotionEvent): void;
onBeforeLeave(): void;
onAfterLeave(): void;
checkVisibility(scrollY: number): void;
bindParentScrollListener(): void;
bindDocumentScrollListener(): void;
unbindParentScrollListener(): void;
unbindDocumentScrollListener(): void;
onDestroy(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollTop, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollTop, "p-scrolltop, p-scroll-top", never, { "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "_icon": { "alias": "icon"; "required": false; "isSignal": true; }; "behavior": { "alias": "behavior"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "buttonAriaLabel": { "alias": "buttonAriaLabel"; "required": false; "isSignal": true; }; "buttonProps": { "alias": "buttonProps"; "required": false; "isSignal": true; }; }, {}, ["iconTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class ScrollTopModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollTopModule, never>;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ScrollTopModule, never, [typeof ScrollTop, typeof i2.SharedModule], [typeof ScrollTop, typeof i2.SharedModule]>;
static ɵinj: _angular_core.ɵɵInjectorDeclaration<ScrollTopModule>;
}
export { ScrollTop, ScrollTopClasses, ScrollTopModule, ScrollTopStyle };