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.

41 lines (40 loc) 1.65 kB
import { type ReactiveController, type ReactiveControllerHost } from 'lit'; type ResizeObserverControllerCallback = (...args: Parameters<ResizeObserverCallback>) => unknown; /** * Configuration for initializing a resize controller. * @ignore */ export interface ResizeObserverControllerConfig { /** The callback function to run when a resize mutation is triggered. */ callback: ResizeObserverControllerCallback; /** 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 ResizeObserverController implements ReactiveController { private readonly _host; private readonly _targets; private readonly _observer; private readonly _config; constructor(host: ReactiveControllerHost & Element, config: ResizeObserverControllerConfig); /** 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 ResizeObserverControllerConfig | `config`}. */ export declare function createResizeObserverController(host: ReactiveControllerHost & Element, config: ResizeObserverControllerConfig): ResizeObserverController; export {};