@shoelace-style/shoelace
Version:
A forward-thinking library of web components.
32 lines (31 loc) • 1.11 kB
TypeScript
import ShoelaceElement from '../../internal/shoelace-element.js';
import type { CSSResultGroup } from 'lit';
/**
* @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).
* @documentation https://shoelace.style/components/resize-observer
* @status stable
* @since 2.0
*
* @slot - One or more elements to watch for resizing.
*
* @event {{ entries: ResizeObserverEntry[] }} sl-resize - Emitted when the element is resized.
*/
export default class SlResizeObserver extends ShoelaceElement {
static styles: CSSResultGroup;
private resizeObserver;
private observedElements;
/** Disables the observer. */
disabled: boolean;
connectedCallback(): void;
disconnectedCallback(): void;
private handleSlotChange;
private startObserver;
private stopObserver;
handleDisabledChange(): void;
render(): import("lit-html").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'sl-resize-observer': SlResizeObserver;
}
}