UNPKG

@nodegui/svelte-nodegui

Version:
116 lines (115 loc) 5.13 kB
import { NSVViewMeta } from './registry'; import { Component, NodeObject, NodeWidget, QObjectSignals, QWidgetSignals } from '@nodegui/nodegui'; import type { RNComponent } from "../../react-nodegui/src/components/config"; import { EventWidget } from '@nodegui/nodegui/dist/lib/core/EventWidget'; import SvelteNodeGUIDocument from '../../svelte/SvelteNodeGUIDocument'; export declare const enum NSVNodeTypes { TEXT = "text", ELEMENT = "element", COMMENT = "comment", ROOT = "root" } export declare const enum NSVViewFlags { NONE = 0, SKIP_ADD_TO_DOM = 1, NO_CHILDREN = 8 } export declare function componentIsEventWidget<Signals extends {} = {}>(component: Component): component is EventWidget<Signals>; export declare function componentIsStyleable<Signals extends QWidgetSignals = QWidgetSignals>(component: Component): component is NodeWidget<Signals>; export declare function componentHasPropertyAccessor<Signals extends QObjectSignals = QObjectSignals>(component: Component): component is NodeObject<Signals>; export declare function componentSupportsId<Signals extends QWidgetSignals = QWidgetSignals>(component: Component): component is NodeWidget<Signals>; export declare function elementIterator(el: NSVNode): Iterable<NSVNode>; export declare type NativeView<T extends Component = Component> = T & RNComponent; export declare abstract class NSVNode { protected constructor(nodeType: NSVNodeTypes); nodeRole?: string; nodeId: number; nodeType: NSVNodeTypes; get textContent(): string | null; set textContent(value: string); parentNode: NSVNode | null; parentElement: NSVElement | null; childNodes: NSVNode[]; nextSibling: NSVNode | null; previousSibling: NSVNode | null; get firstChild(): NSVNode; get lastChild(): NSVNode; appendChild(child: NSVNode): NSVNode; insertBefore(newNode: NSVNode, referenceNode: NSVNode): NSVNode; removeChild(child: NSVNode): NSVNode; } export declare class NSVElement<T extends NativeView = NativeView> extends NSVNode { private readonly _tagName; private readonly _nativeView; private _meta; private readonly recycledNewProps; private readonly recycledOldProps; private readonly propsSetter; ownerDocument: SvelteNodeGUIDocument | null; constructor(tagName: string); get tagName(): string; get nativeView(): T; private readonly stylesMap; get id(): string; set id(value: string); setStyle(property: string, value: string | number | null, priority: "important" | ""): void; /** * Accessed by Svelte's set_style() function. * Expected to return an object that provides setters for each style. * @example node.style.setProperty(key, value, important ? 'important' : ''); */ readonly style: { setProperty: (propertyName: string, value: string, priority: "important" | "") => void; removeProperty: (propertyName: string) => void; animation: string; cssText: string; }; updateNativeText(): void; get meta(): NSVViewMeta<T>; /** * We keep references to the event listeners so that the Svelte NodeGUI HostConfig can remove any attached event listener if it needs to replace it. */ private _eventListeners?; get eventListeners(): Map<string, any>; addEventListener<Signals extends {}, SignalType extends keyof Signals>(event: SignalType, handler: Signals[SignalType], options?: AddEventListenerOptions): void; removeEventListener<Signals extends {}, SignalType extends keyof Signals>(event: SignalType, handler?: Signals[SignalType]): void; dispatchEvent(event: string): void; getAttribute(name: string): unknown; private static readonly recycledOldProps; setAttribute(name: string, value: unknown): void; removeAttribute(name: string): void; removeChild(child: NSVNode): NSVNode; appendChild(child: NSVNode): NSVNode; insertBefore(newNode: NSVNode, referenceNode?: NSVNode | null): NSVNode; toString(): string; } export declare class NSVComment extends NSVNode { data: string; constructor(data?: string); toString(): string; } /** * This is a text node. It's a virtual element (is non-visual), and serves only as a data structure. * Whenever its data changes, we tell its parentNode to update its "text" property. */ export declare class NSVText extends NSVNode { private _data; constructor(data?: string); get data(): string | undefined; set data(t: string | undefined); /** * The Svelte runtime calls this upon the text node. * @see set_data() */ get wholeText(): string | undefined; replaceWholeText(wholeText: string): null | NSVText; toString(): string; } export declare class NSVRoot<T extends NativeView = NativeView> extends NSVNode { baseRef?: NSVElement<T>; constructor(); get text(): string | undefined; set text(t: string | undefined); setBaseRef(el: NSVNode | null): void; toString(): string; }