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