import type { TStaticElementCfg } from "../../utils/getCfg.d.mts"; import type { TCollectionItemDefaultCfg } from "../collection/index.d.mts"; /** * Factory. Подходит в ситуациях, компонент выводится на страницу единожды без добавления в коллекцию, добавляя лишь `instance`, `cfg` и автоматически вызывая метод `init`, если элемент был найден. * @module StandaloneItem * @param selector{String} передаваемый селектор элемента * @param defaultCfg{Object=} конфигурация плагина по умолчанию * @example import { StandaloneItem } from "@delement/ui/plugins" * * class MyPlugin extends StandaloneItem { * * static selector = "[data-js-MyPlugin]"; * * static defaultCfg = {} * * constructor() { * super(MyPlugin.selector, MyPlugin.defaultCfg); * // console.debug(this.instance, this.cfg, this.init); * } * * init() { * // вызывается автоматически, если элемент найден на странице * } * * } */ declare class StandaloneItem { instance: HTMLElement | null; cfg: TStaticElementCfg; constructor(selector: string, defaultCfg?: T); /** * Инициализатор, вызываемый если элемент найден на странице */ init(): void; } export { StandaloneItem };