mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-07-01 12:22:15 +02:00
⚡ dde and docs improvements (#27)
* ⚡ 🎉 * ⚡ wip * 🔤 * ⚡ wip * ⚡ wip * ⚡ Refatc signals to .get/.set syntax #26 * 🐛 Better types for on* * 🔤 * 🔤 * 🐛 coumputed signal * 🔤 ⚡ Docs UI/UX * ⚡ 🔤 UI enhancements * ⚡ (bs) (un)min * 🔤 adds debugging * 🔤 ssr * 🔤 * ⚡ bs/lint * 🔤 * 🔤 UI * 🔤 updates texts * 🔤UI * ⚡ dispatch * 🔤 events * 🔤 elements * 🔤 intro * 🐛 fixes completitions for el with components * 🐛 wrong file(s) in git * 🔤 logo * 🐛 🔤 types 3ps * 🔤 ui/ux * 🔤 * 🔤 * 🔤 scopes * 🔤 * 🔤 ui/ux * 🔤 * ⚡ issignal * 🔤 improvemens * ⚡ irelands * 🔤 UI/UX/wording * 🐛 npx-hint [Scrollable region must have keyboard access | Axe Rules | Deque University | Deque Systems](https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI) * 🔤 logos * ⚡ better? dts builds * Update README.md
This commit is contained in:
785
dist/dde-with-signals.d.ts
vendored
Normal file
785
dist/dde-with-signals.d.ts
vendored
Normal file
@ -0,0 +1,785 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
export const signal: signal;
|
||||
export const S: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export as namespace dde;
|
||||
|
||||
export {};
|
1645
dist/dde-with-signals.js
vendored
1645
dist/dde-with-signals.js
vendored
File diff suppressed because it is too large
Load Diff
785
dist/dde-with-signals.min.d.ts
vendored
Normal file
785
dist/dde-with-signals.min.d.ts
vendored
Normal file
@ -0,0 +1,785 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
export const signal: signal;
|
||||
export const S: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export as namespace dde;
|
||||
|
||||
export {};
|
4
dist/dde-with-signals.min.js
vendored
Normal file
4
dist/dde-with-signals.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
784
dist/dde.d.ts
vendored
Normal file
784
dist/dde.d.ts
vendored
Normal file
@ -0,0 +1,784 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
declare const signal: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export as namespace dde;
|
||||
|
||||
export {};
|
1104
dist/dde.js
vendored
1104
dist/dde.js
vendored
File diff suppressed because it is too large
Load Diff
784
dist/dde.min.d.ts
vendored
Normal file
784
dist/dde.min.d.ts
vendored
Normal file
@ -0,0 +1,784 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
declare const signal: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export as namespace dde;
|
||||
|
||||
export {};
|
1
dist/dde.min.js
vendored
Normal file
1
dist/dde.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
641
dist/esm-with-signals.d.min.ts
vendored
Normal file
641
dist/esm-with-signals.d.min.ts
vendored
Normal file
@ -0,0 +1,641 @@
|
||||
declare global{ /* ddeSignal */ }
|
||||
type CustomElementTagNameMap= { '#text': Text, '#comment': Comment }
|
||||
type SupportedElement=
|
||||
HTMLElementTagNameMap[keyof HTMLElementTagNameMap]
|
||||
| SVGElementTagNameMap[keyof SVGElementTagNameMap]
|
||||
| MathMLElementTagNameMap[keyof MathMLElementTagNameMap]
|
||||
| CustomElementTagNameMap[keyof CustomElementTagNameMap]
|
||||
declare global {
|
||||
type ddeComponentAttributes= Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node>= (element: El)=> any;
|
||||
type ddeString= string | ddeSignal<string>
|
||||
type ddeStringable= ddeString | number | ddeSignal<number>
|
||||
}
|
||||
type PascalCase=
|
||||
`${Capitalize<string>}${string}`;
|
||||
type AttrsModified= {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString
|
||||
| Partial<{ [K in keyof CSSStyleDeclaration]: ddeSignal<CSSStyleDeclaration[K]> }>
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string,-1|0|1|boolean|ddeSignal<-1|0|1|boolean>>,
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>,
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>,
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString>
|
||||
& Record<`.${string}`, any>
|
||||
type _fromElsInterfaces<EL extends SupportedElement>= Omit<EL, keyof AttrsModified>;
|
||||
type IsReadonly<T, K extends keyof T> =
|
||||
T extends { readonly [P in K]: T[K] } ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
type ElementAttributes<T extends SupportedElement>= Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]:
|
||||
_fromElsInterfaces<T>[K] extends ((...p: any[])=> any)
|
||||
? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>)=>
|
||||
ddeSignal<ReturnType<_fromElsInterfaces<T>[K]>>)
|
||||
: (IsReadonly<_fromElsInterfaces<T>, K> extends false
|
||||
? _fromElsInterfaces<T>[K] | ddeSignal<_fromElsInterfaces<T>[K]>
|
||||
: ddeStringable)
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(
|
||||
element: El,
|
||||
classList: AttrsModified["classList"]
|
||||
): El
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(
|
||||
element: El,
|
||||
attr: ATT,
|
||||
value: ElementAttributes<El>[ATT]
|
||||
): ElementAttributes<El>[ATT]
|
||||
|
||||
type ExtendedHTMLElementTagNameMap= HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(
|
||||
attrs: { type: "component"|"reactive"|"later", name?: string, host?: "this"|"parentElement" },
|
||||
is_open?: boolean
|
||||
): Comment;
|
||||
}
|
||||
|
||||
export function el<
|
||||
A extends ddeComponentAttributes,
|
||||
EL extends SupportedElement | ddeDocumentFragment
|
||||
>(
|
||||
component: (attr: A, ...rest: any[])=> EL,
|
||||
attrs?: NoInfer<A>,
|
||||
...addons: ddeElementAddon<EL>[]
|
||||
): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap]
|
||||
? EL
|
||||
: ( EL extends ddeDocumentFragment ? EL : ddeHTMLElement )
|
||||
export function el<
|
||||
A extends { textContent: ddeStringable },
|
||||
EL extends SupportedElement | ddeDocumentFragment
|
||||
>(
|
||||
component: (attr: A, ...rest: any[])=> EL,
|
||||
attrs?: NoInfer<A>["textContent"],
|
||||
...addons: ddeElementAddon<EL>[]
|
||||
): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap]
|
||||
? EL
|
||||
: ( EL extends ddeDocumentFragment ? EL : ddeHTMLElement )
|
||||
export function el<
|
||||
TAG extends keyof ExtendedHTMLElementTagNameMap,
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable,
|
||||
...addons: ddeElementAddon<
|
||||
ExtendedHTMLElementTagNameMap[NoInfer<TAG>]
|
||||
>[], // TODO: for now addons must have the same element
|
||||
): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement
|
||||
export function el(
|
||||
tag_name?: "<>",
|
||||
): ddeDocumentFragment
|
||||
export function el(
|
||||
tag_name: string,
|
||||
attrs?: ElementAttributes<HTMLElement> | ddeStringable,
|
||||
...addons: ddeElementAddon<HTMLElement>[]
|
||||
): ddeHTMLElement
|
||||
export { el as createElement }
|
||||
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/2000/svg"
|
||||
): <
|
||||
TAG extends keyof SVGElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/1998/Math/MathML"
|
||||
): <
|
||||
TAG extends keyof MathMLElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | ddeSignal<EL[key]> | string | number | boolean
|
||||
}>,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> ddeMathMLElement
|
||||
export function elNS(
|
||||
namespace: string
|
||||
): (
|
||||
tag_name: string,
|
||||
attrs?: string | ddeStringable | Record<string, any>,
|
||||
...addons: ddeElementAddon<SupportedElement>[]
|
||||
)=> SupportedElement
|
||||
export { elNS as createElementNS }
|
||||
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
root: EL,
|
||||
): EL
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
el: HTMLElement,
|
||||
body: EL,
|
||||
): EL
|
||||
|
||||
export function dispatchEvent(name: keyof DocumentEventMap | string, element: SupportedElement):
|
||||
(data?: any)=> void;
|
||||
export function dispatchEvent(name: keyof DocumentEventMap | string, options?: EventInit):
|
||||
(element: SupportedElement, data?: any)=> void;
|
||||
export function dispatchEvent(
|
||||
name: keyof DocumentEventMap | string,
|
||||
options: EventInit | null,
|
||||
element: SupportedElement | (()=> SupportedElement)
|
||||
): (data?: any)=> void;
|
||||
interface On{
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<
|
||||
Event extends keyof DocumentEventMap,
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: Event,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
<
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: string,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent ) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
connected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<El>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
disconnected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<void>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
attributeChanged<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<[ string, string ]>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
}
|
||||
export const on: On;
|
||||
|
||||
type Scope= {
|
||||
scope: Node | Function | Object,
|
||||
host: ddeElementAddon<any>,
|
||||
custom_element: false | HTMLElement,
|
||||
prevent: boolean
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope,
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T,
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[])=> HTMLElement,
|
||||
|
||||
state: Scope[],
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>,
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>,
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>,
|
||||
};
|
||||
|
||||
export function customElementRender<
|
||||
EL extends HTMLElement,
|
||||
P extends any = Record<string, string | ddeSignal<string>>
|
||||
>(
|
||||
target: ShadowRoot | EL,
|
||||
render: (props: P)=> SupportedElement | DocumentFragment,
|
||||
props?: P | ((el: EL)=> P)
|
||||
): EL
|
||||
export function customElementWithDDE<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function lifecyclesToEvents<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>
|
||||
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
|
||||
/* TypeScript MEH */
|
||||
declare global{
|
||||
type ddeAppend<el>= (...nodes: (Node | string)[])=> el;
|
||||
|
||||
interface ddeDocumentFragment extends DocumentFragment{ append: ddeAppend<ddeDocumentFragment>; }
|
||||
interface ddeHTMLElement extends HTMLElement{ append: ddeAppend<ddeHTMLElement>; }
|
||||
interface ddeSVGElement extends SVGElement{ append: ddeAppend<ddeSVGElement>; }
|
||||
interface ddeMathMLElement extends MathMLElement{ append: ddeAppend<ddeMathMLElement>; }
|
||||
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
|
||||
// editorconfig-checker-disable
|
||||
interface ddeHTMLAnchorElement extends HTMLAnchorElement{ append: ddeAppend<ddeHTMLAnchorElement>; }
|
||||
interface ddeHTMLAreaElement extends HTMLAreaElement{ append: ddeAppend<ddeHTMLAreaElement>; }
|
||||
interface ddeHTMLAudioElement extends HTMLAudioElement{ append: ddeAppend<ddeHTMLAudioElement>; }
|
||||
interface ddeHTMLBaseElement extends HTMLBaseElement{ append: ddeAppend<ddeHTMLBaseElement>; }
|
||||
interface ddeHTMLQuoteElement extends HTMLQuoteElement{ append: ddeAppend<ddeHTMLQuoteElement>; }
|
||||
interface ddeHTMLBodyElement extends HTMLBodyElement{ append: ddeAppend<ddeHTMLBodyElement>; }
|
||||
interface ddeHTMLBRElement extends HTMLBRElement{ append: ddeAppend<ddeHTMLBRElement>; }
|
||||
interface ddeHTMLButtonElement extends HTMLButtonElement{ append: ddeAppend<ddeHTMLButtonElement>; }
|
||||
interface ddeHTMLCanvasElement extends HTMLCanvasElement{ append: ddeAppend<ddeHTMLCanvasElement>; }
|
||||
interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement{ append: ddeAppend<ddeHTMLTableCaptionElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLDataElement extends HTMLDataElement{ append: ddeAppend<ddeHTMLDataElement>; }
|
||||
interface ddeHTMLDataListElement extends HTMLDataListElement{ append: ddeAppend<ddeHTMLDataListElement>; }
|
||||
interface ddeHTMLModElement extends HTMLModElement{ append: ddeAppend<ddeHTMLModElement>; }
|
||||
interface ddeHTMLDetailsElement extends HTMLDetailsElement{ append: ddeAppend<ddeHTMLDetailsElement>; }
|
||||
interface ddeHTMLDialogElement extends HTMLDialogElement{ append: ddeAppend<ddeHTMLDialogElement>; }
|
||||
interface ddeHTMLDivElement extends HTMLDivElement{ append: ddeAppend<ddeHTMLDivElement>; }
|
||||
interface ddeHTMLDListElement extends HTMLDListElement{ append: ddeAppend<ddeHTMLDListElement>; }
|
||||
interface ddeHTMLEmbedElement extends HTMLEmbedElement{ append: ddeAppend<ddeHTMLEmbedElement>; }
|
||||
interface ddeHTMLFieldSetElement extends HTMLFieldSetElement{ append: ddeAppend<ddeHTMLFieldSetElement>; }
|
||||
interface ddeHTMLFormElement extends HTMLFormElement{ append: ddeAppend<ddeHTMLFormElement>; }
|
||||
interface ddeHTMLHeadingElement extends HTMLHeadingElement{ append: ddeAppend<ddeHTMLHeadingElement>; }
|
||||
interface ddeHTMLHeadElement extends HTMLHeadElement{ append: ddeAppend<ddeHTMLHeadElement>; }
|
||||
interface ddeHTMLHRElement extends HTMLHRElement{ append: ddeAppend<ddeHTMLHRElement>; }
|
||||
interface ddeHTMLHtmlElement extends HTMLHtmlElement{ append: ddeAppend<ddeHTMLHtmlElement>; }
|
||||
interface ddeHTMLIFrameElement extends HTMLIFrameElement{ append: ddeAppend<ddeHTMLIFrameElement>; }
|
||||
interface ddeHTMLImageElement extends HTMLImageElement{ append: ddeAppend<ddeHTMLImageElement>; }
|
||||
interface ddeHTMLInputElement extends HTMLInputElement{ append: ddeAppend<ddeHTMLInputElement>; }
|
||||
interface ddeHTMLLabelElement extends HTMLLabelElement{ append: ddeAppend<ddeHTMLLabelElement>; }
|
||||
interface ddeHTMLLegendElement extends HTMLLegendElement{ append: ddeAppend<ddeHTMLLegendElement>; }
|
||||
interface ddeHTMLLIElement extends HTMLLIElement{ append: ddeAppend<ddeHTMLLIElement>; }
|
||||
interface ddeHTMLLinkElement extends HTMLLinkElement{ append: ddeAppend<ddeHTMLLinkElement>; }
|
||||
interface ddeHTMLMapElement extends HTMLMapElement{ append: ddeAppend<ddeHTMLMapElement>; }
|
||||
interface ddeHTMLMenuElement extends HTMLMenuElement{ append: ddeAppend<ddeHTMLMenuElement>; }
|
||||
interface ddeHTMLMetaElement extends HTMLMetaElement{ append: ddeAppend<ddeHTMLMetaElement>; }
|
||||
interface ddeHTMLMeterElement extends HTMLMeterElement{ append: ddeAppend<ddeHTMLMeterElement>; }
|
||||
interface ddeHTMLObjectElement extends HTMLObjectElement{ append: ddeAppend<ddeHTMLObjectElement>; }
|
||||
interface ddeHTMLOListElement extends HTMLOListElement{ append: ddeAppend<ddeHTMLOListElement>; }
|
||||
interface ddeHTMLOptGroupElement extends HTMLOptGroupElement{ append: ddeAppend<ddeHTMLOptGroupElement>; }
|
||||
interface ddeHTMLOptionElement extends HTMLOptionElement{ append: ddeAppend<ddeHTMLOptionElement>; }
|
||||
interface ddeHTMLOutputElement extends HTMLOutputElement{ append: ddeAppend<ddeHTMLOutputElement>; }
|
||||
interface ddeHTMLParagraphElement extends HTMLParagraphElement{ append: ddeAppend<ddeHTMLParagraphElement>; }
|
||||
interface ddeHTMLPictureElement extends HTMLPictureElement{ append: ddeAppend<ddeHTMLPictureElement>; }
|
||||
interface ddeHTMLPreElement extends HTMLPreElement{ append: ddeAppend<ddeHTMLPreElement>; }
|
||||
interface ddeHTMLProgressElement extends HTMLProgressElement{ append: ddeAppend<ddeHTMLProgressElement>; }
|
||||
interface ddeHTMLScriptElement extends HTMLScriptElement{ append: ddeAppend<ddeHTMLScriptElement>; }
|
||||
interface ddeHTMLSelectElement extends HTMLSelectElement{ append: ddeAppend<ddeHTMLSelectElement>; }
|
||||
interface ddeHTMLSlotElement extends HTMLSlotElement{ append: ddeAppend<ddeHTMLSlotElement>; }
|
||||
interface ddeHTMLSourceElement extends HTMLSourceElement{ append: ddeAppend<ddeHTMLSourceElement>; }
|
||||
interface ddeHTMLSpanElement extends HTMLSpanElement{ append: ddeAppend<ddeHTMLSpanElement>; }
|
||||
interface ddeHTMLStyleElement extends HTMLStyleElement{ append: ddeAppend<ddeHTMLStyleElement>; }
|
||||
interface ddeHTMLTableElement extends HTMLTableElement{ append: ddeAppend<ddeHTMLTableElement>; }
|
||||
interface ddeHTMLTableSectionElement extends HTMLTableSectionElement{ append: ddeAppend<ddeHTMLTableSectionElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTemplateElement extends HTMLTemplateElement{ append: ddeAppend<ddeHTMLTemplateElement>; }
|
||||
interface ddeHTMLTextAreaElement extends HTMLTextAreaElement{ append: ddeAppend<ddeHTMLTextAreaElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTimeElement extends HTMLTimeElement{ append: ddeAppend<ddeHTMLTimeElement>; }
|
||||
interface ddeHTMLTitleElement extends HTMLTitleElement{ append: ddeAppend<ddeHTMLTitleElement>; }
|
||||
interface ddeHTMLTableRowElement extends HTMLTableRowElement{ append: ddeAppend<ddeHTMLTableRowElement>; }
|
||||
interface ddeHTMLTrackElement extends HTMLTrackElement{ append: ddeAppend<ddeHTMLTrackElement>; }
|
||||
interface ddeHTMLUListElement extends HTMLUListElement{ append: ddeAppend<ddeHTMLUListElement>; }
|
||||
interface ddeHTMLVideoElement extends HTMLVideoElement{ append: ddeAppend<ddeHTMLVideoElement>; }
|
||||
interface ddeSVGAElement extends SVGAElement{ append: ddeAppend<ddeSVGAElement>; }
|
||||
interface ddeSVGAnimateElement extends SVGAnimateElement{ append: ddeAppend<ddeSVGAnimateElement>; }
|
||||
interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement{ append: ddeAppend<ddeSVGAnimateMotionElement>; }
|
||||
interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement{ append: ddeAppend<ddeSVGAnimateTransformElement>; }
|
||||
interface ddeSVGCircleElement extends SVGCircleElement{ append: ddeAppend<ddeSVGCircleElement>; }
|
||||
interface ddeSVGClipPathElement extends SVGClipPathElement{ append: ddeAppend<ddeSVGClipPathElement>; }
|
||||
interface ddeSVGDefsElement extends SVGDefsElement{ append: ddeAppend<ddeSVGDefsElement>; }
|
||||
interface ddeSVGDescElement extends SVGDescElement{ append: ddeAppend<ddeSVGDescElement>; }
|
||||
interface ddeSVGEllipseElement extends SVGEllipseElement{ append: ddeAppend<ddeSVGEllipseElement>; }
|
||||
interface ddeSVGFEBlendElement extends SVGFEBlendElement{ append: ddeAppend<ddeSVGFEBlendElement>; }
|
||||
interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement{ append: ddeAppend<ddeSVGFEColorMatrixElement>; }
|
||||
interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement{ append: ddeAppend<ddeSVGFEComponentTransferElement>; }
|
||||
interface ddeSVGFECompositeElement extends SVGFECompositeElement{ append: ddeAppend<ddeSVGFECompositeElement>; }
|
||||
interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement{ append: ddeAppend<ddeSVGFEConvolveMatrixElement>; }
|
||||
interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement{ append: ddeAppend<ddeSVGFEDiffuseLightingElement>; }
|
||||
interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement{ append: ddeAppend<ddeSVGFEDisplacementMapElement>; }
|
||||
interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement{ append: ddeAppend<ddeSVGFEDistantLightElement>; }
|
||||
interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement{ append: ddeAppend<ddeSVGFEDropShadowElement>; }
|
||||
interface ddeSVGFEFloodElement extends SVGFEFloodElement{ append: ddeAppend<ddeSVGFEFloodElement>; }
|
||||
interface ddeSVGFEFuncAElement extends SVGFEFuncAElement{ append: ddeAppend<ddeSVGFEFuncAElement>; }
|
||||
interface ddeSVGFEFuncBElement extends SVGFEFuncBElement{ append: ddeAppend<ddeSVGFEFuncBElement>; }
|
||||
interface ddeSVGFEFuncGElement extends SVGFEFuncGElement{ append: ddeAppend<ddeSVGFEFuncGElement>; }
|
||||
interface ddeSVGFEFuncRElement extends SVGFEFuncRElement{ append: ddeAppend<ddeSVGFEFuncRElement>; }
|
||||
interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement{ append: ddeAppend<ddeSVGFEGaussianBlurElement>; }
|
||||
interface ddeSVGFEImageElement extends SVGFEImageElement{ append: ddeAppend<ddeSVGFEImageElement>; }
|
||||
interface ddeSVGFEMergeElement extends SVGFEMergeElement{ append: ddeAppend<ddeSVGFEMergeElement>; }
|
||||
interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement{ append: ddeAppend<ddeSVGFEMergeNodeElement>; }
|
||||
interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement{ append: ddeAppend<ddeSVGFEMorphologyElement>; }
|
||||
interface ddeSVGFEOffsetElement extends SVGFEOffsetElement{ append: ddeAppend<ddeSVGFEOffsetElement>; }
|
||||
interface ddeSVGFEPointLightElement extends SVGFEPointLightElement{ append: ddeAppend<ddeSVGFEPointLightElement>; }
|
||||
interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement{ append: ddeAppend<ddeSVGFESpecularLightingElement>; }
|
||||
interface ddeSVGFESpotLightElement extends SVGFESpotLightElement{ append: ddeAppend<ddeSVGFESpotLightElement>; }
|
||||
interface ddeSVGFETileElement extends SVGFETileElement{ append: ddeAppend<ddeSVGFETileElement>; }
|
||||
interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement{ append: ddeAppend<ddeSVGFETurbulenceElement>; }
|
||||
interface ddeSVGFilterElement extends SVGFilterElement{ append: ddeAppend<ddeSVGFilterElement>; }
|
||||
interface ddeSVGForeignObjectElement extends SVGForeignObjectElement{ append: ddeAppend<ddeSVGForeignObjectElement>; }
|
||||
interface ddeSVGGElement extends SVGGElement{ append: ddeAppend<ddeSVGGElement>; }
|
||||
interface ddeSVGImageElement extends SVGImageElement{ append: ddeAppend<ddeSVGImageElement>; }
|
||||
interface ddeSVGLineElement extends SVGLineElement{ append: ddeAppend<ddeSVGLineElement>; }
|
||||
interface ddeSVGLinearGradientElement extends SVGLinearGradientElement{ append: ddeAppend<ddeSVGLinearGradientElement>; }
|
||||
interface ddeSVGMarkerElement extends SVGMarkerElement{ append: ddeAppend<ddeSVGMarkerElement>; }
|
||||
interface ddeSVGMaskElement extends SVGMaskElement{ append: ddeAppend<ddeSVGMaskElement>; }
|
||||
interface ddeSVGMetadataElement extends SVGMetadataElement{ append: ddeAppend<ddeSVGMetadataElement>; }
|
||||
interface ddeSVGMPathElement extends SVGMPathElement{ append: ddeAppend<ddeSVGMPathElement>; }
|
||||
interface ddeSVGPathElement extends SVGPathElement{ append: ddeAppend<ddeSVGPathElement>; }
|
||||
interface ddeSVGPatternElement extends SVGPatternElement{ append: ddeAppend<ddeSVGPatternElement>; }
|
||||
interface ddeSVGPolygonElement extends SVGPolygonElement{ append: ddeAppend<ddeSVGPolygonElement>; }
|
||||
interface ddeSVGPolylineElement extends SVGPolylineElement{ append: ddeAppend<ddeSVGPolylineElement>; }
|
||||
interface ddeSVGRadialGradientElement extends SVGRadialGradientElement{ append: ddeAppend<ddeSVGRadialGradientElement>; }
|
||||
interface ddeSVGRectElement extends SVGRectElement{ append: ddeAppend<ddeSVGRectElement>; }
|
||||
interface ddeSVGScriptElement extends SVGScriptElement{ append: ddeAppend<ddeSVGScriptElement>; }
|
||||
interface ddeSVGSetElement extends SVGSetElement{ append: ddeAppend<ddeSVGSetElement>; }
|
||||
interface ddeSVGStopElement extends SVGStopElement{ append: ddeAppend<ddeSVGStopElement>; }
|
||||
interface ddeSVGStyleElement extends SVGStyleElement{ append: ddeAppend<ddeSVGStyleElement>; }
|
||||
interface ddeSVGSVGElement extends SVGSVGElement{ append: ddeAppend<ddeSVGSVGElement>; }
|
||||
interface ddeSVGSwitchElement extends SVGSwitchElement{ append: ddeAppend<ddeSVGSwitchElement>; }
|
||||
interface ddeSVGSymbolElement extends SVGSymbolElement{ append: ddeAppend<ddeSVGSymbolElement>; }
|
||||
interface ddeSVGTextElement extends SVGTextElement{ append: ddeAppend<ddeSVGTextElement>; }
|
||||
interface ddeSVGTextPathElement extends SVGTextPathElement{ append: ddeAppend<ddeSVGTextPathElement>; }
|
||||
interface ddeSVGTitleElement extends SVGTitleElement{ append: ddeAppend<ddeSVGTitleElement>; }
|
||||
interface ddeSVGTSpanElement extends SVGTSpanElement{ append: ddeAppend<ddeSVGTSpanElement>; }
|
||||
interface ddeSVGUseElement extends SVGUseElement{ append: ddeAppend<ddeSVGUseElement>; }
|
||||
interface ddeSVGViewElement extends SVGViewElement{ append: ddeAppend<ddeSVGViewElement>; }
|
||||
// editorconfig-checker-enable
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
type Action<V>= (this: { value: V, stopPropagation(): void }, ...a: any[])=> typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
type SymbolOnclear= symbol;
|
||||
type Actions<V>= Record<string | SymbolOnclear, Action<V>>;
|
||||
type OnListenerOptions= Pick<AddEventListenerOptions, "signal"> & { first_time?: boolean };
|
||||
interface signal{
|
||||
_: Symbol
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends ()=> any>(computation: V): Signal<ReturnType<V>, {}>
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(
|
||||
signal: S,
|
||||
name: N,
|
||||
...params: A[N] extends (...args: infer P)=> any ? P : never
|
||||
): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T)=> void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
}
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S)=> Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
export const signal: signal;
|
||||
export const S: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A= {}>= Signal<T, A>;
|
||||
type ddeAction<V>= Action<V>
|
||||
type ddeActions<V>= Actions<V>
|
||||
}
|
970
dist/esm-with-signals.d.ts
vendored
970
dist/esm-with-signals.d.ts
vendored
File diff suppressed because it is too large
Load Diff
1320
dist/esm-with-signals.js
vendored
1320
dist/esm-with-signals.js
vendored
File diff suppressed because it is too large
Load Diff
783
dist/esm-with-signals.min.d.ts
vendored
Normal file
783
dist/esm-with-signals.min.d.ts
vendored
Normal file
@ -0,0 +1,783 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
export const signal: signal;
|
||||
export const S: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export {};
|
4
dist/esm-with-signals.min.js
vendored
Normal file
4
dist/esm-with-signals.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
568
dist/esm.d.min.ts
vendored
Normal file
568
dist/esm.d.min.ts
vendored
Normal file
@ -0,0 +1,568 @@
|
||||
declare global{ /* ddeSignal */ }
|
||||
type CustomElementTagNameMap= { '#text': Text, '#comment': Comment }
|
||||
type SupportedElement=
|
||||
HTMLElementTagNameMap[keyof HTMLElementTagNameMap]
|
||||
| SVGElementTagNameMap[keyof SVGElementTagNameMap]
|
||||
| MathMLElementTagNameMap[keyof MathMLElementTagNameMap]
|
||||
| CustomElementTagNameMap[keyof CustomElementTagNameMap]
|
||||
declare global {
|
||||
type ddeComponentAttributes= Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node>= (element: El)=> any;
|
||||
type ddeString= string | ddeSignal<string>
|
||||
type ddeStringable= ddeString | number | ddeSignal<number>
|
||||
}
|
||||
type PascalCase=
|
||||
`${Capitalize<string>}${string}`;
|
||||
type AttrsModified= {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString
|
||||
| Partial<{ [K in keyof CSSStyleDeclaration]: ddeSignal<CSSStyleDeclaration[K]> }>
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string,-1|0|1|boolean|ddeSignal<-1|0|1|boolean>>,
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>,
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>,
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString>
|
||||
& Record<`.${string}`, any>
|
||||
type _fromElsInterfaces<EL extends SupportedElement>= Omit<EL, keyof AttrsModified>;
|
||||
type IsReadonly<T, K extends keyof T> =
|
||||
T extends { readonly [P in K]: T[K] } ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
type ElementAttributes<T extends SupportedElement>= Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]:
|
||||
_fromElsInterfaces<T>[K] extends ((...p: any[])=> any)
|
||||
? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>)=>
|
||||
ddeSignal<ReturnType<_fromElsInterfaces<T>[K]>>)
|
||||
: (IsReadonly<_fromElsInterfaces<T>, K> extends false
|
||||
? _fromElsInterfaces<T>[K] | ddeSignal<_fromElsInterfaces<T>[K]>
|
||||
: ddeStringable)
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(
|
||||
element: El,
|
||||
classList: AttrsModified["classList"]
|
||||
): El
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(
|
||||
element: El,
|
||||
attr: ATT,
|
||||
value: ElementAttributes<El>[ATT]
|
||||
): ElementAttributes<El>[ATT]
|
||||
|
||||
type ExtendedHTMLElementTagNameMap= HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(
|
||||
attrs: { type: "component"|"reactive"|"later", name?: string, host?: "this"|"parentElement" },
|
||||
is_open?: boolean
|
||||
): Comment;
|
||||
}
|
||||
|
||||
export function el<
|
||||
A extends ddeComponentAttributes,
|
||||
EL extends SupportedElement | ddeDocumentFragment
|
||||
>(
|
||||
component: (attr: A, ...rest: any[])=> EL,
|
||||
attrs?: NoInfer<A>,
|
||||
...addons: ddeElementAddon<EL>[]
|
||||
): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap]
|
||||
? EL
|
||||
: ( EL extends ddeDocumentFragment ? EL : ddeHTMLElement )
|
||||
export function el<
|
||||
A extends { textContent: ddeStringable },
|
||||
EL extends SupportedElement | ddeDocumentFragment
|
||||
>(
|
||||
component: (attr: A, ...rest: any[])=> EL,
|
||||
attrs?: NoInfer<A>["textContent"],
|
||||
...addons: ddeElementAddon<EL>[]
|
||||
): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap]
|
||||
? EL
|
||||
: ( EL extends ddeDocumentFragment ? EL : ddeHTMLElement )
|
||||
export function el<
|
||||
TAG extends keyof ExtendedHTMLElementTagNameMap,
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable,
|
||||
...addons: ddeElementAddon<
|
||||
ExtendedHTMLElementTagNameMap[NoInfer<TAG>]
|
||||
>[], // TODO: for now addons must have the same element
|
||||
): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement
|
||||
export function el(
|
||||
tag_name?: "<>",
|
||||
): ddeDocumentFragment
|
||||
export function el(
|
||||
tag_name: string,
|
||||
attrs?: ElementAttributes<HTMLElement> | ddeStringable,
|
||||
...addons: ddeElementAddon<HTMLElement>[]
|
||||
): ddeHTMLElement
|
||||
export { el as createElement }
|
||||
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/2000/svg"
|
||||
): <
|
||||
TAG extends keyof SVGElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/1998/Math/MathML"
|
||||
): <
|
||||
TAG extends keyof MathMLElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | ddeSignal<EL[key]> | string | number | boolean
|
||||
}>,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> ddeMathMLElement
|
||||
export function elNS(
|
||||
namespace: string
|
||||
): (
|
||||
tag_name: string,
|
||||
attrs?: string | ddeStringable | Record<string, any>,
|
||||
...addons: ddeElementAddon<SupportedElement>[]
|
||||
)=> SupportedElement
|
||||
export { elNS as createElementNS }
|
||||
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
root: EL,
|
||||
): EL
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
el: HTMLElement,
|
||||
body: EL,
|
||||
): EL
|
||||
|
||||
export function dispatchEvent(name: keyof DocumentEventMap | string, element: SupportedElement):
|
||||
(data?: any)=> void;
|
||||
export function dispatchEvent(name: keyof DocumentEventMap | string, options?: EventInit):
|
||||
(element: SupportedElement, data?: any)=> void;
|
||||
export function dispatchEvent(
|
||||
name: keyof DocumentEventMap | string,
|
||||
options: EventInit | null,
|
||||
element: SupportedElement | (()=> SupportedElement)
|
||||
): (data?: any)=> void;
|
||||
interface On{
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<
|
||||
Event extends keyof DocumentEventMap,
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: Event,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
<
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: string,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent ) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
connected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<El>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
disconnected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<void>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
attributeChanged<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<[ string, string ]>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
}
|
||||
export const on: On;
|
||||
|
||||
type Scope= {
|
||||
scope: Node | Function | Object,
|
||||
host: ddeElementAddon<any>,
|
||||
custom_element: false | HTMLElement,
|
||||
prevent: boolean
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope,
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T,
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[])=> HTMLElement,
|
||||
|
||||
state: Scope[],
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>,
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>,
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>,
|
||||
};
|
||||
|
||||
export function customElementRender<
|
||||
EL extends HTMLElement,
|
||||
P extends any = Record<string, string | ddeSignal<string>>
|
||||
>(
|
||||
target: ShadowRoot | EL,
|
||||
render: (props: P)=> SupportedElement | DocumentFragment,
|
||||
props?: P | ((el: EL)=> P)
|
||||
): EL
|
||||
export function customElementWithDDE<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function lifecyclesToEvents<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>
|
||||
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
|
||||
/* TypeScript MEH */
|
||||
declare global{
|
||||
type ddeAppend<el>= (...nodes: (Node | string)[])=> el;
|
||||
|
||||
interface ddeDocumentFragment extends DocumentFragment{ append: ddeAppend<ddeDocumentFragment>; }
|
||||
interface ddeHTMLElement extends HTMLElement{ append: ddeAppend<ddeHTMLElement>; }
|
||||
interface ddeSVGElement extends SVGElement{ append: ddeAppend<ddeSVGElement>; }
|
||||
interface ddeMathMLElement extends MathMLElement{ append: ddeAppend<ddeMathMLElement>; }
|
||||
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
|
||||
// editorconfig-checker-disable
|
||||
interface ddeHTMLAnchorElement extends HTMLAnchorElement{ append: ddeAppend<ddeHTMLAnchorElement>; }
|
||||
interface ddeHTMLAreaElement extends HTMLAreaElement{ append: ddeAppend<ddeHTMLAreaElement>; }
|
||||
interface ddeHTMLAudioElement extends HTMLAudioElement{ append: ddeAppend<ddeHTMLAudioElement>; }
|
||||
interface ddeHTMLBaseElement extends HTMLBaseElement{ append: ddeAppend<ddeHTMLBaseElement>; }
|
||||
interface ddeHTMLQuoteElement extends HTMLQuoteElement{ append: ddeAppend<ddeHTMLQuoteElement>; }
|
||||
interface ddeHTMLBodyElement extends HTMLBodyElement{ append: ddeAppend<ddeHTMLBodyElement>; }
|
||||
interface ddeHTMLBRElement extends HTMLBRElement{ append: ddeAppend<ddeHTMLBRElement>; }
|
||||
interface ddeHTMLButtonElement extends HTMLButtonElement{ append: ddeAppend<ddeHTMLButtonElement>; }
|
||||
interface ddeHTMLCanvasElement extends HTMLCanvasElement{ append: ddeAppend<ddeHTMLCanvasElement>; }
|
||||
interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement{ append: ddeAppend<ddeHTMLTableCaptionElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLDataElement extends HTMLDataElement{ append: ddeAppend<ddeHTMLDataElement>; }
|
||||
interface ddeHTMLDataListElement extends HTMLDataListElement{ append: ddeAppend<ddeHTMLDataListElement>; }
|
||||
interface ddeHTMLModElement extends HTMLModElement{ append: ddeAppend<ddeHTMLModElement>; }
|
||||
interface ddeHTMLDetailsElement extends HTMLDetailsElement{ append: ddeAppend<ddeHTMLDetailsElement>; }
|
||||
interface ddeHTMLDialogElement extends HTMLDialogElement{ append: ddeAppend<ddeHTMLDialogElement>; }
|
||||
interface ddeHTMLDivElement extends HTMLDivElement{ append: ddeAppend<ddeHTMLDivElement>; }
|
||||
interface ddeHTMLDListElement extends HTMLDListElement{ append: ddeAppend<ddeHTMLDListElement>; }
|
||||
interface ddeHTMLEmbedElement extends HTMLEmbedElement{ append: ddeAppend<ddeHTMLEmbedElement>; }
|
||||
interface ddeHTMLFieldSetElement extends HTMLFieldSetElement{ append: ddeAppend<ddeHTMLFieldSetElement>; }
|
||||
interface ddeHTMLFormElement extends HTMLFormElement{ append: ddeAppend<ddeHTMLFormElement>; }
|
||||
interface ddeHTMLHeadingElement extends HTMLHeadingElement{ append: ddeAppend<ddeHTMLHeadingElement>; }
|
||||
interface ddeHTMLHeadElement extends HTMLHeadElement{ append: ddeAppend<ddeHTMLHeadElement>; }
|
||||
interface ddeHTMLHRElement extends HTMLHRElement{ append: ddeAppend<ddeHTMLHRElement>; }
|
||||
interface ddeHTMLHtmlElement extends HTMLHtmlElement{ append: ddeAppend<ddeHTMLHtmlElement>; }
|
||||
interface ddeHTMLIFrameElement extends HTMLIFrameElement{ append: ddeAppend<ddeHTMLIFrameElement>; }
|
||||
interface ddeHTMLImageElement extends HTMLImageElement{ append: ddeAppend<ddeHTMLImageElement>; }
|
||||
interface ddeHTMLInputElement extends HTMLInputElement{ append: ddeAppend<ddeHTMLInputElement>; }
|
||||
interface ddeHTMLLabelElement extends HTMLLabelElement{ append: ddeAppend<ddeHTMLLabelElement>; }
|
||||
interface ddeHTMLLegendElement extends HTMLLegendElement{ append: ddeAppend<ddeHTMLLegendElement>; }
|
||||
interface ddeHTMLLIElement extends HTMLLIElement{ append: ddeAppend<ddeHTMLLIElement>; }
|
||||
interface ddeHTMLLinkElement extends HTMLLinkElement{ append: ddeAppend<ddeHTMLLinkElement>; }
|
||||
interface ddeHTMLMapElement extends HTMLMapElement{ append: ddeAppend<ddeHTMLMapElement>; }
|
||||
interface ddeHTMLMenuElement extends HTMLMenuElement{ append: ddeAppend<ddeHTMLMenuElement>; }
|
||||
interface ddeHTMLMetaElement extends HTMLMetaElement{ append: ddeAppend<ddeHTMLMetaElement>; }
|
||||
interface ddeHTMLMeterElement extends HTMLMeterElement{ append: ddeAppend<ddeHTMLMeterElement>; }
|
||||
interface ddeHTMLObjectElement extends HTMLObjectElement{ append: ddeAppend<ddeHTMLObjectElement>; }
|
||||
interface ddeHTMLOListElement extends HTMLOListElement{ append: ddeAppend<ddeHTMLOListElement>; }
|
||||
interface ddeHTMLOptGroupElement extends HTMLOptGroupElement{ append: ddeAppend<ddeHTMLOptGroupElement>; }
|
||||
interface ddeHTMLOptionElement extends HTMLOptionElement{ append: ddeAppend<ddeHTMLOptionElement>; }
|
||||
interface ddeHTMLOutputElement extends HTMLOutputElement{ append: ddeAppend<ddeHTMLOutputElement>; }
|
||||
interface ddeHTMLParagraphElement extends HTMLParagraphElement{ append: ddeAppend<ddeHTMLParagraphElement>; }
|
||||
interface ddeHTMLPictureElement extends HTMLPictureElement{ append: ddeAppend<ddeHTMLPictureElement>; }
|
||||
interface ddeHTMLPreElement extends HTMLPreElement{ append: ddeAppend<ddeHTMLPreElement>; }
|
||||
interface ddeHTMLProgressElement extends HTMLProgressElement{ append: ddeAppend<ddeHTMLProgressElement>; }
|
||||
interface ddeHTMLScriptElement extends HTMLScriptElement{ append: ddeAppend<ddeHTMLScriptElement>; }
|
||||
interface ddeHTMLSelectElement extends HTMLSelectElement{ append: ddeAppend<ddeHTMLSelectElement>; }
|
||||
interface ddeHTMLSlotElement extends HTMLSlotElement{ append: ddeAppend<ddeHTMLSlotElement>; }
|
||||
interface ddeHTMLSourceElement extends HTMLSourceElement{ append: ddeAppend<ddeHTMLSourceElement>; }
|
||||
interface ddeHTMLSpanElement extends HTMLSpanElement{ append: ddeAppend<ddeHTMLSpanElement>; }
|
||||
interface ddeHTMLStyleElement extends HTMLStyleElement{ append: ddeAppend<ddeHTMLStyleElement>; }
|
||||
interface ddeHTMLTableElement extends HTMLTableElement{ append: ddeAppend<ddeHTMLTableElement>; }
|
||||
interface ddeHTMLTableSectionElement extends HTMLTableSectionElement{ append: ddeAppend<ddeHTMLTableSectionElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTemplateElement extends HTMLTemplateElement{ append: ddeAppend<ddeHTMLTemplateElement>; }
|
||||
interface ddeHTMLTextAreaElement extends HTMLTextAreaElement{ append: ddeAppend<ddeHTMLTextAreaElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTimeElement extends HTMLTimeElement{ append: ddeAppend<ddeHTMLTimeElement>; }
|
||||
interface ddeHTMLTitleElement extends HTMLTitleElement{ append: ddeAppend<ddeHTMLTitleElement>; }
|
||||
interface ddeHTMLTableRowElement extends HTMLTableRowElement{ append: ddeAppend<ddeHTMLTableRowElement>; }
|
||||
interface ddeHTMLTrackElement extends HTMLTrackElement{ append: ddeAppend<ddeHTMLTrackElement>; }
|
||||
interface ddeHTMLUListElement extends HTMLUListElement{ append: ddeAppend<ddeHTMLUListElement>; }
|
||||
interface ddeHTMLVideoElement extends HTMLVideoElement{ append: ddeAppend<ddeHTMLVideoElement>; }
|
||||
interface ddeSVGAElement extends SVGAElement{ append: ddeAppend<ddeSVGAElement>; }
|
||||
interface ddeSVGAnimateElement extends SVGAnimateElement{ append: ddeAppend<ddeSVGAnimateElement>; }
|
||||
interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement{ append: ddeAppend<ddeSVGAnimateMotionElement>; }
|
||||
interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement{ append: ddeAppend<ddeSVGAnimateTransformElement>; }
|
||||
interface ddeSVGCircleElement extends SVGCircleElement{ append: ddeAppend<ddeSVGCircleElement>; }
|
||||
interface ddeSVGClipPathElement extends SVGClipPathElement{ append: ddeAppend<ddeSVGClipPathElement>; }
|
||||
interface ddeSVGDefsElement extends SVGDefsElement{ append: ddeAppend<ddeSVGDefsElement>; }
|
||||
interface ddeSVGDescElement extends SVGDescElement{ append: ddeAppend<ddeSVGDescElement>; }
|
||||
interface ddeSVGEllipseElement extends SVGEllipseElement{ append: ddeAppend<ddeSVGEllipseElement>; }
|
||||
interface ddeSVGFEBlendElement extends SVGFEBlendElement{ append: ddeAppend<ddeSVGFEBlendElement>; }
|
||||
interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement{ append: ddeAppend<ddeSVGFEColorMatrixElement>; }
|
||||
interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement{ append: ddeAppend<ddeSVGFEComponentTransferElement>; }
|
||||
interface ddeSVGFECompositeElement extends SVGFECompositeElement{ append: ddeAppend<ddeSVGFECompositeElement>; }
|
||||
interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement{ append: ddeAppend<ddeSVGFEConvolveMatrixElement>; }
|
||||
interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement{ append: ddeAppend<ddeSVGFEDiffuseLightingElement>; }
|
||||
interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement{ append: ddeAppend<ddeSVGFEDisplacementMapElement>; }
|
||||
interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement{ append: ddeAppend<ddeSVGFEDistantLightElement>; }
|
||||
interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement{ append: ddeAppend<ddeSVGFEDropShadowElement>; }
|
||||
interface ddeSVGFEFloodElement extends SVGFEFloodElement{ append: ddeAppend<ddeSVGFEFloodElement>; }
|
||||
interface ddeSVGFEFuncAElement extends SVGFEFuncAElement{ append: ddeAppend<ddeSVGFEFuncAElement>; }
|
||||
interface ddeSVGFEFuncBElement extends SVGFEFuncBElement{ append: ddeAppend<ddeSVGFEFuncBElement>; }
|
||||
interface ddeSVGFEFuncGElement extends SVGFEFuncGElement{ append: ddeAppend<ddeSVGFEFuncGElement>; }
|
||||
interface ddeSVGFEFuncRElement extends SVGFEFuncRElement{ append: ddeAppend<ddeSVGFEFuncRElement>; }
|
||||
interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement{ append: ddeAppend<ddeSVGFEGaussianBlurElement>; }
|
||||
interface ddeSVGFEImageElement extends SVGFEImageElement{ append: ddeAppend<ddeSVGFEImageElement>; }
|
||||
interface ddeSVGFEMergeElement extends SVGFEMergeElement{ append: ddeAppend<ddeSVGFEMergeElement>; }
|
||||
interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement{ append: ddeAppend<ddeSVGFEMergeNodeElement>; }
|
||||
interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement{ append: ddeAppend<ddeSVGFEMorphologyElement>; }
|
||||
interface ddeSVGFEOffsetElement extends SVGFEOffsetElement{ append: ddeAppend<ddeSVGFEOffsetElement>; }
|
||||
interface ddeSVGFEPointLightElement extends SVGFEPointLightElement{ append: ddeAppend<ddeSVGFEPointLightElement>; }
|
||||
interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement{ append: ddeAppend<ddeSVGFESpecularLightingElement>; }
|
||||
interface ddeSVGFESpotLightElement extends SVGFESpotLightElement{ append: ddeAppend<ddeSVGFESpotLightElement>; }
|
||||
interface ddeSVGFETileElement extends SVGFETileElement{ append: ddeAppend<ddeSVGFETileElement>; }
|
||||
interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement{ append: ddeAppend<ddeSVGFETurbulenceElement>; }
|
||||
interface ddeSVGFilterElement extends SVGFilterElement{ append: ddeAppend<ddeSVGFilterElement>; }
|
||||
interface ddeSVGForeignObjectElement extends SVGForeignObjectElement{ append: ddeAppend<ddeSVGForeignObjectElement>; }
|
||||
interface ddeSVGGElement extends SVGGElement{ append: ddeAppend<ddeSVGGElement>; }
|
||||
interface ddeSVGImageElement extends SVGImageElement{ append: ddeAppend<ddeSVGImageElement>; }
|
||||
interface ddeSVGLineElement extends SVGLineElement{ append: ddeAppend<ddeSVGLineElement>; }
|
||||
interface ddeSVGLinearGradientElement extends SVGLinearGradientElement{ append: ddeAppend<ddeSVGLinearGradientElement>; }
|
||||
interface ddeSVGMarkerElement extends SVGMarkerElement{ append: ddeAppend<ddeSVGMarkerElement>; }
|
||||
interface ddeSVGMaskElement extends SVGMaskElement{ append: ddeAppend<ddeSVGMaskElement>; }
|
||||
interface ddeSVGMetadataElement extends SVGMetadataElement{ append: ddeAppend<ddeSVGMetadataElement>; }
|
||||
interface ddeSVGMPathElement extends SVGMPathElement{ append: ddeAppend<ddeSVGMPathElement>; }
|
||||
interface ddeSVGPathElement extends SVGPathElement{ append: ddeAppend<ddeSVGPathElement>; }
|
||||
interface ddeSVGPatternElement extends SVGPatternElement{ append: ddeAppend<ddeSVGPatternElement>; }
|
||||
interface ddeSVGPolygonElement extends SVGPolygonElement{ append: ddeAppend<ddeSVGPolygonElement>; }
|
||||
interface ddeSVGPolylineElement extends SVGPolylineElement{ append: ddeAppend<ddeSVGPolylineElement>; }
|
||||
interface ddeSVGRadialGradientElement extends SVGRadialGradientElement{ append: ddeAppend<ddeSVGRadialGradientElement>; }
|
||||
interface ddeSVGRectElement extends SVGRectElement{ append: ddeAppend<ddeSVGRectElement>; }
|
||||
interface ddeSVGScriptElement extends SVGScriptElement{ append: ddeAppend<ddeSVGScriptElement>; }
|
||||
interface ddeSVGSetElement extends SVGSetElement{ append: ddeAppend<ddeSVGSetElement>; }
|
||||
interface ddeSVGStopElement extends SVGStopElement{ append: ddeAppend<ddeSVGStopElement>; }
|
||||
interface ddeSVGStyleElement extends SVGStyleElement{ append: ddeAppend<ddeSVGStyleElement>; }
|
||||
interface ddeSVGSVGElement extends SVGSVGElement{ append: ddeAppend<ddeSVGSVGElement>; }
|
||||
interface ddeSVGSwitchElement extends SVGSwitchElement{ append: ddeAppend<ddeSVGSwitchElement>; }
|
||||
interface ddeSVGSymbolElement extends SVGSymbolElement{ append: ddeAppend<ddeSVGSymbolElement>; }
|
||||
interface ddeSVGTextElement extends SVGTextElement{ append: ddeAppend<ddeSVGTextElement>; }
|
||||
interface ddeSVGTextPathElement extends SVGTextPathElement{ append: ddeAppend<ddeSVGTextPathElement>; }
|
||||
interface ddeSVGTitleElement extends SVGTitleElement{ append: ddeAppend<ddeSVGTitleElement>; }
|
||||
interface ddeSVGTSpanElement extends SVGTSpanElement{ append: ddeAppend<ddeSVGTSpanElement>; }
|
||||
interface ddeSVGUseElement extends SVGUseElement{ append: ddeAppend<ddeSVGUseElement>; }
|
||||
interface ddeSVGViewElement extends SVGViewElement{ append: ddeAppend<ddeSVGViewElement>; }
|
||||
// editorconfig-checker-enable
|
905
dist/esm.d.ts
vendored
905
dist/esm.d.ts
vendored
@ -1,46 +1,118 @@
|
||||
declare global{ /* ddeSignal */ }
|
||||
type CustomElementTagNameMap= { '#text': Text, '#comment': Comment }
|
||||
type SupportedElement=
|
||||
HTMLElementTagNameMap[keyof HTMLElementTagNameMap]
|
||||
| SVGElementTagNameMap[keyof SVGElementTagNameMap]
|
||||
| MathMLElementTagNameMap[keyof MathMLElementTagNameMap]
|
||||
| CustomElementTagNameMap[keyof CustomElementTagNameMap]
|
||||
declare global {
|
||||
type ddeComponentAttributes= Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node>= (element: El)=> any;
|
||||
type ddeString= string | ddeSignal<string>
|
||||
type ddeStringable= ddeString | number | ddeSignal<number>
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
type PascalCase=
|
||||
`${Capitalize<string>}${string}`;
|
||||
type AttrsModified= {
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
declare const signal: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString
|
||||
| Partial<{ [K in keyof CSSStyleDeclaration]: ddeSignal<CSSStyleDeclaration[K]> }>
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string,-1|0|1|boolean|ddeSignal<-1|0|1|boolean>>,
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>,
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>,
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString>
|
||||
& Record<`.${string}`, any>
|
||||
type _fromElsInterfaces<EL extends SupportedElement>= Omit<EL, keyof AttrsModified>;
|
||||
type IsReadonly<T, K extends keyof T> =
|
||||
T extends { readonly [P in K]: T[K] } ? true : false;
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
@ -51,199 +123,132 @@ type IsReadonly<T, K extends keyof T> =
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
type ElementAttributes<T extends SupportedElement>= Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: IsReadonly<_fromElsInterfaces<T>, K> extends false
|
||||
? _fromElsInterfaces<T>[K] | ddeSignal<_fromElsInterfaces<T>[K]>
|
||||
: ddeStringable
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(
|
||||
element: El,
|
||||
classList: AttrsModified["classList"]
|
||||
): El
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(
|
||||
element: El,
|
||||
attr: ATT,
|
||||
value: ElementAttributes<El>[ATT]
|
||||
): ElementAttributes<El>[ATT]
|
||||
|
||||
type ExtendedHTMLElementTagNameMap= HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export function el<
|
||||
TAG extends keyof ExtendedHTMLElementTagNameMap,
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable,
|
||||
...addons: ddeElementAddon<
|
||||
ExtendedHTMLElementTagNameMap[NoInfer<TAG>]
|
||||
>[], // TODO: for now addons must have the same element
|
||||
): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement
|
||||
export function el(
|
||||
tag_name?: "<>",
|
||||
): ddeDocumentFragment
|
||||
export function el(
|
||||
tag_name: string,
|
||||
attrs?: ElementAttributes<HTMLElement> | ddeStringable,
|
||||
...addons: ddeElementAddon<HTMLElement>[]
|
||||
): ddeHTMLElement
|
||||
|
||||
export function el<
|
||||
C extends (attr: ddeComponentAttributes)=> SupportedElement | ddeDocumentFragment
|
||||
>(
|
||||
component: C,
|
||||
attrs?: Parameters<C>[0] | ddeStringable,
|
||||
...addons: ddeElementAddon<ReturnType<C>>[]
|
||||
): ReturnType<C> extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap]
|
||||
? ReturnType<C>
|
||||
: ( ReturnType<C> extends ddeDocumentFragment ? ReturnType<C> : ddeHTMLElement )
|
||||
export { el as createElement }
|
||||
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/2000/svg"
|
||||
): <
|
||||
TAG extends keyof SVGElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement
|
||||
export function elNS(
|
||||
namespace: "http://www.w3.org/1998/Math/MathML"
|
||||
): <
|
||||
TAG extends keyof MathMLElementTagNameMap & string,
|
||||
EL extends ( TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement ),
|
||||
>(
|
||||
tag_name: TAG,
|
||||
attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | ddeSignal<EL[key]> | string | number | boolean
|
||||
}>,
|
||||
...addons: ddeElementAddon<NoInfer<EL>>[]
|
||||
)=> ddeMathMLElement
|
||||
export function elNS(
|
||||
namespace: string
|
||||
): (
|
||||
tag_name: string,
|
||||
attrs?: string | ddeStringable | Record<string, any>,
|
||||
...addons: ddeElementAddon<SupportedElement>[]
|
||||
)=> SupportedElement
|
||||
export { elNS as createElementNS }
|
||||
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
root: EL,
|
||||
): EL
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(
|
||||
el: HTMLElement,
|
||||
body: EL,
|
||||
): EL
|
||||
|
||||
export function dispatchEvent(name: keyof DocumentEventMap | string, options?: EventInit):
|
||||
(element: SupportedElement, data?: any)=> void;
|
||||
export function dispatchEvent(
|
||||
name: keyof DocumentEventMap | string,
|
||||
options: EventInit | null,
|
||||
element: SupportedElement | (()=> SupportedElement)
|
||||
): (data?: any)=> void;
|
||||
interface On{
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<
|
||||
Event extends keyof DocumentEventMap,
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: Event,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
<
|
||||
EE extends ddeElementAddon<SupportedElement>= ddeElementAddon<HTMLElement>,
|
||||
>(
|
||||
type: string,
|
||||
listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent ) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
connected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<El>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
disconnected<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<void>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */// editorconfig-checker-disable-line
|
||||
attributeChanged<
|
||||
EE extends ddeElementAddon<SupportedElement>,
|
||||
El extends ( EE extends ddeElementAddon<infer El> ? El : never )
|
||||
>(
|
||||
listener: (this: El, event: CustomEvent<[ string, string ]>) => any,
|
||||
options?: AddEventListenerOptions
|
||||
) : EE;
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
|
||||
type Scope= {
|
||||
scope: Node | Function | Object,
|
||||
host: ddeElementAddon<any>,
|
||||
custom_element: false | HTMLElement,
|
||||
prevent: boolean
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope,
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T,
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[])=> HTMLElement,
|
||||
|
||||
state: Scope[],
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope: Partial<Scope>): ReturnType<Array<Scope>["push"]>,
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>,
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>,
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
|
||||
export function customElementRender<
|
||||
EL extends HTMLElement,
|
||||
P extends any = Record<string, string | ddeSignal<string>>
|
||||
>(
|
||||
target: ShadowRoot | EL,
|
||||
render: (props: P)=> SupportedElement | DocumentFragment,
|
||||
props?: P | ((el: EL)=> P)
|
||||
): EL
|
||||
export function customElementWithDDE<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function lifecyclesToEvents<EL extends (new ()=> HTMLElement)>(custom_element: EL): EL
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>
|
||||
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global{
|
||||
type ddeAppend<el>= (...nodes: (Node | string)[])=> el;
|
||||
|
||||
interface ddeDocumentFragment extends DocumentFragment{ append: ddeAppend<ddeDocumentFragment>; }
|
||||
interface ddeHTMLElement extends HTMLElement{ append: ddeAppend<ddeHTMLElement>; }
|
||||
interface ddeSVGElement extends SVGElement{ append: ddeAppend<ddeSVGElement>; }
|
||||
interface ddeMathMLElement extends MathMLElement{ append: ddeAppend<ddeMathMLElement>; }
|
||||
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
@ -385,133 +390,393 @@ declare global{
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
|
||||
// editorconfig-checker-disable
|
||||
interface ddeHTMLAnchorElement extends HTMLAnchorElement{ append: ddeAppend<ddeHTMLAnchorElement>; }
|
||||
interface ddeHTMLAreaElement extends HTMLAreaElement{ append: ddeAppend<ddeHTMLAreaElement>; }
|
||||
interface ddeHTMLAudioElement extends HTMLAudioElement{ append: ddeAppend<ddeHTMLAudioElement>; }
|
||||
interface ddeHTMLBaseElement extends HTMLBaseElement{ append: ddeAppend<ddeHTMLBaseElement>; }
|
||||
interface ddeHTMLQuoteElement extends HTMLQuoteElement{ append: ddeAppend<ddeHTMLQuoteElement>; }
|
||||
interface ddeHTMLBodyElement extends HTMLBodyElement{ append: ddeAppend<ddeHTMLBodyElement>; }
|
||||
interface ddeHTMLBRElement extends HTMLBRElement{ append: ddeAppend<ddeHTMLBRElement>; }
|
||||
interface ddeHTMLButtonElement extends HTMLButtonElement{ append: ddeAppend<ddeHTMLButtonElement>; }
|
||||
interface ddeHTMLCanvasElement extends HTMLCanvasElement{ append: ddeAppend<ddeHTMLCanvasElement>; }
|
||||
interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement{ append: ddeAppend<ddeHTMLTableCaptionElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLTableColElement extends HTMLTableColElement{ append: ddeAppend<ddeHTMLTableColElement>; }
|
||||
interface ddeHTMLDataElement extends HTMLDataElement{ append: ddeAppend<ddeHTMLDataElement>; }
|
||||
interface ddeHTMLDataListElement extends HTMLDataListElement{ append: ddeAppend<ddeHTMLDataListElement>; }
|
||||
interface ddeHTMLModElement extends HTMLModElement{ append: ddeAppend<ddeHTMLModElement>; }
|
||||
interface ddeHTMLDetailsElement extends HTMLDetailsElement{ append: ddeAppend<ddeHTMLDetailsElement>; }
|
||||
interface ddeHTMLDialogElement extends HTMLDialogElement{ append: ddeAppend<ddeHTMLDialogElement>; }
|
||||
interface ddeHTMLDivElement extends HTMLDivElement{ append: ddeAppend<ddeHTMLDivElement>; }
|
||||
interface ddeHTMLDListElement extends HTMLDListElement{ append: ddeAppend<ddeHTMLDListElement>; }
|
||||
interface ddeHTMLEmbedElement extends HTMLEmbedElement{ append: ddeAppend<ddeHTMLEmbedElement>; }
|
||||
interface ddeHTMLFieldSetElement extends HTMLFieldSetElement{ append: ddeAppend<ddeHTMLFieldSetElement>; }
|
||||
interface ddeHTMLFormElement extends HTMLFormElement{ append: ddeAppend<ddeHTMLFormElement>; }
|
||||
interface ddeHTMLHeadingElement extends HTMLHeadingElement{ append: ddeAppend<ddeHTMLHeadingElement>; }
|
||||
interface ddeHTMLHeadElement extends HTMLHeadElement{ append: ddeAppend<ddeHTMLHeadElement>; }
|
||||
interface ddeHTMLHRElement extends HTMLHRElement{ append: ddeAppend<ddeHTMLHRElement>; }
|
||||
interface ddeHTMLHtmlElement extends HTMLHtmlElement{ append: ddeAppend<ddeHTMLHtmlElement>; }
|
||||
interface ddeHTMLIFrameElement extends HTMLIFrameElement{ append: ddeAppend<ddeHTMLIFrameElement>; }
|
||||
interface ddeHTMLImageElement extends HTMLImageElement{ append: ddeAppend<ddeHTMLImageElement>; }
|
||||
interface ddeHTMLInputElement extends HTMLInputElement{ append: ddeAppend<ddeHTMLInputElement>; }
|
||||
interface ddeHTMLLabelElement extends HTMLLabelElement{ append: ddeAppend<ddeHTMLLabelElement>; }
|
||||
interface ddeHTMLLegendElement extends HTMLLegendElement{ append: ddeAppend<ddeHTMLLegendElement>; }
|
||||
interface ddeHTMLLIElement extends HTMLLIElement{ append: ddeAppend<ddeHTMLLIElement>; }
|
||||
interface ddeHTMLLinkElement extends HTMLLinkElement{ append: ddeAppend<ddeHTMLLinkElement>; }
|
||||
interface ddeHTMLMapElement extends HTMLMapElement{ append: ddeAppend<ddeHTMLMapElement>; }
|
||||
interface ddeHTMLMenuElement extends HTMLMenuElement{ append: ddeAppend<ddeHTMLMenuElement>; }
|
||||
interface ddeHTMLMetaElement extends HTMLMetaElement{ append: ddeAppend<ddeHTMLMetaElement>; }
|
||||
interface ddeHTMLMeterElement extends HTMLMeterElement{ append: ddeAppend<ddeHTMLMeterElement>; }
|
||||
interface ddeHTMLObjectElement extends HTMLObjectElement{ append: ddeAppend<ddeHTMLObjectElement>; }
|
||||
interface ddeHTMLOListElement extends HTMLOListElement{ append: ddeAppend<ddeHTMLOListElement>; }
|
||||
interface ddeHTMLOptGroupElement extends HTMLOptGroupElement{ append: ddeAppend<ddeHTMLOptGroupElement>; }
|
||||
interface ddeHTMLOptionElement extends HTMLOptionElement{ append: ddeAppend<ddeHTMLOptionElement>; }
|
||||
interface ddeHTMLOutputElement extends HTMLOutputElement{ append: ddeAppend<ddeHTMLOutputElement>; }
|
||||
interface ddeHTMLParagraphElement extends HTMLParagraphElement{ append: ddeAppend<ddeHTMLParagraphElement>; }
|
||||
interface ddeHTMLPictureElement extends HTMLPictureElement{ append: ddeAppend<ddeHTMLPictureElement>; }
|
||||
interface ddeHTMLPreElement extends HTMLPreElement{ append: ddeAppend<ddeHTMLPreElement>; }
|
||||
interface ddeHTMLProgressElement extends HTMLProgressElement{ append: ddeAppend<ddeHTMLProgressElement>; }
|
||||
interface ddeHTMLScriptElement extends HTMLScriptElement{ append: ddeAppend<ddeHTMLScriptElement>; }
|
||||
interface ddeHTMLSelectElement extends HTMLSelectElement{ append: ddeAppend<ddeHTMLSelectElement>; }
|
||||
interface ddeHTMLSlotElement extends HTMLSlotElement{ append: ddeAppend<ddeHTMLSlotElement>; }
|
||||
interface ddeHTMLSourceElement extends HTMLSourceElement{ append: ddeAppend<ddeHTMLSourceElement>; }
|
||||
interface ddeHTMLSpanElement extends HTMLSpanElement{ append: ddeAppend<ddeHTMLSpanElement>; }
|
||||
interface ddeHTMLStyleElement extends HTMLStyleElement{ append: ddeAppend<ddeHTMLStyleElement>; }
|
||||
interface ddeHTMLTableElement extends HTMLTableElement{ append: ddeAppend<ddeHTMLTableElement>; }
|
||||
interface ddeHTMLTableSectionElement extends HTMLTableSectionElement{ append: ddeAppend<ddeHTMLTableSectionElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTemplateElement extends HTMLTemplateElement{ append: ddeAppend<ddeHTMLTemplateElement>; }
|
||||
interface ddeHTMLTextAreaElement extends HTMLTextAreaElement{ append: ddeAppend<ddeHTMLTextAreaElement>; }
|
||||
interface ddeHTMLTableCellElement extends HTMLTableCellElement{ append: ddeAppend<ddeHTMLTableCellElement>; }
|
||||
interface ddeHTMLTimeElement extends HTMLTimeElement{ append: ddeAppend<ddeHTMLTimeElement>; }
|
||||
interface ddeHTMLTitleElement extends HTMLTitleElement{ append: ddeAppend<ddeHTMLTitleElement>; }
|
||||
interface ddeHTMLTableRowElement extends HTMLTableRowElement{ append: ddeAppend<ddeHTMLTableRowElement>; }
|
||||
interface ddeHTMLTrackElement extends HTMLTrackElement{ append: ddeAppend<ddeHTMLTrackElement>; }
|
||||
interface ddeHTMLUListElement extends HTMLUListElement{ append: ddeAppend<ddeHTMLUListElement>; }
|
||||
interface ddeHTMLVideoElement extends HTMLVideoElement{ append: ddeAppend<ddeHTMLVideoElement>; }
|
||||
interface ddeSVGAElement extends SVGAElement{ append: ddeAppend<ddeSVGAElement>; }
|
||||
interface ddeSVGAnimateElement extends SVGAnimateElement{ append: ddeAppend<ddeSVGAnimateElement>; }
|
||||
interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement{ append: ddeAppend<ddeSVGAnimateMotionElement>; }
|
||||
interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement{ append: ddeAppend<ddeSVGAnimateTransformElement>; }
|
||||
interface ddeSVGCircleElement extends SVGCircleElement{ append: ddeAppend<ddeSVGCircleElement>; }
|
||||
interface ddeSVGClipPathElement extends SVGClipPathElement{ append: ddeAppend<ddeSVGClipPathElement>; }
|
||||
interface ddeSVGDefsElement extends SVGDefsElement{ append: ddeAppend<ddeSVGDefsElement>; }
|
||||
interface ddeSVGDescElement extends SVGDescElement{ append: ddeAppend<ddeSVGDescElement>; }
|
||||
interface ddeSVGEllipseElement extends SVGEllipseElement{ append: ddeAppend<ddeSVGEllipseElement>; }
|
||||
interface ddeSVGFEBlendElement extends SVGFEBlendElement{ append: ddeAppend<ddeSVGFEBlendElement>; }
|
||||
interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement{ append: ddeAppend<ddeSVGFEColorMatrixElement>; }
|
||||
interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement{ append: ddeAppend<ddeSVGFEComponentTransferElement>; }
|
||||
interface ddeSVGFECompositeElement extends SVGFECompositeElement{ append: ddeAppend<ddeSVGFECompositeElement>; }
|
||||
interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement{ append: ddeAppend<ddeSVGFEConvolveMatrixElement>; }
|
||||
interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement{ append: ddeAppend<ddeSVGFEDiffuseLightingElement>; }
|
||||
interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement{ append: ddeAppend<ddeSVGFEDisplacementMapElement>; }
|
||||
interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement{ append: ddeAppend<ddeSVGFEDistantLightElement>; }
|
||||
interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement{ append: ddeAppend<ddeSVGFEDropShadowElement>; }
|
||||
interface ddeSVGFEFloodElement extends SVGFEFloodElement{ append: ddeAppend<ddeSVGFEFloodElement>; }
|
||||
interface ddeSVGFEFuncAElement extends SVGFEFuncAElement{ append: ddeAppend<ddeSVGFEFuncAElement>; }
|
||||
interface ddeSVGFEFuncBElement extends SVGFEFuncBElement{ append: ddeAppend<ddeSVGFEFuncBElement>; }
|
||||
interface ddeSVGFEFuncGElement extends SVGFEFuncGElement{ append: ddeAppend<ddeSVGFEFuncGElement>; }
|
||||
interface ddeSVGFEFuncRElement extends SVGFEFuncRElement{ append: ddeAppend<ddeSVGFEFuncRElement>; }
|
||||
interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement{ append: ddeAppend<ddeSVGFEGaussianBlurElement>; }
|
||||
interface ddeSVGFEImageElement extends SVGFEImageElement{ append: ddeAppend<ddeSVGFEImageElement>; }
|
||||
interface ddeSVGFEMergeElement extends SVGFEMergeElement{ append: ddeAppend<ddeSVGFEMergeElement>; }
|
||||
interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement{ append: ddeAppend<ddeSVGFEMergeNodeElement>; }
|
||||
interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement{ append: ddeAppend<ddeSVGFEMorphologyElement>; }
|
||||
interface ddeSVGFEOffsetElement extends SVGFEOffsetElement{ append: ddeAppend<ddeSVGFEOffsetElement>; }
|
||||
interface ddeSVGFEPointLightElement extends SVGFEPointLightElement{ append: ddeAppend<ddeSVGFEPointLightElement>; }
|
||||
interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement{ append: ddeAppend<ddeSVGFESpecularLightingElement>; }
|
||||
interface ddeSVGFESpotLightElement extends SVGFESpotLightElement{ append: ddeAppend<ddeSVGFESpotLightElement>; }
|
||||
interface ddeSVGFETileElement extends SVGFETileElement{ append: ddeAppend<ddeSVGFETileElement>; }
|
||||
interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement{ append: ddeAppend<ddeSVGFETurbulenceElement>; }
|
||||
interface ddeSVGFilterElement extends SVGFilterElement{ append: ddeAppend<ddeSVGFilterElement>; }
|
||||
interface ddeSVGForeignObjectElement extends SVGForeignObjectElement{ append: ddeAppend<ddeSVGForeignObjectElement>; }
|
||||
interface ddeSVGGElement extends SVGGElement{ append: ddeAppend<ddeSVGGElement>; }
|
||||
interface ddeSVGImageElement extends SVGImageElement{ append: ddeAppend<ddeSVGImageElement>; }
|
||||
interface ddeSVGLineElement extends SVGLineElement{ append: ddeAppend<ddeSVGLineElement>; }
|
||||
interface ddeSVGLinearGradientElement extends SVGLinearGradientElement{ append: ddeAppend<ddeSVGLinearGradientElement>; }
|
||||
interface ddeSVGMarkerElement extends SVGMarkerElement{ append: ddeAppend<ddeSVGMarkerElement>; }
|
||||
interface ddeSVGMaskElement extends SVGMaskElement{ append: ddeAppend<ddeSVGMaskElement>; }
|
||||
interface ddeSVGMetadataElement extends SVGMetadataElement{ append: ddeAppend<ddeSVGMetadataElement>; }
|
||||
interface ddeSVGMPathElement extends SVGMPathElement{ append: ddeAppend<ddeSVGMPathElement>; }
|
||||
interface ddeSVGPathElement extends SVGPathElement{ append: ddeAppend<ddeSVGPathElement>; }
|
||||
interface ddeSVGPatternElement extends SVGPatternElement{ append: ddeAppend<ddeSVGPatternElement>; }
|
||||
interface ddeSVGPolygonElement extends SVGPolygonElement{ append: ddeAppend<ddeSVGPolygonElement>; }
|
||||
interface ddeSVGPolylineElement extends SVGPolylineElement{ append: ddeAppend<ddeSVGPolylineElement>; }
|
||||
interface ddeSVGRadialGradientElement extends SVGRadialGradientElement{ append: ddeAppend<ddeSVGRadialGradientElement>; }
|
||||
interface ddeSVGRectElement extends SVGRectElement{ append: ddeAppend<ddeSVGRectElement>; }
|
||||
interface ddeSVGScriptElement extends SVGScriptElement{ append: ddeAppend<ddeSVGScriptElement>; }
|
||||
interface ddeSVGSetElement extends SVGSetElement{ append: ddeAppend<ddeSVGSetElement>; }
|
||||
interface ddeSVGStopElement extends SVGStopElement{ append: ddeAppend<ddeSVGStopElement>; }
|
||||
interface ddeSVGStyleElement extends SVGStyleElement{ append: ddeAppend<ddeSVGStyleElement>; }
|
||||
interface ddeSVGSVGElement extends SVGSVGElement{ append: ddeAppend<ddeSVGSVGElement>; }
|
||||
interface ddeSVGSwitchElement extends SVGSwitchElement{ append: ddeAppend<ddeSVGSwitchElement>; }
|
||||
interface ddeSVGSymbolElement extends SVGSymbolElement{ append: ddeAppend<ddeSVGSymbolElement>; }
|
||||
interface ddeSVGTextElement extends SVGTextElement{ append: ddeAppend<ddeSVGTextElement>; }
|
||||
interface ddeSVGTextPathElement extends SVGTextPathElement{ append: ddeAppend<ddeSVGTextPathElement>; }
|
||||
interface ddeSVGTitleElement extends SVGTitleElement{ append: ddeAppend<ddeSVGTitleElement>; }
|
||||
interface ddeSVGTSpanElement extends SVGTSpanElement{ append: ddeAppend<ddeSVGTSpanElement>; }
|
||||
interface ddeSVGUseElement extends SVGUseElement{ append: ddeAppend<ddeSVGUseElement>; }
|
||||
interface ddeSVGViewElement extends SVGViewElement{ append: ddeAppend<ddeSVGViewElement>; }
|
||||
// editorconfig-checker-enable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export {};
|
||||
|
853
dist/esm.js
vendored
853
dist/esm.js
vendored
@ -1,451 +1,662 @@
|
||||
// src/signals-common.js
|
||||
var C = {
|
||||
isSignal(t) {
|
||||
return !1;
|
||||
},
|
||||
processReactiveAttribute(t, e, r, n) {
|
||||
return r;
|
||||
}
|
||||
};
|
||||
function Z(t, e = !0) {
|
||||
return e ? Object.assign(C, t) : (Object.setPrototypeOf(t, C), t);
|
||||
}
|
||||
function S(t) {
|
||||
return C.isPrototypeOf(t) && t !== C ? t : C;
|
||||
}
|
||||
|
||||
// src/helpers.js
|
||||
function m(t) {
|
||||
return typeof t > "u";
|
||||
function isUndef(value) {
|
||||
return typeof value === "undefined";
|
||||
}
|
||||
function L(t, e) {
|
||||
if (!t || !(t instanceof AbortSignal))
|
||||
return !0;
|
||||
if (!t.aborted)
|
||||
return t.addEventListener("abort", e), function() {
|
||||
t.removeEventListener("abort", e);
|
||||
};
|
||||
function isInstance(obj, cls) {
|
||||
return obj instanceof cls;
|
||||
}
|
||||
function q(t, e) {
|
||||
let { observedAttributes: r = [] } = t.constructor;
|
||||
return r.reduce(function(n, o) {
|
||||
return n[G(o)] = e(t, o), n;
|
||||
function isProtoFrom(obj, cls) {
|
||||
return Object.prototype.isPrototypeOf.call(cls, obj);
|
||||
}
|
||||
function oAssign(...o) {
|
||||
return Object.assign(...o);
|
||||
}
|
||||
function onAbort(signal, listener) {
|
||||
if (!signal || !isInstance(signal, AbortSignal))
|
||||
return true;
|
||||
if (signal.aborted)
|
||||
return;
|
||||
signal.addEventListener("abort", listener);
|
||||
return function cleanUp() {
|
||||
signal.removeEventListener("abort", listener);
|
||||
};
|
||||
}
|
||||
function observedAttributes(instance, observedAttribute) {
|
||||
const { observedAttributes: observedAttributes3 = [] } = instance.constructor;
|
||||
return observedAttributes3.reduce(function(out, name) {
|
||||
out[kebabToCamel(name)] = observedAttribute(instance, name);
|
||||
return out;
|
||||
}, {});
|
||||
}
|
||||
function G(t) {
|
||||
return t.replace(/-./g, (e) => e[1].toUpperCase());
|
||||
function kebabToCamel(name) {
|
||||
return name.replace(/-./g, (x) => x[1].toUpperCase());
|
||||
}
|
||||
|
||||
// src/signals-lib/common.js
|
||||
var signals_global = {
|
||||
/**
|
||||
* Checks if a value is a signal
|
||||
* @param {any} attributes - Value to check
|
||||
* @returns {boolean} Whether the value is a signal
|
||||
*/
|
||||
isSignal(attributes) {
|
||||
return false;
|
||||
},
|
||||
/**
|
||||
* Processes an attribute that might be reactive
|
||||
* @param {Element} obj - Element that owns the attribute
|
||||
* @param {string} key - Attribute name
|
||||
* @param {any} attr - Attribute value
|
||||
* @param {Function} set - Function to set the attribute
|
||||
* @returns {any} Processed attribute value
|
||||
*/
|
||||
processReactiveAttribute(obj, key, attr, set) {
|
||||
return attr;
|
||||
}
|
||||
};
|
||||
function registerReactivity(def, global = true) {
|
||||
if (global) return oAssign(signals_global, def);
|
||||
Object.setPrototypeOf(def, signals_global);
|
||||
return def;
|
||||
}
|
||||
function signals(_this) {
|
||||
return isProtoFrom(_this, signals_global) && _this !== signals_global ? _this : signals_global;
|
||||
}
|
||||
|
||||
// src/dom-common.js
|
||||
var a = {
|
||||
setDeleteAttr: V,
|
||||
var enviroment = {
|
||||
setDeleteAttr,
|
||||
ssr: "",
|
||||
D: globalThis.document,
|
||||
F: globalThis.DocumentFragment,
|
||||
H: globalThis.HTMLElement,
|
||||
S: globalThis.SVGElement,
|
||||
M: globalThis.MutationObserver,
|
||||
q: (t) => t || Promise.resolve()
|
||||
q: (p) => p || Promise.resolve()
|
||||
};
|
||||
function V(t, e, r) {
|
||||
if (Reflect.set(t, e, r), !!m(r)) {
|
||||
if (Reflect.deleteProperty(t, e), t instanceof a.H && t.getAttribute(e) === "undefined")
|
||||
return t.removeAttribute(e);
|
||||
if (Reflect.get(t, e) === "undefined")
|
||||
return Reflect.set(t, e, "");
|
||||
}
|
||||
function setDeleteAttr(obj, prop, val) {
|
||||
Reflect.set(obj, prop, val);
|
||||
if (!isUndef(val)) return;
|
||||
Reflect.deleteProperty(obj, prop);
|
||||
if (isInstance(obj, enviroment.H) && obj.getAttribute(prop) === "undefined")
|
||||
return obj.removeAttribute(prop);
|
||||
if (Reflect.get(obj, prop) === "undefined")
|
||||
return Reflect.set(obj, prop, "");
|
||||
}
|
||||
var x = "__dde_lifecyclesToEvents", v = "dde:connected", w = "dde:disconnected", y = "dde:attributeChanged";
|
||||
var keyLTE = "__dde_lifecyclesToEvents";
|
||||
var evc = "dde:connected";
|
||||
var evd = "dde:disconnected";
|
||||
var eva = "dde:attributeChanged";
|
||||
|
||||
// src/dom.js
|
||||
function dt(t) {
|
||||
return a.q(t);
|
||||
function queue(promise) {
|
||||
return enviroment.q(promise);
|
||||
}
|
||||
var g = [{
|
||||
var scopes = [{
|
||||
get scope() {
|
||||
return a.D.body;
|
||||
return enviroment.D.body;
|
||||
},
|
||||
host: (t) => t ? t(a.D.body) : a.D.body,
|
||||
prevent: !0
|
||||
}], O = {
|
||||
host: (c) => c ? c(enviroment.D.body) : enviroment.D.body,
|
||||
prevent: true
|
||||
}];
|
||||
var scope = {
|
||||
/**
|
||||
* Gets the current scope
|
||||
* @returns {Object} Current scope context
|
||||
*/
|
||||
get current() {
|
||||
return g[g.length - 1];
|
||||
return scopes[scopes.length - 1];
|
||||
},
|
||||
/**
|
||||
* Gets the host element of the current scope
|
||||
* @returns {Function} Host accessor function
|
||||
*/
|
||||
get host() {
|
||||
return this.current.host;
|
||||
},
|
||||
/**
|
||||
* Prevents default behavior in the current scope
|
||||
* @returns {Object} Current scope context
|
||||
*/
|
||||
preventDefault() {
|
||||
let { current: t } = this;
|
||||
return t.prevent = !0, t;
|
||||
const { current } = this;
|
||||
current.prevent = true;
|
||||
return current;
|
||||
},
|
||||
/**
|
||||
* Gets a copy of the current scope stack
|
||||
* @returns {Array} Copy of scope stack
|
||||
*/
|
||||
get state() {
|
||||
return [...g];
|
||||
return [...scopes];
|
||||
},
|
||||
push(t = {}) {
|
||||
return g.push(Object.assign({}, this.current, { prevent: !1 }, t));
|
||||
/**
|
||||
* Pushes a new scope to the stack
|
||||
* @param {Object} [s={}] - Scope object to push
|
||||
* @returns {number} New length of the scope stack
|
||||
*/
|
||||
push(s = {}) {
|
||||
return scopes.push(oAssign({}, this.current, { prevent: false }, s));
|
||||
},
|
||||
/**
|
||||
* Pushes the root scope to the stack
|
||||
* @returns {number} New length of the scope stack
|
||||
*/
|
||||
pushRoot() {
|
||||
return g.push(g[0]);
|
||||
return scopes.push(scopes[0]);
|
||||
},
|
||||
/**
|
||||
* Pops the current scope from the stack
|
||||
* @returns {Object|undefined} Popped scope or undefined if only one scope remains
|
||||
*/
|
||||
pop() {
|
||||
if (g.length !== 1)
|
||||
return g.pop();
|
||||
if (scopes.length === 1) return;
|
||||
return scopes.pop();
|
||||
}
|
||||
};
|
||||
function k(...t) {
|
||||
return this.appendOriginal(...t), this;
|
||||
function append(...els) {
|
||||
this.appendOriginal(...els);
|
||||
return this;
|
||||
}
|
||||
function J(t) {
|
||||
return t.append === k || (t.appendOriginal = t.append, t.append = k), t;
|
||||
function chainableAppend(el) {
|
||||
if (el.append === append) return el;
|
||||
el.appendOriginal = el.append;
|
||||
el.append = append;
|
||||
return el;
|
||||
}
|
||||
var T;
|
||||
function P(t, e, ...r) {
|
||||
let n = S(this), o = 0, c, d;
|
||||
switch ((Object(e) !== e || n.isSignal(e)) && (e = { textContent: e }), !0) {
|
||||
case typeof t == "function": {
|
||||
o = 1;
|
||||
let f = (...l) => l.length ? (o === 1 ? r.unshift(...l) : l.forEach((E) => E(d)), void 0) : d;
|
||||
O.push({ scope: t, host: f }), c = t(e || void 0);
|
||||
let p = c instanceof a.F;
|
||||
if (c.nodeName === "#comment") break;
|
||||
let b = P.mark({
|
||||
var namespace;
|
||||
function createElement(tag, attributes, ...addons) {
|
||||
const s = signals(this);
|
||||
let scoped = 0;
|
||||
let el, el_host;
|
||||
if (Object(attributes) !== attributes || s.isSignal(attributes))
|
||||
attributes = { textContent: attributes };
|
||||
switch (true) {
|
||||
case typeof tag === "function": {
|
||||
scoped = 1;
|
||||
const host = (...c) => !c.length ? el_host : (scoped === 1 ? addons.unshift(...c) : c.forEach((c2) => c2(el_host)), void 0);
|
||||
scope.push({ scope: tag, host });
|
||||
el = tag(attributes || void 0);
|
||||
const is_fragment = isInstance(el, enviroment.F);
|
||||
if (el.nodeName === "#comment") break;
|
||||
const el_mark = createElement.mark({
|
||||
type: "component",
|
||||
name: t.name,
|
||||
host: p ? "this" : "parentElement"
|
||||
name: tag.name,
|
||||
host: is_fragment ? "this" : "parentElement"
|
||||
});
|
||||
c.prepend(b), p && (d = b);
|
||||
el.prepend(el_mark);
|
||||
if (is_fragment) el_host = el_mark;
|
||||
break;
|
||||
}
|
||||
case t === "#text":
|
||||
c = R.call(this, a.D.createTextNode(""), e);
|
||||
case tag === "#text":
|
||||
el = assign.call(this, enviroment.D.createTextNode(""), attributes);
|
||||
break;
|
||||
case (t === "<>" || !t):
|
||||
c = R.call(this, a.D.createDocumentFragment(), e);
|
||||
case (tag === "<>" || !tag):
|
||||
el = assign.call(this, enviroment.D.createDocumentFragment(), attributes);
|
||||
break;
|
||||
case !!T:
|
||||
c = R.call(this, a.D.createElementNS(T, t), e);
|
||||
case Boolean(namespace):
|
||||
el = assign.call(this, enviroment.D.createElementNS(namespace, tag), attributes);
|
||||
break;
|
||||
case !c:
|
||||
c = R.call(this, a.D.createElement(t), e);
|
||||
case !el:
|
||||
el = assign.call(this, enviroment.D.createElement(tag), attributes);
|
||||
}
|
||||
return J(c), d || (d = c), r.forEach((f) => f(d)), o && O.pop(), o = 2, c;
|
||||
chainableAppend(el);
|
||||
if (!el_host) el_host = el;
|
||||
addons.forEach((c) => c(el_host));
|
||||
if (scoped) scope.pop();
|
||||
scoped = 2;
|
||||
return el;
|
||||
}
|
||||
P.mark = function(t, e = !1) {
|
||||
t = Object.entries(t).map(([o, c]) => o + `="${c}"`).join(" ");
|
||||
let r = e ? "" : "/", n = a.D.createComment(`<dde:mark ${t}${a.ssr}${r}>`);
|
||||
return e && (n.end = a.D.createComment("</dde:mark>")), n;
|
||||
createElement.mark = function(attrs, is_open = false) {
|
||||
attrs = Object.entries(attrs).map(([n, v]) => n + `="${v}"`).join(" ");
|
||||
const end = is_open ? "" : "/";
|
||||
const out = enviroment.D.createComment(`<dde:mark ${attrs}${enviroment.ssr}${end}>`);
|
||||
if (is_open) out.end = enviroment.D.createComment("</dde:mark>");
|
||||
return out;
|
||||
};
|
||||
function pt(t) {
|
||||
let e = this;
|
||||
return function(...n) {
|
||||
T = t;
|
||||
let o = P.call(e, ...n);
|
||||
return T = void 0, o;
|
||||
function createElementNS(ns) {
|
||||
const _this = this;
|
||||
return function createElementNSCurried(...rest) {
|
||||
namespace = ns;
|
||||
const el = createElement.call(_this, ...rest);
|
||||
namespace = void 0;
|
||||
return el;
|
||||
};
|
||||
}
|
||||
function lt(t, e = t) {
|
||||
let r = "\xB9\u2070", n = "\u2713", o = Object.fromEntries(
|
||||
Array.from(e.querySelectorAll("slot")).filter((c) => !c.name.endsWith(r)).map((c) => [c.name += r, c])
|
||||
function simulateSlots(element, root = element) {
|
||||
const mark_e = "\xB9\u2070", mark_s = "\u2713";
|
||||
const slots = Object.fromEntries(
|
||||
Array.from(root.querySelectorAll("slot")).filter((s) => !s.name.endsWith(mark_e)).map((s) => [s.name += mark_e, s])
|
||||
);
|
||||
if (t.append = new Proxy(t.append, {
|
||||
apply(c, d, f) {
|
||||
if (f[0] === e) return c.apply(t, f);
|
||||
for (let p of f) {
|
||||
let b = (p.slot || "") + r;
|
||||
element.append = new Proxy(element.append, {
|
||||
apply(orig, _, els) {
|
||||
if (els[0] === root) return orig.apply(element, els);
|
||||
for (const el of els) {
|
||||
const name = (el.slot || "") + mark_e;
|
||||
try {
|
||||
Q(p, "remove", "slot");
|
||||
} catch {
|
||||
elementAttribute(el, "remove", "slot");
|
||||
} catch (_error) {
|
||||
}
|
||||
let l = o[b];
|
||||
if (!l) return;
|
||||
l.name.startsWith(n) || (l.childNodes.forEach((E) => E.remove()), l.name = n + b), l.append(p);
|
||||
const slot = slots[name];
|
||||
if (!slot) return;
|
||||
if (!slot.name.startsWith(mark_s)) {
|
||||
slot.childNodes.forEach((c) => c.remove());
|
||||
slot.name = mark_s + name;
|
||||
}
|
||||
slot.append(el);
|
||||
}
|
||||
return t.append = c, t;
|
||||
element.append = orig;
|
||||
return element;
|
||||
}
|
||||
}), t !== e) {
|
||||
let c = Array.from(t.childNodes);
|
||||
t.append(...c);
|
||||
});
|
||||
if (element !== root) {
|
||||
const els = Array.from(element.childNodes);
|
||||
element.append(...els);
|
||||
}
|
||||
return e;
|
||||
return root;
|
||||
}
|
||||
var N = /* @__PURE__ */ new WeakMap(), { setDeleteAttr: $ } = a;
|
||||
function R(t, ...e) {
|
||||
if (!e.length) return t;
|
||||
N.set(t, H(t, this));
|
||||
for (let [r, n] of Object.entries(Object.assign({}, ...e)))
|
||||
U.call(this, t, r, n);
|
||||
return N.delete(t), t;
|
||||
var assign_context = /* @__PURE__ */ new WeakMap();
|
||||
var { setDeleteAttr: setDeleteAttr2 } = enviroment;
|
||||
function assign(element, ...attributes) {
|
||||
if (!attributes.length) return element;
|
||||
assign_context.set(element, assignContext(element, this));
|
||||
for (const [key, value] of Object.entries(oAssign({}, ...attributes)))
|
||||
assignAttribute.call(this, element, key, value);
|
||||
assign_context.delete(element);
|
||||
return element;
|
||||
}
|
||||
function U(t, e, r) {
|
||||
let { setRemoveAttr: n, s: o } = H(t, this), c = this;
|
||||
r = o.processReactiveAttribute(
|
||||
t,
|
||||
e,
|
||||
r,
|
||||
(f, p) => U.call(c, t, f, p)
|
||||
function assignAttribute(element, key, value) {
|
||||
const { setRemoveAttr, s } = assignContext(element, this);
|
||||
const _this = this;
|
||||
value = s.processReactiveAttribute(
|
||||
element,
|
||||
key,
|
||||
value,
|
||||
(key2, value2) => assignAttribute.call(_this, element, key2, value2)
|
||||
);
|
||||
let [d] = e;
|
||||
if (d === "=") return n(e.slice(1), r);
|
||||
if (d === ".") return F(t, e.slice(1), r);
|
||||
if (/(aria|data)([A-Z])/.test(e))
|
||||
return e = e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), n(e, r);
|
||||
switch (e === "className" && (e = "class"), e) {
|
||||
const [k] = key;
|
||||
if ("=" === k) return setRemoveAttr(key.slice(1), value);
|
||||
if ("." === k) return setDelete(element, key.slice(1), value);
|
||||
if (/(aria|data)([A-Z])/.test(key)) {
|
||||
key = key.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
||||
return setRemoveAttr(key, value);
|
||||
}
|
||||
if ("className" === key) key = "class";
|
||||
switch (key) {
|
||||
case "xlink:href":
|
||||
return n(e, r, "http://www.w3.org/1999/xlink");
|
||||
return setRemoveAttr(key, value, "http://www.w3.org/1999/xlink");
|
||||
case "textContent":
|
||||
return $(t, e, r);
|
||||
return setDeleteAttr2(element, key, value);
|
||||
case "style":
|
||||
if (typeof r != "object") break;
|
||||
if (typeof value !== "object") break;
|
||||
/* falls through */
|
||||
case "dataset":
|
||||
return M(o, e, t, r, F.bind(null, t[e]));
|
||||
return forEachEntries(s, key, element, value, setDelete.bind(null, element[key]));
|
||||
case "ariaset":
|
||||
return M(o, e, t, r, (f, p) => n("aria-" + f, p));
|
||||
return forEachEntries(s, key, element, value, (key2, val) => setRemoveAttr("aria-" + key2, val));
|
||||
case "classList":
|
||||
return K.call(c, t, r);
|
||||
return classListDeclarative.call(_this, element, value);
|
||||
}
|
||||
return X(t, e) ? $(t, e, r) : n(e, r);
|
||||
return isPropSetter(element, key) ? setDeleteAttr2(element, key, value) : setRemoveAttr(key, value);
|
||||
}
|
||||
function H(t, e) {
|
||||
if (N.has(t)) return N.get(t);
|
||||
let n = (t instanceof a.S ? tt : Y).bind(null, t, "Attribute"), o = S(e);
|
||||
return { setRemoveAttr: n, s: o };
|
||||
function assignContext(element, _this) {
|
||||
if (assign_context.has(element)) return assign_context.get(element);
|
||||
const is_svg = isInstance(element, enviroment.S);
|
||||
const setRemoveAttr = (is_svg ? setRemoveNS : setRemove).bind(null, element, "Attribute");
|
||||
const s = signals(_this);
|
||||
return { setRemoveAttr, s };
|
||||
}
|
||||
function K(t, e) {
|
||||
let r = S(this);
|
||||
return M(
|
||||
r,
|
||||
function classListDeclarative(element, toggle) {
|
||||
const s = signals(this);
|
||||
forEachEntries(
|
||||
s,
|
||||
"classList",
|
||||
t,
|
||||
e,
|
||||
(n, o) => t.classList.toggle(n, o === -1 ? void 0 : !!o)
|
||||
), t;
|
||||
element,
|
||||
toggle,
|
||||
(class_name, val) => element.classList.toggle(class_name, val === -1 ? void 0 : Boolean(val))
|
||||
);
|
||||
return element;
|
||||
}
|
||||
function Q(t, e, r, n) {
|
||||
return t instanceof a.H ? t[e + "Attribute"](r, n) : t[e + "AttributeNS"](null, r, n);
|
||||
function elementAttribute(element, op, key, value) {
|
||||
if (isInstance(element, enviroment.H))
|
||||
return element[op + "Attribute"](key, value);
|
||||
return element[op + "AttributeNS"](null, key, value);
|
||||
}
|
||||
function X(t, e) {
|
||||
if (!(e in t)) return !1;
|
||||
let r = z(t, e);
|
||||
return !m(r.set);
|
||||
function isPropSetter(el, key) {
|
||||
if (!(key in el)) return false;
|
||||
const des = getPropDescriptor(el, key);
|
||||
return !isUndef(des.set);
|
||||
}
|
||||
function z(t, e) {
|
||||
if (t = Object.getPrototypeOf(t), !t) return {};
|
||||
let r = Object.getOwnPropertyDescriptor(t, e);
|
||||
return r || z(t, e);
|
||||
function getPropDescriptor(p, key) {
|
||||
p = Object.getPrototypeOf(p);
|
||||
if (!p) return {};
|
||||
const des = Object.getOwnPropertyDescriptor(p, key);
|
||||
if (!des) return getPropDescriptor(p, key);
|
||||
return des;
|
||||
}
|
||||
function M(t, e, r, n, o) {
|
||||
let c = String;
|
||||
if (!(typeof n != "object" || n === null))
|
||||
return Object.entries(n).forEach(function([f, p]) {
|
||||
f && (f = new c(f), f.target = e, p = t.processReactiveAttribute(r, f, p, o), o(f, p));
|
||||
});
|
||||
function forEachEntries(s, target, element, obj, cb) {
|
||||
const S = String;
|
||||
if (typeof obj !== "object" || obj === null) return;
|
||||
return Object.entries(obj).forEach(function process([key, val]) {
|
||||
if (!key) return;
|
||||
key = new S(key);
|
||||
key.target = target;
|
||||
val = s.processReactiveAttribute(element, key, val, cb);
|
||||
cb(key, val);
|
||||
});
|
||||
}
|
||||
function Y(t, e, r, n) {
|
||||
return t[(m(n) ? "remove" : "set") + e](r, n);
|
||||
function setRemove(obj, prop, key, val) {
|
||||
return obj[(isUndef(val) ? "remove" : "set") + prop](key, val);
|
||||
}
|
||||
function tt(t, e, r, n, o = null) {
|
||||
return t[(m(n) ? "remove" : "set") + e + "NS"](o, r, n);
|
||||
function setRemoveNS(obj, prop, key, val, ns = null) {
|
||||
return obj[(isUndef(val) ? "remove" : "set") + prop + "NS"](ns, key, val);
|
||||
}
|
||||
function F(t, e, r) {
|
||||
if (Reflect.set(t, e, r), !!m(r))
|
||||
return Reflect.deleteProperty(t, e);
|
||||
function setDelete(obj, key, val) {
|
||||
Reflect.set(obj, key, val);
|
||||
if (!isUndef(val)) return;
|
||||
return Reflect.deleteProperty(obj, key);
|
||||
}
|
||||
|
||||
// src/events-observer.js
|
||||
var _ = a.M ? et() : new Proxy({}, {
|
||||
var c_ch_o = enviroment.M ? connectionsChangesObserverConstructor() : new Proxy({}, {
|
||||
get() {
|
||||
return () => {
|
||||
};
|
||||
}
|
||||
});
|
||||
function et() {
|
||||
let t = /* @__PURE__ */ new Map(), e = !1, r = (s) => function(u) {
|
||||
for (let i of u)
|
||||
if (i.type === "childList") {
|
||||
if (l(i.addedNodes, !0)) {
|
||||
s();
|
||||
continue;
|
||||
}
|
||||
E(i.removedNodes, !0) && s();
|
||||
function connectionsChangesObserverConstructor() {
|
||||
const store = /* @__PURE__ */ new Map();
|
||||
let is_observing = false;
|
||||
const observerListener = (stop2) => function(mutations) {
|
||||
for (const mutation of mutations) {
|
||||
if (mutation.type !== "childList") continue;
|
||||
if (observerAdded(mutation.addedNodes, true)) {
|
||||
stop2();
|
||||
continue;
|
||||
}
|
||||
}, n = new a.M(r(f));
|
||||
return {
|
||||
observe(s) {
|
||||
let u = new a.M(r(() => {
|
||||
}));
|
||||
return u.observe(s, { childList: !0, subtree: !0 }), () => u.disconnect();
|
||||
},
|
||||
onConnected(s, u) {
|
||||
d();
|
||||
let i = c(s);
|
||||
i.connected.has(u) || (i.connected.add(u), i.length_c += 1);
|
||||
},
|
||||
offConnected(s, u) {
|
||||
if (!t.has(s)) return;
|
||||
let i = t.get(s);
|
||||
i.connected.has(u) && (i.connected.delete(u), i.length_c -= 1, o(s, i));
|
||||
},
|
||||
onDisconnected(s, u) {
|
||||
d();
|
||||
let i = c(s);
|
||||
i.disconnected.has(u) || (i.disconnected.add(u), i.length_d += 1);
|
||||
},
|
||||
offDisconnected(s, u) {
|
||||
if (!t.has(s)) return;
|
||||
let i = t.get(s);
|
||||
i.disconnected.has(u) && (i.disconnected.delete(u), i.length_d -= 1, o(s, i));
|
||||
if (observerRemoved(mutation.removedNodes, true))
|
||||
stop2();
|
||||
}
|
||||
};
|
||||
function o(s, u) {
|
||||
u.length_c || u.length_d || (t.delete(s), f());
|
||||
const observer = new enviroment.M(observerListener(stop));
|
||||
return {
|
||||
/**
|
||||
* Creates an observer for a specific element
|
||||
* @param {Element} element - Element to observe
|
||||
* @returns {Function} Cleanup function
|
||||
*/
|
||||
observe(element) {
|
||||
const o = new enviroment.M(observerListener(() => {
|
||||
}));
|
||||
o.observe(element, { childList: true, subtree: true });
|
||||
return () => o.disconnect();
|
||||
},
|
||||
/**
|
||||
* Register a connection listener for an element
|
||||
* @param {Element} element - Element to watch
|
||||
* @param {Function} listener - Callback for connection event
|
||||
*/
|
||||
onConnected(element, listener) {
|
||||
start();
|
||||
const listeners = getElementStore(element);
|
||||
if (listeners.connected.has(listener)) return;
|
||||
listeners.connected.add(listener);
|
||||
listeners.length_c += 1;
|
||||
},
|
||||
/**
|
||||
* Unregister a connection listener
|
||||
* @param {Element} element - Element being watched
|
||||
* @param {Function} listener - Callback to remove
|
||||
*/
|
||||
offConnected(element, listener) {
|
||||
if (!store.has(element)) return;
|
||||
const ls = store.get(element);
|
||||
if (!ls.connected.has(listener)) return;
|
||||
ls.connected.delete(listener);
|
||||
ls.length_c -= 1;
|
||||
cleanWhenOff(element, ls);
|
||||
},
|
||||
/**
|
||||
* Register a disconnection listener for an element
|
||||
* @param {Element} element - Element to watch
|
||||
* @param {Function} listener - Callback for disconnection event
|
||||
*/
|
||||
onDisconnected(element, listener) {
|
||||
start();
|
||||
const listeners = getElementStore(element);
|
||||
if (listeners.disconnected.has(listener)) return;
|
||||
listeners.disconnected.add(listener);
|
||||
listeners.length_d += 1;
|
||||
},
|
||||
/**
|
||||
* Unregister a disconnection listener
|
||||
* @param {Element} element - Element being watched
|
||||
* @param {Function} listener - Callback to remove
|
||||
*/
|
||||
offDisconnected(element, listener) {
|
||||
if (!store.has(element)) return;
|
||||
const ls = store.get(element);
|
||||
ls.disconnected.delete(listener);
|
||||
ls.length_d -= 1;
|
||||
cleanWhenOff(element, ls);
|
||||
}
|
||||
};
|
||||
function cleanWhenOff(element, ls) {
|
||||
if (ls.length_c || ls.length_d)
|
||||
return;
|
||||
store.delete(element);
|
||||
stop();
|
||||
}
|
||||
function c(s) {
|
||||
if (t.has(s)) return t.get(s);
|
||||
let u = {
|
||||
function getElementStore(element) {
|
||||
if (store.has(element)) return store.get(element);
|
||||
const out = {
|
||||
connected: /* @__PURE__ */ new WeakSet(),
|
||||
length_c: 0,
|
||||
disconnected: /* @__PURE__ */ new WeakSet(),
|
||||
length_d: 0
|
||||
};
|
||||
return t.set(s, u), u;
|
||||
store.set(element, out);
|
||||
return out;
|
||||
}
|
||||
function d() {
|
||||
e || (e = !0, n.observe(a.D.body, { childList: !0, subtree: !0 }));
|
||||
function start() {
|
||||
if (is_observing) return;
|
||||
is_observing = true;
|
||||
observer.observe(enviroment.D.body, { childList: true, subtree: true });
|
||||
}
|
||||
function f() {
|
||||
!e || t.size || (e = !1, n.disconnect());
|
||||
function stop() {
|
||||
if (!is_observing || store.size) return;
|
||||
is_observing = false;
|
||||
observer.disconnect();
|
||||
}
|
||||
function p() {
|
||||
return new Promise(function(s) {
|
||||
(requestIdleCallback || requestAnimationFrame)(s);
|
||||
function requestIdle() {
|
||||
return new Promise(function(resolve) {
|
||||
(requestIdleCallback || requestAnimationFrame)(resolve);
|
||||
});
|
||||
}
|
||||
async function b(s) {
|
||||
t.size > 30 && await p();
|
||||
let u = [];
|
||||
if (!(s instanceof Node)) return u;
|
||||
for (let i of t.keys())
|
||||
i === s || !(i instanceof Node) || s.contains(i) && u.push(i);
|
||||
return u;
|
||||
}
|
||||
function l(s, u) {
|
||||
let i = !1;
|
||||
for (let h of s) {
|
||||
if (u && b(h).then(l), !t.has(h)) continue;
|
||||
let A = t.get(h);
|
||||
A.length_c && (h.dispatchEvent(new Event(v)), A.connected = /* @__PURE__ */ new WeakSet(), A.length_c = 0, A.length_d || t.delete(h), i = !0);
|
||||
async function collectChildren(element) {
|
||||
if (store.size > 30)
|
||||
await requestIdle();
|
||||
const out = [];
|
||||
if (!isInstance(element, Node)) return out;
|
||||
for (const el of store.keys()) {
|
||||
if (el === element || !isInstance(el, Node)) continue;
|
||||
if (element.contains(el))
|
||||
out.push(el);
|
||||
}
|
||||
return i;
|
||||
return out;
|
||||
}
|
||||
function E(s, u) {
|
||||
let i = !1;
|
||||
for (let h of s)
|
||||
u && b(h).then(E), !(!t.has(h) || !t.get(h).length_d) && ((globalThis.queueMicrotask || setTimeout)(I(h)), i = !0);
|
||||
return i;
|
||||
function observerAdded(addedNodes, is_root) {
|
||||
let out = false;
|
||||
for (const element of addedNodes) {
|
||||
if (is_root) collectChildren(element).then(observerAdded);
|
||||
if (!store.has(element)) continue;
|
||||
const ls = store.get(element);
|
||||
if (!ls.length_c) continue;
|
||||
element.dispatchEvent(new Event(evc));
|
||||
ls.connected = /* @__PURE__ */ new WeakSet();
|
||||
ls.length_c = 0;
|
||||
if (!ls.length_d) store.delete(element);
|
||||
out = true;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
function I(s) {
|
||||
function observerRemoved(removedNodes, is_root) {
|
||||
let out = false;
|
||||
for (const element of removedNodes) {
|
||||
if (is_root) collectChildren(element).then(observerRemoved);
|
||||
if (!store.has(element)) continue;
|
||||
const ls = store.get(element);
|
||||
if (!ls.length_d) continue;
|
||||
(globalThis.queueMicrotask || setTimeout)(dispatchRemove(element));
|
||||
out = true;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
function dispatchRemove(element) {
|
||||
return () => {
|
||||
s.isConnected || (s.dispatchEvent(new Event(w)), t.delete(s));
|
||||
if (element.isConnected) return;
|
||||
element.dispatchEvent(new Event(evd));
|
||||
store.delete(element);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// src/customElement.js
|
||||
function wt(t, e, r = rt) {
|
||||
let n = t.host || t;
|
||||
O.push({
|
||||
scope: n,
|
||||
host: (...d) => d.length ? d.forEach((f) => f(n)) : n
|
||||
}), typeof r == "function" && (r = r.call(n, n));
|
||||
let o = n[x];
|
||||
o || nt(n);
|
||||
let c = e.call(n, r);
|
||||
return o || n.dispatchEvent(new Event(v)), t.nodeType === 11 && typeof t.mode == "string" && n.addEventListener(w, _.observe(t), { once: !0 }), O.pop(), t.append(c);
|
||||
function customElementRender(target, render, props = observedAttributes2) {
|
||||
const custom_element = target.host || target;
|
||||
scope.push({
|
||||
scope: custom_element,
|
||||
host: (...c) => c.length ? c.forEach((c2) => c2(custom_element)) : custom_element
|
||||
});
|
||||
if (typeof props === "function") props = props.call(custom_element, custom_element);
|
||||
const is_lte = custom_element[keyLTE];
|
||||
if (!is_lte) lifecyclesToEvents(custom_element);
|
||||
const out = render.call(custom_element, props);
|
||||
if (!is_lte) custom_element.dispatchEvent(new Event(evc));
|
||||
if (target.nodeType === 11 && typeof target.mode === "string")
|
||||
custom_element.addEventListener(evd, c_ch_o.observe(target), { once: true });
|
||||
scope.pop();
|
||||
return target.append(out);
|
||||
}
|
||||
function nt(t) {
|
||||
return j(t.prototype, "connectedCallback", function(e, r, n) {
|
||||
e.apply(r, n), r.dispatchEvent(new Event(v));
|
||||
}), j(t.prototype, "disconnectedCallback", function(e, r, n) {
|
||||
e.apply(r, n), (globalThis.queueMicrotask || setTimeout)(
|
||||
() => !r.isConnected && r.dispatchEvent(new Event(w))
|
||||
function lifecyclesToEvents(class_declaration) {
|
||||
wrapMethod(class_declaration.prototype, "connectedCallback", function(target, thisArg, detail) {
|
||||
target.apply(thisArg, detail);
|
||||
thisArg.dispatchEvent(new Event(evc));
|
||||
});
|
||||
wrapMethod(class_declaration.prototype, "disconnectedCallback", function(target, thisArg, detail) {
|
||||
target.apply(thisArg, detail);
|
||||
(globalThis.queueMicrotask || setTimeout)(
|
||||
() => !thisArg.isConnected && thisArg.dispatchEvent(new Event(evd))
|
||||
);
|
||||
}), j(t.prototype, "attributeChangedCallback", function(e, r, n) {
|
||||
let [o, , c] = n;
|
||||
r.dispatchEvent(new CustomEvent(y, {
|
||||
detail: [o, c]
|
||||
})), e.apply(r, n);
|
||||
}), t.prototype[x] = !0, t;
|
||||
});
|
||||
wrapMethod(class_declaration.prototype, "attributeChangedCallback", function(target, thisArg, detail) {
|
||||
const [attribute, , value] = detail;
|
||||
thisArg.dispatchEvent(new CustomEvent(eva, {
|
||||
detail: [attribute, value]
|
||||
}));
|
||||
target.apply(thisArg, detail);
|
||||
});
|
||||
class_declaration.prototype[keyLTE] = true;
|
||||
return class_declaration;
|
||||
}
|
||||
function j(t, e, r) {
|
||||
t[e] = new Proxy(t[e] || (() => {
|
||||
}), { apply: r });
|
||||
function wrapMethod(obj, method, apply) {
|
||||
obj[method] = new Proxy(obj[method] || (() => {
|
||||
}), { apply });
|
||||
}
|
||||
function rt(t) {
|
||||
return q(t, (e, r) => e.getAttribute(r));
|
||||
function observedAttributes2(instance) {
|
||||
return observedAttributes(instance, (i, n) => i.getAttribute(n));
|
||||
}
|
||||
|
||||
// src/events.js
|
||||
function yt(t, e, r) {
|
||||
return e || (e = {}), function(o, ...c) {
|
||||
r && (c.unshift(o), o = typeof r == "function" ? r() : r);
|
||||
let d = c.length ? new CustomEvent(t, Object.assign({ detail: c[0] }, e)) : new Event(t, e);
|
||||
return o.dispatchEvent(d);
|
||||
function dispatchEvent(name, options, host) {
|
||||
if (typeof options === "function") {
|
||||
host = options;
|
||||
options = null;
|
||||
}
|
||||
if (!options) options = {};
|
||||
return function dispatch(element, ...d) {
|
||||
if (host) {
|
||||
d.unshift(element);
|
||||
element = typeof host === "function" ? host() : host;
|
||||
}
|
||||
const event = d.length ? new CustomEvent(name, oAssign({ detail: d[0] }, options)) : new Event(name, options);
|
||||
return element.dispatchEvent(event);
|
||||
};
|
||||
}
|
||||
function D(t, e, r) {
|
||||
return function(o) {
|
||||
return o.addEventListener(t, e, r), o;
|
||||
function on(event, listener, options) {
|
||||
return function registerElement(element) {
|
||||
element.addEventListener(event, listener, options);
|
||||
return element;
|
||||
};
|
||||
}
|
||||
var B = (t) => Object.assign({}, typeof t == "object" ? t : null, { once: !0 });
|
||||
D.connected = function(t, e) {
|
||||
return e = B(e), function(n) {
|
||||
return n.addEventListener(v, t, e), n[x] ? n : n.isConnected ? (n.dispatchEvent(new Event(v)), n) : (L(e.signal, () => _.offConnected(n, t)) && _.onConnected(n, t), n);
|
||||
var lifeOptions = (obj) => oAssign({}, typeof obj === "object" ? obj : null, { once: true });
|
||||
on.connected = function(listener, options) {
|
||||
options = lifeOptions(options);
|
||||
return function registerElement(element) {
|
||||
element.addEventListener(evc, listener, options);
|
||||
if (element[keyLTE]) return element;
|
||||
if (element.isConnected) return element.dispatchEvent(new Event(evc)), element;
|
||||
const c = onAbort(options.signal, () => c_ch_o.offConnected(element, listener));
|
||||
if (c) c_ch_o.onConnected(element, listener);
|
||||
return element;
|
||||
};
|
||||
};
|
||||
D.disconnected = function(t, e) {
|
||||
return e = B(e), function(n) {
|
||||
return n.addEventListener(w, t, e), n[x] || L(e.signal, () => _.offDisconnected(n, t)) && _.onDisconnected(n, t), n;
|
||||
on.disconnected = function(listener, options) {
|
||||
options = lifeOptions(options);
|
||||
return function registerElement(element) {
|
||||
element.addEventListener(evd, listener, options);
|
||||
if (element[keyLTE]) return element;
|
||||
const c = onAbort(options.signal, () => c_ch_o.offDisconnected(element, listener));
|
||||
if (c) c_ch_o.onDisconnected(element, listener);
|
||||
return element;
|
||||
};
|
||||
};
|
||||
var W = /* @__PURE__ */ new WeakMap();
|
||||
D.disconnectedAsAbort = function(t) {
|
||||
if (W.has(t)) return W.get(t);
|
||||
let e = new AbortController();
|
||||
return W.set(t, e), t(D.disconnected(() => e.abort())), e;
|
||||
var store_abort = /* @__PURE__ */ new WeakMap();
|
||||
on.disconnectedAsAbort = function(host) {
|
||||
if (store_abort.has(host)) return store_abort.get(host);
|
||||
const a = new AbortController();
|
||||
store_abort.set(host, a);
|
||||
host(on.disconnected(() => a.abort()));
|
||||
return a.signal;
|
||||
};
|
||||
var ot = /* @__PURE__ */ new WeakSet();
|
||||
D.attributeChanged = function(t, e) {
|
||||
return typeof e != "object" && (e = {}), function(n) {
|
||||
if (n.addEventListener(y, t, e), n[x] || ot.has(n) || !a.M) return n;
|
||||
let o = new a.M(function(d) {
|
||||
for (let { attributeName: f, target: p } of d)
|
||||
p.dispatchEvent(
|
||||
new CustomEvent(y, { detail: [f, p.getAttribute(f)] })
|
||||
var els_attribute_store = /* @__PURE__ */ new WeakSet();
|
||||
on.attributeChanged = function(listener, options) {
|
||||
if (typeof options !== "object")
|
||||
options = {};
|
||||
return function registerElement(element) {
|
||||
element.addEventListener(eva, listener, options);
|
||||
if (element[keyLTE] || els_attribute_store.has(element))
|
||||
return element;
|
||||
if (!enviroment.M) return element;
|
||||
const observer = new enviroment.M(function(mutations) {
|
||||
for (const { attributeName, target } of mutations)
|
||||
target.dispatchEvent(
|
||||
new CustomEvent(eva, { detail: [attributeName, target.getAttribute(attributeName)] })
|
||||
);
|
||||
});
|
||||
return L(e.signal, () => o.disconnect()) && o.observe(n, { attributes: !0 }), n;
|
||||
const c = onAbort(options.signal, () => observer.disconnect());
|
||||
if (c) observer.observe(element, { attributes: true });
|
||||
return element;
|
||||
};
|
||||
};
|
||||
export {
|
||||
R as assign,
|
||||
U as assignAttribute,
|
||||
J as chainableAppend,
|
||||
K as classListDeclarative,
|
||||
P as createElement,
|
||||
pt as createElementNS,
|
||||
wt as customElementRender,
|
||||
nt as customElementWithDDE,
|
||||
yt as dispatchEvent,
|
||||
P as el,
|
||||
pt as elNS,
|
||||
Q as elementAttribute,
|
||||
nt as lifecyclesToEvents,
|
||||
rt as observedAttributes,
|
||||
D as on,
|
||||
dt as queue,
|
||||
Z as registerReactivity,
|
||||
O as scope,
|
||||
lt as simulateSlots
|
||||
assign,
|
||||
assignAttribute,
|
||||
chainableAppend,
|
||||
classListDeclarative,
|
||||
createElement,
|
||||
createElementNS,
|
||||
customElementRender,
|
||||
lifecyclesToEvents as customElementWithDDE,
|
||||
dispatchEvent,
|
||||
createElement as el,
|
||||
createElementNS as elNS,
|
||||
elementAttribute,
|
||||
lifecyclesToEvents,
|
||||
observedAttributes2 as observedAttributes,
|
||||
on,
|
||||
queue,
|
||||
registerReactivity,
|
||||
scope,
|
||||
simulateSlots
|
||||
};
|
||||
|
782
dist/esm.min.d.ts
vendored
Normal file
782
dist/esm.min.d.ts
vendored
Normal file
@ -0,0 +1,782 @@
|
||||
// Generated by dts-bundle-generator v9.5.1
|
||||
|
||||
export interface Signal<V, A> {
|
||||
/** The current value of the signal */
|
||||
get(): V;
|
||||
/** Set new value of the signal */
|
||||
set(value: V): V;
|
||||
toJSON(): V;
|
||||
valueOf(): V;
|
||||
}
|
||||
export type Action<V> = (this: {
|
||||
value: V;
|
||||
stopPropagation(): void;
|
||||
}, ...a: any[]) => typeof signal._ | void;
|
||||
//type SymbolSignal= Symbol;
|
||||
export type SymbolOnclear = symbol;
|
||||
export type Actions<V> = Record<string | SymbolOnclear, Action<V>>;
|
||||
export type OnListenerOptions = Pick<AddEventListenerOptions, "signal"> & {
|
||||
first_time?: boolean;
|
||||
};
|
||||
export interface signal {
|
||||
_: Symbol;
|
||||
/**
|
||||
* Computations signal. This creates a signal which is computed from other signals.
|
||||
* */
|
||||
<V extends () => any>(computation: V): Signal<ReturnType<V>, {}>;
|
||||
/**
|
||||
* Simple example:
|
||||
* ```js
|
||||
* const hello= S("Hello Signal");
|
||||
* ```
|
||||
* …simple todo signal:
|
||||
* ```js
|
||||
* const todos= S([], {
|
||||
* add(v){ this.value.push(S(v)); },
|
||||
* remove(i){ this.value.splice(i, 1); },
|
||||
* [S.symbols.onclear](){ S.clear(...this.value); },
|
||||
* });
|
||||
* ```
|
||||
* …computed signal:
|
||||
* ```js
|
||||
* const name= S("Jan");
|
||||
* const surname= S("Andrle");
|
||||
* const fullname= S(()=> name.get()+" "+surname.get());
|
||||
* ```
|
||||
* @param value Initial signal value. Or function computing value from other signals.
|
||||
* @param actions Use to define actions on the signal. Such as add item to the array.
|
||||
* There is also a reserved function `S.symbol.onclear` which is called when the signal is cleared
|
||||
* by `S.clear`.
|
||||
* */
|
||||
<V, A extends Actions<V>>(value: V, actions?: A): Signal<V, A>;
|
||||
action<S extends Signal<any, Actions<any>>, A extends (S extends Signal<any, infer A> ? A : never), N extends keyof A>(signal: S, name: N, ...params: A[N] extends (...args: infer P) => any ? P : never): void;
|
||||
clear(...signals: Signal<any, any>[]): void;
|
||||
on<T>(signal: Signal<T, any>, onchange: (a: T) => void, options?: OnListenerOptions): void;
|
||||
symbols: {
|
||||
//signal: SymbolSignal;
|
||||
onclear: SymbolOnclear;
|
||||
};
|
||||
/**
|
||||
* Reactive element, which is rendered based on the given signal.
|
||||
* ```js
|
||||
* S.el(signal, value=> value ? el("b", "True") : el("i", "False"));
|
||||
* S.el(listS, list=> list.map(li=> el("li", li)));
|
||||
* ```
|
||||
* */
|
||||
el<S extends any>(signal: Signal<S, any>, el: (v: S) => Element | Element[] | DocumentFragment): DocumentFragment;
|
||||
observedAttributes(custom_element: HTMLElement): Record<string, Signal<string, {}>>;
|
||||
}
|
||||
declare const signal: signal;
|
||||
declare global {
|
||||
type ddeSignal<T, A = {}> = Signal<T, A>;
|
||||
type ddeAction<V> = Action<V>;
|
||||
type ddeActions<V> = Actions<V>;
|
||||
}
|
||||
export type CustomElementTagNameMap = {
|
||||
"#text": Text;
|
||||
"#comment": Comment;
|
||||
};
|
||||
export type SupportedElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap] | MathMLElementTagNameMap[keyof MathMLElementTagNameMap] | CustomElementTagNameMap[keyof CustomElementTagNameMap];
|
||||
declare global {
|
||||
type ddeComponentAttributes = Record<any, any> | undefined;
|
||||
type ddeElementAddon<El extends SupportedElement | DocumentFragment | Node> = (element: El) => any;
|
||||
type ddeString = string | Signal<string, {}>;
|
||||
type ddeStringable = ddeString | number | Signal<number, {}>;
|
||||
}
|
||||
export type PascalCase = `${Capitalize<string>}${string}`;
|
||||
export type AttrsModified = {
|
||||
/**
|
||||
* Use string like in HTML (internally uses `*.setAttribute("style", *)`), or object representation (like DOM API).
|
||||
*/
|
||||
style: Partial<CSSStyleDeclaration> | ddeString | Partial<{
|
||||
[K in keyof CSSStyleDeclaration]: Signal<CSSStyleDeclaration[K], {}>;
|
||||
}>;
|
||||
/**
|
||||
* Provide option to add/remove/toggle CSS clasess (index of object) using 1/0/-1.
|
||||
* In fact `el.classList.toggle(class_name)` for `-1` and `el.classList.toggle(class_name, Boolean(...))`
|
||||
* for others.
|
||||
*/
|
||||
classList: Record<string, -1 | 0 | 1 | boolean | Signal<-1 | 0 | 1 | boolean, {}>>;
|
||||
/**
|
||||
* Used by the dataset HTML attribute to represent data for custom attributes added to elements.
|
||||
* Values are converted to string (see {@link DOMStringMap}).
|
||||
*
|
||||
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
|
||||
* */
|
||||
dataset: Record<string, ddeStringable>;
|
||||
/**
|
||||
* Sets `aria-*` simiraly to `dataset`
|
||||
* */
|
||||
ariaset: Record<string, ddeString>;
|
||||
} & Record<`=${string}` | `data${PascalCase}` | `aria${PascalCase}`, ddeString> & Record<`.${string}`, any>;
|
||||
export type _fromElsInterfaces<EL extends SupportedElement> = Omit<EL, keyof AttrsModified>;
|
||||
export type IsReadonly<T, K extends keyof T> = T extends {
|
||||
readonly [P in K]: T[K];
|
||||
} ? true : false;
|
||||
/**
|
||||
* Just element attributtes
|
||||
*
|
||||
* In most cases, you can use native propertie such as
|
||||
* [MDN WEB/API/Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) and so on
|
||||
* (e.g. [`Text`](https://developer.mozilla.org/en-US/docs/Web/API/Text)).
|
||||
*
|
||||
* There is added support for `data[A-Z].*`/`aria[A-Z].*` to be converted to the kebab-case alternatives.
|
||||
* @private
|
||||
*/
|
||||
export type ElementAttributes<T extends SupportedElement> = Partial<{
|
||||
[K in keyof _fromElsInterfaces<T>]: _fromElsInterfaces<T>[K] extends ((...p: any[]) => any) ? _fromElsInterfaces<T>[K] | ((...p: Parameters<_fromElsInterfaces<T>[K]>) => Signal<ReturnType<_fromElsInterfaces<T>[K]>, {}>) : (IsReadonly<_fromElsInterfaces<T>, K> extends false ? _fromElsInterfaces<T>[K] | Signal<_fromElsInterfaces<T>[K], {}> : ddeStringable);
|
||||
} & AttrsModified> & Record<string, any>;
|
||||
export function classListDeclarative<El extends SupportedElement>(element: El, classList: AttrsModified["classList"]): El;
|
||||
export function assign<El extends SupportedElement>(element: El, ...attrs_array: ElementAttributes<El>[]): El;
|
||||
export function assignAttribute<El extends SupportedElement, ATT extends keyof ElementAttributes<El>>(element: El, attr: ATT, value: ElementAttributes<El>[ATT]): ElementAttributes<El>[ATT];
|
||||
export type ExtendedHTMLElementTagNameMap = HTMLElementTagNameMap & CustomElementTagNameMap;
|
||||
export namespace el {
|
||||
/**
|
||||
* Creates a marker comment for elements
|
||||
*
|
||||
* @param attrs - Marker attributes
|
||||
* @param [is_open=false] - Whether the marker is open-ended
|
||||
* @returns Comment node marker
|
||||
*/
|
||||
export function mark(attrs: {
|
||||
type: "component" | "reactive" | "later";
|
||||
name?: string;
|
||||
host?: "this" | "parentElement";
|
||||
}, is_open?: boolean): Comment;
|
||||
}
|
||||
export function el<A extends ddeComponentAttributes, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>, ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<A extends {
|
||||
textContent: ddeStringable;
|
||||
}, EL extends SupportedElement | ddeDocumentFragment>(component: (attr: A, ...rest: any[]) => EL, attrs?: NoInfer<A>["textContent"], ...addons: ddeElementAddon<EL>[]): EL extends ddeHTMLElementTagNameMap[keyof ddeHTMLElementTagNameMap] ? EL : (EL extends ddeDocumentFragment ? EL : ddeHTMLElement);
|
||||
export function el<TAG extends keyof ExtendedHTMLElementTagNameMap>(tag_name: TAG, attrs?: ElementAttributes<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]> | ddeStringable, ...addons: ddeElementAddon<ExtendedHTMLElementTagNameMap[NoInfer<TAG>]>[]): TAG extends keyof ddeHTMLElementTagNameMap ? ddeHTMLElementTagNameMap[TAG] : ddeHTMLElement;
|
||||
export function el(tag_name?: "<>"): ddeDocumentFragment;
|
||||
export function el(tag_name: string, attrs?: ElementAttributes<HTMLElement> | ddeStringable, ...addons: ddeElementAddon<HTMLElement>[]): ddeHTMLElement;
|
||||
export function elNS(namespace: "http://www.w3.org/2000/svg"): <TAG extends keyof SVGElementTagNameMap & string, EL extends (TAG extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[TAG] : SVGElement)>(tag_name: TAG, attrs?: ElementAttributes<NoInfer<EL>> | ddeStringable, ...addons: ddeElementAddon<NoInfer<EL>>[]) => TAG extends keyof ddeSVGElementTagNameMap ? ddeSVGElementTagNameMap[TAG] : ddeSVGElement;
|
||||
export function elNS(namespace: "http://www.w3.org/1998/Math/MathML"): <TAG extends keyof MathMLElementTagNameMap & string, EL extends (TAG extends keyof MathMLElementTagNameMap ? MathMLElementTagNameMap[TAG] : MathMLElement)>(tag_name: TAG, attrs?: ddeStringable | Partial<{
|
||||
[key in keyof EL]: EL[key] | Signal<EL[key], {}> | string | number | boolean;
|
||||
}>, ...addons: ddeElementAddon<NoInfer<EL>>[]) => ddeMathMLElement;
|
||||
export function elNS(namespace: string): (tag_name: string, attrs?: string | ddeStringable | Record<string, any>, ...addons: ddeElementAddon<SupportedElement>[]) => SupportedElement;
|
||||
export function chainableAppend<EL extends SupportedElement>(el: EL): EL;
|
||||
/** Simulate slots for ddeComponents */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(root: EL): EL;
|
||||
/**
|
||||
* Simulate slots in Custom Elements without using `shadowRoot`.
|
||||
* @param el Custom Element root element
|
||||
* @param body Body of the custom element
|
||||
* */
|
||||
export function simulateSlots<EL extends SupportedElement | DocumentFragment>(el: HTMLElement, body: EL): EL;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, element: SupportedElement): (data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options?: EventInit): (element: SupportedElement, data?: any) => void;
|
||||
declare function dispatchEvent$1(name: keyof DocumentEventMap | string, options: EventInit | null, element: SupportedElement | (() => SupportedElement)): (data?: any) => void;
|
||||
export interface On {
|
||||
/** Listens to the DOM event. See {@link Document.addEventListener} */
|
||||
<Event extends keyof DocumentEventMap, EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: Event, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: DocumentEventMap[Event]) => any, options?: AddEventListenerOptions): EE;
|
||||
<EE extends ddeElementAddon<SupportedElement> = ddeElementAddon<HTMLElement>>(type: string, listener: (this: EE extends ddeElementAddon<infer El> ? El : never, ev: Event | CustomEvent) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is connected to the live DOM. In case of custom elements uses [`connectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
connected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<El>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element is disconnected from the live DOM. In case of custom elements uses [`disconnectedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
disconnected<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<void>) => any, options?: AddEventListenerOptions): EE;
|
||||
/** Listens to the element attribute changes. In case of custom elements uses [`attributeChangedCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks), or {@link MutationObserver} else where */ // editorconfig-checker-disable-line
|
||||
attributeChanged<EE extends ddeElementAddon<SupportedElement>, El extends (EE extends ddeElementAddon<infer El> ? El : never)>(listener: (this: El, event: CustomEvent<[
|
||||
string,
|
||||
string
|
||||
]>) => any, options?: AddEventListenerOptions): EE;
|
||||
}
|
||||
export const on: On;
|
||||
export type Scope = {
|
||||
scope: Node | Function | Object;
|
||||
host: ddeElementAddon<any>;
|
||||
custom_element: false | HTMLElement;
|
||||
prevent: boolean;
|
||||
};
|
||||
/** Current scope created last time the `el(Function)` was invoke. (Or {@link scope.push}) */
|
||||
export const scope: {
|
||||
current: Scope;
|
||||
/** Stops all automatizations. E. g. signals used as attributes in current scope
|
||||
* registers removing these listeners (and clean signal if no other listeners are detected)
|
||||
* on `disconnected` event. */
|
||||
preventDefault<T extends boolean>(prevent: T): T;
|
||||
/**
|
||||
* This represents reference to the current host element — `scope.host()`.
|
||||
* It can be also used to register Addon(s) (functions to be called when component is initized)
|
||||
* — `scope.host(on.connected(console.log))`.
|
||||
* */
|
||||
host: (...addons: ddeElementAddon<SupportedElement>[]) => HTMLElement;
|
||||
state: Scope[];
|
||||
/** Adds new child scope. All attributes are inherited by default. */
|
||||
push(scope?: Partial<Scope>): ReturnType<Array<Scope>["push"]>;
|
||||
/** Adds root scope as a child of the current scope. */
|
||||
pushRoot(): ReturnType<Array<Scope>["push"]>;
|
||||
/** Removes last/current child scope. */
|
||||
pop(): ReturnType<Array<Scope>["pop"]>;
|
||||
};
|
||||
export function customElementRender<EL extends HTMLElement, P extends any = Record<string, string | Signal<string, {}>>>(target: ShadowRoot | EL, render: (props: P) => SupportedElement | DocumentFragment, props?: P | ((el: EL) => P)): EL;
|
||||
export function customElementWithDDE<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function lifecyclesToEvents<EL extends (new () => HTMLElement)>(custom_element: EL): EL;
|
||||
export function observedAttributes(custom_element: HTMLElement): Record<string, string>;
|
||||
/**
|
||||
* This is used primarly for server side rendering. To be sure that all async operations
|
||||
* are finished before the page is sent to the client.
|
||||
* ```
|
||||
* // on component
|
||||
* function component(){
|
||||
* …
|
||||
* queue(fetch(...).then(...));
|
||||
* }
|
||||
*
|
||||
* // building the page
|
||||
* async function build(){
|
||||
* const { component }= await import("./component.js");
|
||||
* document.body.append(el(component));
|
||||
* await queue();
|
||||
* retutn document.body.innerHTML;
|
||||
* }
|
||||
* ```
|
||||
* */
|
||||
export function queue(promise?: Promise<unknown>): Promise<unknown>;
|
||||
/* TypeScript MEH */
|
||||
declare global {
|
||||
type ddeAppend<el> = (...nodes: (Node | string)[]) => el;
|
||||
interface ddeDocumentFragment extends DocumentFragment {
|
||||
append: ddeAppend<ddeDocumentFragment>;
|
||||
}
|
||||
interface ddeHTMLElement extends HTMLElement {
|
||||
append: ddeAppend<ddeHTMLElement>;
|
||||
}
|
||||
interface ddeSVGElement extends SVGElement {
|
||||
append: ddeAppend<ddeSVGElement>;
|
||||
}
|
||||
interface ddeMathMLElement extends MathMLElement {
|
||||
append: ddeAppend<ddeMathMLElement>;
|
||||
}
|
||||
interface ddeHTMLElementTagNameMap {
|
||||
"a": ddeHTMLAnchorElement;
|
||||
"area": ddeHTMLAreaElement;
|
||||
"audio": ddeHTMLAudioElement;
|
||||
"base": ddeHTMLBaseElement;
|
||||
"blockquote": ddeHTMLQuoteElement;
|
||||
"body": ddeHTMLBodyElement;
|
||||
"br": ddeHTMLBRElement;
|
||||
"button": ddeHTMLButtonElement;
|
||||
"canvas": ddeHTMLCanvasElement;
|
||||
"caption": ddeHTMLTableCaptionElement;
|
||||
"col": ddeHTMLTableColElement;
|
||||
"colgroup": ddeHTMLTableColElement;
|
||||
"data": ddeHTMLDataElement;
|
||||
"datalist": ddeHTMLDataListElement;
|
||||
"del": ddeHTMLModElement;
|
||||
"details": ddeHTMLDetailsElement;
|
||||
"dialog": ddeHTMLDialogElement;
|
||||
"div": ddeHTMLDivElement;
|
||||
"dl": ddeHTMLDListElement;
|
||||
"embed": ddeHTMLEmbedElement;
|
||||
"fieldset": ddeHTMLFieldSetElement;
|
||||
"form": ddeHTMLFormElement;
|
||||
"h1": ddeHTMLHeadingElement;
|
||||
"h2": ddeHTMLHeadingElement;
|
||||
"h3": ddeHTMLHeadingElement;
|
||||
"h4": ddeHTMLHeadingElement;
|
||||
"h5": ddeHTMLHeadingElement;
|
||||
"h6": ddeHTMLHeadingElement;
|
||||
"head": ddeHTMLHeadElement;
|
||||
"hr": ddeHTMLHRElement;
|
||||
"html": ddeHTMLHtmlElement;
|
||||
"iframe": ddeHTMLIFrameElement;
|
||||
"img": ddeHTMLImageElement;
|
||||
"input": ddeHTMLInputElement;
|
||||
"ins": ddeHTMLModElement;
|
||||
"label": ddeHTMLLabelElement;
|
||||
"legend": ddeHTMLLegendElement;
|
||||
"li": ddeHTMLLIElement;
|
||||
"link": ddeHTMLLinkElement;
|
||||
"map": ddeHTMLMapElement;
|
||||
"menu": ddeHTMLMenuElement;
|
||||
"meta": ddeHTMLMetaElement;
|
||||
"meter": ddeHTMLMeterElement;
|
||||
"object": ddeHTMLObjectElement;
|
||||
"ol": ddeHTMLOListElement;
|
||||
"optgroup": ddeHTMLOptGroupElement;
|
||||
"option": ddeHTMLOptionElement;
|
||||
"output": ddeHTMLOutputElement;
|
||||
"p": ddeHTMLParagraphElement;
|
||||
"picture": ddeHTMLPictureElement;
|
||||
"pre": ddeHTMLPreElement;
|
||||
"progress": ddeHTMLProgressElement;
|
||||
"q": ddeHTMLQuoteElement;
|
||||
"script": ddeHTMLScriptElement;
|
||||
"select": ddeHTMLSelectElement;
|
||||
"slot": ddeHTMLSlotElement;
|
||||
"source": ddeHTMLSourceElement;
|
||||
"span": ddeHTMLSpanElement;
|
||||
"style": ddeHTMLStyleElement;
|
||||
"table": ddeHTMLTableElement;
|
||||
"tbody": ddeHTMLTableSectionElement;
|
||||
"td": ddeHTMLTableCellElement;
|
||||
"template": ddeHTMLTemplateElement;
|
||||
"textarea": ddeHTMLTextAreaElement;
|
||||
"tfoot": ddeHTMLTableSectionElement;
|
||||
"th": ddeHTMLTableCellElement;
|
||||
"thead": ddeHTMLTableSectionElement;
|
||||
"time": ddeHTMLTimeElement;
|
||||
"title": ddeHTMLTitleElement;
|
||||
"tr": ddeHTMLTableRowElement;
|
||||
"track": ddeHTMLTrackElement;
|
||||
"ul": ddeHTMLUListElement;
|
||||
"video": ddeHTMLVideoElement;
|
||||
}
|
||||
interface ddeSVGElementTagNameMap {
|
||||
"a": ddeSVGAElement;
|
||||
"animate": ddeSVGAnimateElement;
|
||||
"animateMotion": ddeSVGAnimateMotionElement;
|
||||
"animateTransform": ddeSVGAnimateTransformElement;
|
||||
"circle": ddeSVGCircleElement;
|
||||
"clipPath": ddeSVGClipPathElement;
|
||||
"defs": ddeSVGDefsElement;
|
||||
"desc": ddeSVGDescElement;
|
||||
"ellipse": ddeSVGEllipseElement;
|
||||
"feBlend": ddeSVGFEBlendElement;
|
||||
"feColorMatrix": ddeSVGFEColorMatrixElement;
|
||||
"feComponentTransfer": ddeSVGFEComponentTransferElement;
|
||||
"feComposite": ddeSVGFECompositeElement;
|
||||
"feConvolveMatrix": ddeSVGFEConvolveMatrixElement;
|
||||
"feDiffuseLighting": ddeSVGFEDiffuseLightingElement;
|
||||
"feDisplacementMap": ddeSVGFEDisplacementMapElement;
|
||||
"feDistantLight": ddeSVGFEDistantLightElement;
|
||||
"feDropShadow": ddeSVGFEDropShadowElement;
|
||||
"feFlood": ddeSVGFEFloodElement;
|
||||
"feFuncA": ddeSVGFEFuncAElement;
|
||||
"feFuncB": ddeSVGFEFuncBElement;
|
||||
"feFuncG": ddeSVGFEFuncGElement;
|
||||
"feFuncR": ddeSVGFEFuncRElement;
|
||||
"feGaussianBlur": ddeSVGFEGaussianBlurElement;
|
||||
"feImage": ddeSVGFEImageElement;
|
||||
"feMerge": ddeSVGFEMergeElement;
|
||||
"feMergeNode": ddeSVGFEMergeNodeElement;
|
||||
"feMorphology": ddeSVGFEMorphologyElement;
|
||||
"feOffset": ddeSVGFEOffsetElement;
|
||||
"fePointLight": ddeSVGFEPointLightElement;
|
||||
"feSpecularLighting": ddeSVGFESpecularLightingElement;
|
||||
"feSpotLight": ddeSVGFESpotLightElement;
|
||||
"feTile": ddeSVGFETileElement;
|
||||
"feTurbulence": ddeSVGFETurbulenceElement;
|
||||
"filter": ddeSVGFilterElement;
|
||||
"foreignObject": ddeSVGForeignObjectElement;
|
||||
"g": ddeSVGGElement;
|
||||
"image": ddeSVGImageElement;
|
||||
"line": ddeSVGLineElement;
|
||||
"linearGradient": ddeSVGLinearGradientElement;
|
||||
"marker": ddeSVGMarkerElement;
|
||||
"mask": ddeSVGMaskElement;
|
||||
"metadata": ddeSVGMetadataElement;
|
||||
"mpath": ddeSVGMPathElement;
|
||||
"path": ddeSVGPathElement;
|
||||
"pattern": ddeSVGPatternElement;
|
||||
"polygon": ddeSVGPolygonElement;
|
||||
"polyline": ddeSVGPolylineElement;
|
||||
"radialGradient": ddeSVGRadialGradientElement;
|
||||
"rect": ddeSVGRectElement;
|
||||
"script": ddeSVGScriptElement;
|
||||
"set": ddeSVGSetElement;
|
||||
"stop": ddeSVGStopElement;
|
||||
"style": ddeSVGStyleElement;
|
||||
"svg": ddeSVGSVGElement;
|
||||
"switch": ddeSVGSwitchElement;
|
||||
"symbol": ddeSVGSymbolElement;
|
||||
"text": ddeSVGTextElement;
|
||||
"textPath": ddeSVGTextPathElement;
|
||||
"title": ddeSVGTitleElement;
|
||||
"tspan": ddeSVGTSpanElement;
|
||||
"use": ddeSVGUseElement;
|
||||
"view": ddeSVGViewElement;
|
||||
}
|
||||
}
|
||||
// editorconfig-checker-disable
|
||||
export interface ddeHTMLAnchorElement extends HTMLAnchorElement {
|
||||
append: ddeAppend<ddeHTMLAnchorElement>;
|
||||
}
|
||||
export interface ddeHTMLAreaElement extends HTMLAreaElement {
|
||||
append: ddeAppend<ddeHTMLAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLAudioElement extends HTMLAudioElement {
|
||||
append: ddeAppend<ddeHTMLAudioElement>;
|
||||
}
|
||||
export interface ddeHTMLBaseElement extends HTMLBaseElement {
|
||||
append: ddeAppend<ddeHTMLBaseElement>;
|
||||
}
|
||||
export interface ddeHTMLQuoteElement extends HTMLQuoteElement {
|
||||
append: ddeAppend<ddeHTMLQuoteElement>;
|
||||
}
|
||||
export interface ddeHTMLBodyElement extends HTMLBodyElement {
|
||||
append: ddeAppend<ddeHTMLBodyElement>;
|
||||
}
|
||||
export interface ddeHTMLBRElement extends HTMLBRElement {
|
||||
append: ddeAppend<ddeHTMLBRElement>;
|
||||
}
|
||||
export interface ddeHTMLButtonElement extends HTMLButtonElement {
|
||||
append: ddeAppend<ddeHTMLButtonElement>;
|
||||
}
|
||||
export interface ddeHTMLCanvasElement extends HTMLCanvasElement {
|
||||
append: ddeAppend<ddeHTMLCanvasElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCaptionElement extends HTMLTableCaptionElement {
|
||||
append: ddeAppend<ddeHTMLTableCaptionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLTableColElement extends HTMLTableColElement {
|
||||
append: ddeAppend<ddeHTMLTableColElement>;
|
||||
}
|
||||
export interface ddeHTMLDataElement extends HTMLDataElement {
|
||||
append: ddeAppend<ddeHTMLDataElement>;
|
||||
}
|
||||
export interface ddeHTMLDataListElement extends HTMLDataListElement {
|
||||
append: ddeAppend<ddeHTMLDataListElement>;
|
||||
}
|
||||
export interface ddeHTMLModElement extends HTMLModElement {
|
||||
append: ddeAppend<ddeHTMLModElement>;
|
||||
}
|
||||
export interface ddeHTMLDetailsElement extends HTMLDetailsElement {
|
||||
append: ddeAppend<ddeHTMLDetailsElement>;
|
||||
}
|
||||
export interface ddeHTMLDialogElement extends HTMLDialogElement {
|
||||
append: ddeAppend<ddeHTMLDialogElement>;
|
||||
}
|
||||
export interface ddeHTMLDivElement extends HTMLDivElement {
|
||||
append: ddeAppend<ddeHTMLDivElement>;
|
||||
}
|
||||
export interface ddeHTMLDListElement extends HTMLDListElement {
|
||||
append: ddeAppend<ddeHTMLDListElement>;
|
||||
}
|
||||
export interface ddeHTMLEmbedElement extends HTMLEmbedElement {
|
||||
append: ddeAppend<ddeHTMLEmbedElement>;
|
||||
}
|
||||
export interface ddeHTMLFieldSetElement extends HTMLFieldSetElement {
|
||||
append: ddeAppend<ddeHTMLFieldSetElement>;
|
||||
}
|
||||
export interface ddeHTMLFormElement extends HTMLFormElement {
|
||||
append: ddeAppend<ddeHTMLFormElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadingElement extends HTMLHeadingElement {
|
||||
append: ddeAppend<ddeHTMLHeadingElement>;
|
||||
}
|
||||
export interface ddeHTMLHeadElement extends HTMLHeadElement {
|
||||
append: ddeAppend<ddeHTMLHeadElement>;
|
||||
}
|
||||
export interface ddeHTMLHRElement extends HTMLHRElement {
|
||||
append: ddeAppend<ddeHTMLHRElement>;
|
||||
}
|
||||
export interface ddeHTMLHtmlElement extends HTMLHtmlElement {
|
||||
append: ddeAppend<ddeHTMLHtmlElement>;
|
||||
}
|
||||
export interface ddeHTMLIFrameElement extends HTMLIFrameElement {
|
||||
append: ddeAppend<ddeHTMLIFrameElement>;
|
||||
}
|
||||
export interface ddeHTMLImageElement extends HTMLImageElement {
|
||||
append: ddeAppend<ddeHTMLImageElement>;
|
||||
}
|
||||
export interface ddeHTMLInputElement extends HTMLInputElement {
|
||||
append: ddeAppend<ddeHTMLInputElement>;
|
||||
}
|
||||
export interface ddeHTMLLabelElement extends HTMLLabelElement {
|
||||
append: ddeAppend<ddeHTMLLabelElement>;
|
||||
}
|
||||
export interface ddeHTMLLegendElement extends HTMLLegendElement {
|
||||
append: ddeAppend<ddeHTMLLegendElement>;
|
||||
}
|
||||
export interface ddeHTMLLIElement extends HTMLLIElement {
|
||||
append: ddeAppend<ddeHTMLLIElement>;
|
||||
}
|
||||
export interface ddeHTMLLinkElement extends HTMLLinkElement {
|
||||
append: ddeAppend<ddeHTMLLinkElement>;
|
||||
}
|
||||
export interface ddeHTMLMapElement extends HTMLMapElement {
|
||||
append: ddeAppend<ddeHTMLMapElement>;
|
||||
}
|
||||
export interface ddeHTMLMenuElement extends HTMLMenuElement {
|
||||
append: ddeAppend<ddeHTMLMenuElement>;
|
||||
}
|
||||
export interface ddeHTMLMetaElement extends HTMLMetaElement {
|
||||
append: ddeAppend<ddeHTMLMetaElement>;
|
||||
}
|
||||
export interface ddeHTMLMeterElement extends HTMLMeterElement {
|
||||
append: ddeAppend<ddeHTMLMeterElement>;
|
||||
}
|
||||
export interface ddeHTMLObjectElement extends HTMLObjectElement {
|
||||
append: ddeAppend<ddeHTMLObjectElement>;
|
||||
}
|
||||
export interface ddeHTMLOListElement extends HTMLOListElement {
|
||||
append: ddeAppend<ddeHTMLOListElement>;
|
||||
}
|
||||
export interface ddeHTMLOptGroupElement extends HTMLOptGroupElement {
|
||||
append: ddeAppend<ddeHTMLOptGroupElement>;
|
||||
}
|
||||
export interface ddeHTMLOptionElement extends HTMLOptionElement {
|
||||
append: ddeAppend<ddeHTMLOptionElement>;
|
||||
}
|
||||
export interface ddeHTMLOutputElement extends HTMLOutputElement {
|
||||
append: ddeAppend<ddeHTMLOutputElement>;
|
||||
}
|
||||
export interface ddeHTMLParagraphElement extends HTMLParagraphElement {
|
||||
append: ddeAppend<ddeHTMLParagraphElement>;
|
||||
}
|
||||
export interface ddeHTMLPictureElement extends HTMLPictureElement {
|
||||
append: ddeAppend<ddeHTMLPictureElement>;
|
||||
}
|
||||
export interface ddeHTMLPreElement extends HTMLPreElement {
|
||||
append: ddeAppend<ddeHTMLPreElement>;
|
||||
}
|
||||
export interface ddeHTMLProgressElement extends HTMLProgressElement {
|
||||
append: ddeAppend<ddeHTMLProgressElement>;
|
||||
}
|
||||
export interface ddeHTMLScriptElement extends HTMLScriptElement {
|
||||
append: ddeAppend<ddeHTMLScriptElement>;
|
||||
}
|
||||
export interface ddeHTMLSelectElement extends HTMLSelectElement {
|
||||
append: ddeAppend<ddeHTMLSelectElement>;
|
||||
}
|
||||
export interface ddeHTMLSlotElement extends HTMLSlotElement {
|
||||
append: ddeAppend<ddeHTMLSlotElement>;
|
||||
}
|
||||
export interface ddeHTMLSourceElement extends HTMLSourceElement {
|
||||
append: ddeAppend<ddeHTMLSourceElement>;
|
||||
}
|
||||
export interface ddeHTMLSpanElement extends HTMLSpanElement {
|
||||
append: ddeAppend<ddeHTMLSpanElement>;
|
||||
}
|
||||
export interface ddeHTMLStyleElement extends HTMLStyleElement {
|
||||
append: ddeAppend<ddeHTMLStyleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableElement extends HTMLTableElement {
|
||||
append: ddeAppend<ddeHTMLTableElement>;
|
||||
}
|
||||
export interface ddeHTMLTableSectionElement extends HTMLTableSectionElement {
|
||||
append: ddeAppend<ddeHTMLTableSectionElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTemplateElement extends HTMLTemplateElement {
|
||||
append: ddeAppend<ddeHTMLTemplateElement>;
|
||||
}
|
||||
export interface ddeHTMLTextAreaElement extends HTMLTextAreaElement {
|
||||
append: ddeAppend<ddeHTMLTextAreaElement>;
|
||||
}
|
||||
export interface ddeHTMLTableCellElement extends HTMLTableCellElement {
|
||||
append: ddeAppend<ddeHTMLTableCellElement>;
|
||||
}
|
||||
export interface ddeHTMLTimeElement extends HTMLTimeElement {
|
||||
append: ddeAppend<ddeHTMLTimeElement>;
|
||||
}
|
||||
export interface ddeHTMLTitleElement extends HTMLTitleElement {
|
||||
append: ddeAppend<ddeHTMLTitleElement>;
|
||||
}
|
||||
export interface ddeHTMLTableRowElement extends HTMLTableRowElement {
|
||||
append: ddeAppend<ddeHTMLTableRowElement>;
|
||||
}
|
||||
export interface ddeHTMLTrackElement extends HTMLTrackElement {
|
||||
append: ddeAppend<ddeHTMLTrackElement>;
|
||||
}
|
||||
export interface ddeHTMLUListElement extends HTMLUListElement {
|
||||
append: ddeAppend<ddeHTMLUListElement>;
|
||||
}
|
||||
export interface ddeHTMLVideoElement extends HTMLVideoElement {
|
||||
append: ddeAppend<ddeHTMLVideoElement>;
|
||||
}
|
||||
export interface ddeSVGAElement extends SVGAElement {
|
||||
append: ddeAppend<ddeSVGAElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateElement extends SVGAnimateElement {
|
||||
append: ddeAppend<ddeSVGAnimateElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateMotionElement extends SVGAnimateMotionElement {
|
||||
append: ddeAppend<ddeSVGAnimateMotionElement>;
|
||||
}
|
||||
export interface ddeSVGAnimateTransformElement extends SVGAnimateTransformElement {
|
||||
append: ddeAppend<ddeSVGAnimateTransformElement>;
|
||||
}
|
||||
export interface ddeSVGCircleElement extends SVGCircleElement {
|
||||
append: ddeAppend<ddeSVGCircleElement>;
|
||||
}
|
||||
export interface ddeSVGClipPathElement extends SVGClipPathElement {
|
||||
append: ddeAppend<ddeSVGClipPathElement>;
|
||||
}
|
||||
export interface ddeSVGDefsElement extends SVGDefsElement {
|
||||
append: ddeAppend<ddeSVGDefsElement>;
|
||||
}
|
||||
export interface ddeSVGDescElement extends SVGDescElement {
|
||||
append: ddeAppend<ddeSVGDescElement>;
|
||||
}
|
||||
export interface ddeSVGEllipseElement extends SVGEllipseElement {
|
||||
append: ddeAppend<ddeSVGEllipseElement>;
|
||||
}
|
||||
export interface ddeSVGFEBlendElement extends SVGFEBlendElement {
|
||||
append: ddeAppend<ddeSVGFEBlendElement>;
|
||||
}
|
||||
export interface ddeSVGFEColorMatrixElement extends SVGFEColorMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEColorMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEComponentTransferElement extends SVGFEComponentTransferElement {
|
||||
append: ddeAppend<ddeSVGFEComponentTransferElement>;
|
||||
}
|
||||
export interface ddeSVGFECompositeElement extends SVGFECompositeElement {
|
||||
append: ddeAppend<ddeSVGFECompositeElement>;
|
||||
}
|
||||
export interface ddeSVGFEConvolveMatrixElement extends SVGFEConvolveMatrixElement {
|
||||
append: ddeAppend<ddeSVGFEConvolveMatrixElement>;
|
||||
}
|
||||
export interface ddeSVGFEDiffuseLightingElement extends SVGFEDiffuseLightingElement {
|
||||
append: ddeAppend<ddeSVGFEDiffuseLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFEDisplacementMapElement extends SVGFEDisplacementMapElement {
|
||||
append: ddeAppend<ddeSVGFEDisplacementMapElement>;
|
||||
}
|
||||
export interface ddeSVGFEDistantLightElement extends SVGFEDistantLightElement {
|
||||
append: ddeAppend<ddeSVGFEDistantLightElement>;
|
||||
}
|
||||
export interface ddeSVGFEDropShadowElement extends SVGFEDropShadowElement {
|
||||
append: ddeAppend<ddeSVGFEDropShadowElement>;
|
||||
}
|
||||
export interface ddeSVGFEFloodElement extends SVGFEFloodElement {
|
||||
append: ddeAppend<ddeSVGFEFloodElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncAElement extends SVGFEFuncAElement {
|
||||
append: ddeAppend<ddeSVGFEFuncAElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncBElement extends SVGFEFuncBElement {
|
||||
append: ddeAppend<ddeSVGFEFuncBElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncGElement extends SVGFEFuncGElement {
|
||||
append: ddeAppend<ddeSVGFEFuncGElement>;
|
||||
}
|
||||
export interface ddeSVGFEFuncRElement extends SVGFEFuncRElement {
|
||||
append: ddeAppend<ddeSVGFEFuncRElement>;
|
||||
}
|
||||
export interface ddeSVGFEGaussianBlurElement extends SVGFEGaussianBlurElement {
|
||||
append: ddeAppend<ddeSVGFEGaussianBlurElement>;
|
||||
}
|
||||
export interface ddeSVGFEImageElement extends SVGFEImageElement {
|
||||
append: ddeAppend<ddeSVGFEImageElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeElement extends SVGFEMergeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMergeNodeElement extends SVGFEMergeNodeElement {
|
||||
append: ddeAppend<ddeSVGFEMergeNodeElement>;
|
||||
}
|
||||
export interface ddeSVGFEMorphologyElement extends SVGFEMorphologyElement {
|
||||
append: ddeAppend<ddeSVGFEMorphologyElement>;
|
||||
}
|
||||
export interface ddeSVGFEOffsetElement extends SVGFEOffsetElement {
|
||||
append: ddeAppend<ddeSVGFEOffsetElement>;
|
||||
}
|
||||
export interface ddeSVGFEPointLightElement extends SVGFEPointLightElement {
|
||||
append: ddeAppend<ddeSVGFEPointLightElement>;
|
||||
}
|
||||
export interface ddeSVGFESpecularLightingElement extends SVGFESpecularLightingElement {
|
||||
append: ddeAppend<ddeSVGFESpecularLightingElement>;
|
||||
}
|
||||
export interface ddeSVGFESpotLightElement extends SVGFESpotLightElement {
|
||||
append: ddeAppend<ddeSVGFESpotLightElement>;
|
||||
}
|
||||
export interface ddeSVGFETileElement extends SVGFETileElement {
|
||||
append: ddeAppend<ddeSVGFETileElement>;
|
||||
}
|
||||
export interface ddeSVGFETurbulenceElement extends SVGFETurbulenceElement {
|
||||
append: ddeAppend<ddeSVGFETurbulenceElement>;
|
||||
}
|
||||
export interface ddeSVGFilterElement extends SVGFilterElement {
|
||||
append: ddeAppend<ddeSVGFilterElement>;
|
||||
}
|
||||
export interface ddeSVGForeignObjectElement extends SVGForeignObjectElement {
|
||||
append: ddeAppend<ddeSVGForeignObjectElement>;
|
||||
}
|
||||
export interface ddeSVGGElement extends SVGGElement {
|
||||
append: ddeAppend<ddeSVGGElement>;
|
||||
}
|
||||
export interface ddeSVGImageElement extends SVGImageElement {
|
||||
append: ddeAppend<ddeSVGImageElement>;
|
||||
}
|
||||
export interface ddeSVGLineElement extends SVGLineElement {
|
||||
append: ddeAppend<ddeSVGLineElement>;
|
||||
}
|
||||
export interface ddeSVGLinearGradientElement extends SVGLinearGradientElement {
|
||||
append: ddeAppend<ddeSVGLinearGradientElement>;
|
||||
}
|
||||
export interface ddeSVGMarkerElement extends SVGMarkerElement {
|
||||
append: ddeAppend<ddeSVGMarkerElement>;
|
||||
}
|
||||
export interface ddeSVGMaskElement extends SVGMaskElement {
|
||||
append: ddeAppend<ddeSVGMaskElement>;
|
||||
}
|
||||
export interface ddeSVGMetadataElement extends SVGMetadataElement {
|
||||
append: ddeAppend<ddeSVGMetadataElement>;
|
||||
}
|
||||
export interface ddeSVGMPathElement extends SVGMPathElement {
|
||||
append: ddeAppend<ddeSVGMPathElement>;
|
||||
}
|
||||
export interface ddeSVGPathElement extends SVGPathElement {
|
||||
append: ddeAppend<ddeSVGPathElement>;
|
||||
}
|
||||
export interface ddeSVGPatternElement extends SVGPatternElement {
|
||||
append: ddeAppend<ddeSVGPatternElement>;
|
||||
}
|
||||
export interface ddeSVGPolygonElement extends SVGPolygonElement {
|
||||
append: ddeAppend<ddeSVGPolygonElement>;
|
||||
}
|
||||
export interface ddeSVGPolylineElement extends SVGPolylineElement {
|
||||
append: ddeAppend<ddeSVGPolylineElement>;
|
||||
}
|
||||
export interface ddeSVGRadialGradientElement extends SVGRadialGradientElement {
|
||||
append: ddeAppend<ddeSVGRadialGradientElement>;
|
||||
}
|
||||
export interface ddeSVGRectElement extends SVGRectElement {
|
||||
append: ddeAppend<ddeSVGRectElement>;
|
||||
}
|
||||
export interface ddeSVGScriptElement extends SVGScriptElement {
|
||||
append: ddeAppend<ddeSVGScriptElement>;
|
||||
}
|
||||
export interface ddeSVGSetElement extends SVGSetElement {
|
||||
append: ddeAppend<ddeSVGSetElement>;
|
||||
}
|
||||
export interface ddeSVGStopElement extends SVGStopElement {
|
||||
append: ddeAppend<ddeSVGStopElement>;
|
||||
}
|
||||
export interface ddeSVGStyleElement extends SVGStyleElement {
|
||||
append: ddeAppend<ddeSVGStyleElement>;
|
||||
}
|
||||
export interface ddeSVGSVGElement extends SVGSVGElement {
|
||||
append: ddeAppend<ddeSVGSVGElement>;
|
||||
}
|
||||
export interface ddeSVGSwitchElement extends SVGSwitchElement {
|
||||
append: ddeAppend<ddeSVGSwitchElement>;
|
||||
}
|
||||
export interface ddeSVGSymbolElement extends SVGSymbolElement {
|
||||
append: ddeAppend<ddeSVGSymbolElement>;
|
||||
}
|
||||
export interface ddeSVGTextElement extends SVGTextElement {
|
||||
append: ddeAppend<ddeSVGTextElement>;
|
||||
}
|
||||
export interface ddeSVGTextPathElement extends SVGTextPathElement {
|
||||
append: ddeAppend<ddeSVGTextPathElement>;
|
||||
}
|
||||
export interface ddeSVGTitleElement extends SVGTitleElement {
|
||||
append: ddeAppend<ddeSVGTitleElement>;
|
||||
}
|
||||
export interface ddeSVGTSpanElement extends SVGTSpanElement {
|
||||
append: ddeAppend<ddeSVGTSpanElement>;
|
||||
}
|
||||
export interface ddeSVGUseElement extends SVGUseElement {
|
||||
append: ddeAppend<ddeSVGUseElement>;
|
||||
}
|
||||
export interface ddeSVGViewElement extends SVGViewElement {
|
||||
append: ddeAppend<ddeSVGViewElement>;
|
||||
}
|
||||
|
||||
export {
|
||||
dispatchEvent$1 as dispatchEvent,
|
||||
el as createElement,
|
||||
elNS as createElementNS,
|
||||
};
|
||||
|
||||
export {};
|
1
dist/esm.min.js
vendored
Normal file
1
dist/esm.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user