element-vir
Version:
Heroic. Reactive. Declarative. Type safe. Web components without compromise.
42 lines (41 loc) • 1.34 kB
TypeScript
import { type MaybePromise } from '@augment-vir/common';
import { type PartInfo } from '../../lit-exports/all-lit-exports.js';
/**
* The callback / listener passed to {@link onDomRendered}. The `element` parameter is a reference to
* the DOM element that the directive was attached to.
*
* @category Internal
*/
export type OnDomRenderedCallback = (element: Element) => MaybePromise<void>;
/**
* A directive that fires its listener each time the element that it's attached to is rendered.
*
* @category Directives
* @example
*
* ```ts
* import {html, defineElement, onDomRendered} from 'element-vir';
*
* const MyElement = defineElement()({
* tagName: 'my-element',
* render() {
* return html`
* <div
* ${onDomRendered((element) => {
* console.log('rendered!', element);
* })}
* >
* Some div
* </div>
* `;
* },
* });
* ```
*/
export declare const onDomRendered: (callback: OnDomRenderedCallback) => import("lit-html/directive.js").DirectiveResult<{
new (partInfo: PartInfo): {
update(partInfo: PartInfo, [callback]: [OnDomRenderedCallback]): undefined;
render(callback: OnDomRenderedCallback): undefined;
readonly _$isConnected: boolean;
};
}>;