UNPKG

igniteui-webcomponents

Version:

Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.

38 lines (37 loc) 1.56 kB
import { type ReactiveController, type ReactiveControllerHost } from 'lit'; type ResizeControllerCallback = (...args: Parameters<ResizeObserverCallback>) => unknown; /** Configuration for initializing a resize controller. */ export interface ResizeControllerConfig { /** The callback function to run when a resize mutation is triggered. */ callback: ResizeControllerCallback; /** Configuration options passed to the underlying ResizeObserver. */ options?: ResizeObserverOptions; /** * The initial target element to observe for resize mutations. * * If not provided, the host element will be set as initial target. * Pass in `null` to skip setting an initial target. */ target?: Element | null; } declare class ResizeController implements ReactiveController { private readonly _host; private readonly _targets; private readonly _observer; private readonly _config; constructor(host: ReactiveControllerHost & Element, config: ResizeControllerConfig); /** Starts observing the `targe` element. */ observe(target: Element): void; /** Stops observing the `target` element. */ unobserve(target: Element): void; /** @internal */ hostConnected(): void; /** @internal */ hostDisconnected(): void; } /** * Creates a new resize controller bound to the given `host` * with {@link ResizeControllerConfig | `config`}. */ export declare function createResizeController(host: ReactiveControllerHost & Element, config: ResizeControllerConfig): ResizeController; export {};