defuss 3.4.0 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/dom-A-Pu8krq.mjs +2524 -0
  2. package/dist/dom-B9wB4EIP.mjs +2460 -0
  3. package/dist/dom-BPxNxFa3.cjs +2578 -0
  4. package/dist/dom-BXmV6U78.cjs +2576 -0
  5. package/dist/dom-Bhu0rrF-.mjs +2501 -0
  6. package/dist/dom-Bj9vnsTv.mjs +2505 -0
  7. package/dist/dom-BqGk3hq-.mjs +2503 -0
  8. package/dist/dom-BzhVVZDv.cjs +2594 -0
  9. package/dist/dom-C3iZtdv5.cjs +2577 -0
  10. package/dist/dom-CFCbo_Ua.mjs +2512 -0
  11. package/dist/dom-CFxrjHzc.cjs +2578 -0
  12. package/dist/dom-CTgrGJ9Y.cjs +2565 -0
  13. package/dist/dom-CX5zLg8V.mjs +2521 -0
  14. package/dist/dom-CdlMr6sT.mjs +2505 -0
  15. package/dist/dom-D8FySxD3.cjs +2585 -0
  16. package/dist/dom-D8PgCQGz.cjs +2574 -0
  17. package/dist/dom-DB94Ex2q.cjs +2533 -0
  18. package/dist/dom-DNL22N3k.mjs +2504 -0
  19. package/dist/dom-DO2wnJM2.mjs +2518 -0
  20. package/dist/dom-Dftc-EIL.mjs +2460 -0
  21. package/dist/dom-Drn9idYX.cjs +2598 -0
  22. package/dist/dom-Dvx2yVfY.cjs +2591 -0
  23. package/dist/dom-K2M0E_1X.mjs +2492 -0
  24. package/dist/dom-fWD6YfZv.cjs +2533 -0
  25. package/dist/index-CDeQTFKH.d.ts +1324 -0
  26. package/dist/index.cjs +905 -2
  27. package/dist/index.d.ts +26 -5
  28. package/dist/index.mjs +906 -3
  29. package/dist/mount-B4QZvcXm.mjs +26 -0
  30. package/dist/mount-BOeNgYt6.cjs +29 -0
  31. package/dist/mount-BTLvg_yc.cjs +29 -0
  32. package/dist/mount-BYIUeYd5.cjs +29 -0
  33. package/dist/mount-BhfG3JR2.mjs +26 -0
  34. package/dist/mount-Bwf1zsu_.cjs +29 -0
  35. package/dist/mount-CBSP2WPJ.cjs +29 -0
  36. package/dist/mount-CFRPh_sW.cjs +29 -0
  37. package/dist/mount-COZliSb8.cjs +29 -0
  38. package/dist/mount-CPxgRm2g.mjs +26 -0
  39. package/dist/mount-CfjlPISn.cjs +29 -0
  40. package/dist/mount-CqFXb-CG.cjs +29 -0
  41. package/dist/mount-D-ZCjE5u.mjs +26 -0
  42. package/dist/mount-DA1GR9QJ.mjs +26 -0
  43. package/dist/mount-DDyiuG0r.mjs +26 -0
  44. package/dist/mount-DFegBldg.mjs +26 -0
  45. package/dist/mount-DNfhKcww.mjs +26 -0
  46. package/dist/mount-DcZ4Nan_.mjs +26 -0
  47. package/dist/mount-Dgqpf8cj.mjs +26 -0
  48. package/dist/mount-DvAC8as-.mjs +26 -0
  49. package/dist/mount-gn0LKJBv.cjs +29 -0
  50. package/dist/mount-i56Anzc3.cjs +29 -0
  51. package/dist/mount-iX-S7xUT.mjs +26 -0
  52. package/dist/mount-n8GNKddq.cjs +29 -0
  53. package/dist/render/client.cjs +2 -2
  54. package/dist/render/client.d.ts +2 -2
  55. package/dist/render/client.mjs +3 -3
  56. package/dist/render/dev/index.cjs +1 -1
  57. package/dist/render/dev/index.d.ts +1 -1
  58. package/dist/render/dev/index.mjs +1 -1
  59. package/dist/render/index.cjs +2 -2
  60. package/dist/render/index.d.ts +2 -2
  61. package/dist/render/index.mjs +2 -2
  62. package/dist/render/server.cjs +2 -2
  63. package/dist/render/server.d.ts +2 -2
  64. package/dist/render/server.mjs +3 -3
  65. package/package.json +3 -2
@@ -0,0 +1,1324 @@
1
+ import * as CSS from 'csstype';
2
+
3
+ type MemoryProviderOptions = {};
4
+ interface MemoryStorage<T> extends PersistenceProviderImpl<T> {
5
+ backendApi: Omit<Omit<Storage, "key">, "length">;
6
+ }
7
+ interface WebStorage<T> extends PersistenceProviderImpl<T> {
8
+ backendApi: Storage;
9
+ }
10
+
11
+ type MiddlewareFn<T> = (key: string, value: T) => T;
12
+ /** a simple key/value persistence interface */
13
+ interface PersistenceProviderImpl<T> {
14
+ get: (key: string, defaultValue: T, middlewareFn?: MiddlewareFn<T>) => T;
15
+ set: (key: string, value: T, middlewareFn?: MiddlewareFn<T>) => void;
16
+ remove: (key: string) => void;
17
+ removeAll: () => void;
18
+ backendApi: any;
19
+ }
20
+ type PersistenceProviderType = "session" | "local" | "memory";
21
+ type PersistenceProviderOptions = MemoryProviderOptions;
22
+
23
+ type TransitionType = "fade" | "slide-left" | "slide-right" | "shake" | "none";
24
+ interface TransitionStyles {
25
+ enter: Record<string, string>;
26
+ enterActive: Record<string, string>;
27
+ exit: Record<string, string>;
28
+ exitActive: Record<string, string>;
29
+ }
30
+ type TransitionsEasing = "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out" | "step-start" | "step-end";
31
+ interface TransitionConfig {
32
+ type?: TransitionType;
33
+ styles?: TransitionStyles;
34
+ duration?: number;
35
+ easing?: TransitionsEasing | string;
36
+ delay?: number;
37
+ target?: "parent" | "self";
38
+ }
39
+ declare const getTransitionStyles: (type: TransitionType, duration: number, easing?: string) => TransitionStyles;
40
+ declare const applyStyles: (el: HTMLElement, styles: Record<string, string | number>) => void;
41
+ declare const DEFAULT_TRANSITION_CONFIG: TransitionConfig;
42
+ declare const performTransition: (element: HTMLElement, updateCallback: () => Promise<void>, config?: TransitionConfig) => Promise<void>;
43
+
44
+ type FormFieldValue = string | boolean;
45
+ interface FormKeyValues {
46
+ [keyOrPath: string]: FormFieldValue | FormFieldValue[];
47
+ }
48
+ type AnyEventHandler = (ev: Event) => any;
49
+ type TargetOf<NT> = Extract<NT, EventTarget>;
50
+ type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
51
+ type EventMapFor<T> = T extends Window ? WindowEventMap : T extends Document ? DocumentEventMap : T extends SVGElement ? SVGElementEventMap : T extends HTMLElement ? HTMLElementEventMap : T extends Element ? ElementEventMap : Record<string, Event>;
52
+ type EventMapForAny<T> = UnionToIntersection<EventMapFor<T>>;
53
+ interface Dimensions {
54
+ width: number;
55
+ height: number;
56
+ outerWidth?: number;
57
+ outerHeight?: number;
58
+ }
59
+ interface Position {
60
+ top: number;
61
+ left: number;
62
+ }
63
+ type DOMPropValue = string | number | boolean | null;
64
+ declare global {
65
+ interface HTMLElement {
66
+ _dequeryEvents?: Map<string, Set<EventListener>>;
67
+ }
68
+ }
69
+ interface DequeryOptions<NT = DequerySyncMethodReturnType> {
70
+ /** @deprecated No longer used - kept for backward compatibility */
71
+ timeout?: number;
72
+ resultStack?: NT[];
73
+ globals?: Partial<Globals>;
74
+ }
75
+ type ElementCreationOptions = JSX.HTMLAttributesLowerCase & JSX.HTMLAttributesLowerCase & {
76
+ html?: string;
77
+ text?: string;
78
+ };
79
+ type DequerySyncMethodReturnType = NodeType;
80
+
81
+ declare const emptyImpl: <T>(nodes: Array<T>) => T[];
82
+ declare function scrollHelper<T = NodeType>(methodName: "scrollTo" | "scrollBy", elements: T[], xOrOptions: number | ScrollToOptions, y?: number): T[];
83
+ declare function getAllFormValues(chain: {
84
+ nodes: NodeType[];
85
+ }): FormKeyValues;
86
+ declare class CallChainImpl<NT = DequerySyncMethodReturnType, ET extends Dequery<NT> = Dequery<NT>> {
87
+ [index: number]: NT;
88
+ options: DequeryOptions<NT>;
89
+ elementCreationOptions: ElementCreationOptions;
90
+ _nodes: NT[];
91
+ length: number;
92
+ document: Document;
93
+ window: Window;
94
+ performance: Performance;
95
+ Parser: typeof DOMParser;
96
+ private static resultCache;
97
+ constructor(options?: DequeryOptions<NT>);
98
+ get globals(): Globals;
99
+ get nodes(): NodeType[];
100
+ [Symbol.iterator](): IterableIterator<NT>;
101
+ query(selector: string): ET;
102
+ find(selector: string): ET;
103
+ ref<T extends NodeType, ST = any>(ref: Ref<T, ST>): ET;
104
+ parent(): ET;
105
+ children(): ET;
106
+ next(): ET;
107
+ prev(): ET;
108
+ closest(selector: string): ET;
109
+ first(): ET;
110
+ last(): ET;
111
+ filter(selector: string): ET;
112
+ private _traverse;
113
+ getFirstElement(): NT;
114
+ toArray(): NT[];
115
+ map<T>(cb: (el: NT, idx: number) => T): T[];
116
+ attr(name: string, value: string): ET;
117
+ attr(name: string): string | null;
118
+ prop<K extends keyof NonNullable<NT>>(name: K, value: NonNullable<NT>[K]): ET;
119
+ prop<K extends keyof NonNullable<NT>>(name: K): NonNullable<NT>[K];
120
+ prop<K extends keyof AllHTMLElements>(name: K, value: any): ET;
121
+ prop<K extends keyof AllHTMLElements>(name: K): any;
122
+ prop(name: string, value: any): ET;
123
+ prop(name: string): any;
124
+ css(prop: CSSProperties): ET;
125
+ css(prop: string, value: string): ET;
126
+ css(prop: string): string;
127
+ addClass(name: string | Array<string>): ET;
128
+ removeClass(name: string | Array<string>): ET;
129
+ hasClass(name: string): boolean;
130
+ toggleClass(name: string): ET;
131
+ animateClass(name: string, duration: number): ET;
132
+ empty(): ET;
133
+ html(): string;
134
+ html(html: string): ET;
135
+ jsx(vdom: RenderInput): ET;
136
+ render(vdom: RenderInput): ET;
137
+ text(): string;
138
+ text(text: string): ET;
139
+ remove(): ET;
140
+ replaceWith(content: string | RenderInput | NodeType | Ref<NodeType, any> | CallChainImpl<NT, ET>): ET;
141
+ append<T = NT>(content: string | RenderInput | NodeType | Ref<NodeType, any> | CallChainImpl<T>): ET;
142
+ appendTo<T = NT>(target: string | NodeType | Ref<any, NodeType> | CallChainImpl<T>): ET;
143
+ /**
144
+ * Updates the DOM content of elements. For transitions, uses fire-and-forget async.
145
+ * Use .jsx() or .render() for simpler JSX rendering.
146
+ */
147
+ update(input?: string | RenderInput | Ref<NodeType, any> | NodeType | CallChainImpl<NT> | Record<string, unknown>, transitionConfig?: TransitionConfig): ET;
148
+ on<K extends keyof EventMapFor<TargetOf<NT>>>(event: K, handler: (ev: EventMapFor<TargetOf<NT>>[K]) => any, options?: boolean | AddEventListenerOptions): ET;
149
+ on(event: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): ET;
150
+ off<K extends keyof EventMapFor<TargetOf<NT>>>(event: K, handler?: (ev: EventMapFor<TargetOf<NT>>[K]) => any, options?: boolean | AddEventListenerOptions): ET;
151
+ off(event: string, handler?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): ET;
152
+ clearEvents(): ET;
153
+ trigger(eventType: string): ET;
154
+ position(): Position;
155
+ offset(): Position;
156
+ data(name: string, value: string): ET;
157
+ data(name: string): string | undefined;
158
+ val(): string | boolean;
159
+ val(val: string | boolean): ET;
160
+ serialize(format?: "querystring" | "json"): string;
161
+ form<T = FormKeyValues>(): T;
162
+ form(formData: Record<string, string | boolean>): ET;
163
+ dimension(includeMarginOrPadding?: boolean, includePaddingIfMarginTrue?: boolean): Dimensions;
164
+ isVisible(): boolean;
165
+ isHidden(): boolean;
166
+ scrollTo(xOrOptions: number | ScrollToOptions, y?: number): ET;
167
+ scrollBy(xOrOptions: number | ScrollToOptions, y?: number): ET;
168
+ scrollIntoView(options?: boolean | ScrollIntoViewOptions): ET;
169
+ debug(cb: (chain: CallChainImpl<NT, ET>) => void): ET;
170
+ dispose(): void;
171
+ ready(callback?: () => void): ET;
172
+ }
173
+ type Dequery<NT> = CallChainImpl<NT, any>;
174
+ declare function dequery<T extends EventTarget>(selectorRefOrEl: T, options?: DequeryOptions<T> & ElementCreationOptions): Dequery<T>;
175
+ declare function dequery<NT = DequerySyncMethodReturnType, ET extends Dequery<NT> = Dequery<NT>>(selectorRefOrEl: string | NodeType | Ref<NodeType, any> | RenderInput | Function, options?: DequeryOptions<NT> & ElementCreationOptions): ET;
176
+ declare function dequery<T extends NodeType, ST = any>(selectorRefOrEl: Ref<T, ST>, options?: DequeryOptions<T> & ElementCreationOptions): Dequery<T>;
177
+ declare namespace dequery {
178
+ var extend: <TExtendedClass extends new (...args: any[]) => any>(ExtensionClass: TExtendedClass) => <NT = DequerySyncMethodReturnType>(selectorRefOrEl: string | NodeType | Ref<NodeType, any> | RenderInput | Function, options?: DequeryOptions<NT> & ElementCreationOptions) => InstanceType<TExtendedClass>;
179
+ }
180
+ declare const $: typeof dequery & {
181
+ extend: <TExtendedClass extends new (...args: any[]) => any>(ExtensionClass: TExtendedClass) => <NT = DequerySyncMethodReturnType>(selectorRefOrEl: string | NodeType | Ref<NodeType, any> | RenderInput | Function, options?: DequeryOptions<NT> & ElementCreationOptions) => InstanceType<TExtendedClass>;
182
+ };
183
+ declare function isDequery(obj: unknown): obj is CallChainImpl;
184
+ declare function isDequeryOptionsObject(o: object): boolean;
185
+ declare function getDefaultDequeryOptions<NT>(): DequeryOptions<NT>;
186
+
187
+ type Listener<T> = (newValue: T, oldValue?: T, changedKey?: string) => void;
188
+ type EqualsFn<T> = (a: T, b: T) => boolean;
189
+ interface StoreOptions<T> {
190
+ /** Custom equality function. Default: Object.is (shallow identity) */
191
+ equals?: EqualsFn<T>;
192
+ }
193
+ interface Store<T> {
194
+ value: T;
195
+ /** Get value at path, or entire store if no path */
196
+ get: <D = T>(path?: string) => D;
197
+ /** Set value at path, or replace entire store if no path */
198
+ set: <D = T>(pathOrValue: string | D, value?: D) => void;
199
+ /** Get entire store value (clearer API than get()) */
200
+ getRaw: () => T;
201
+ /** Replace entire store value (clearer API than set(value)) */
202
+ setRaw: (value: T) => void;
203
+ /** Reset store to initial value or provided value */
204
+ reset: (value?: T) => void;
205
+ subscribe: (listener: Listener<T>) => () => void;
206
+ persist: (key: string, provider?: PersistenceProviderType) => void;
207
+ restore: (key: string, provider?: PersistenceProviderType) => void;
208
+ }
209
+ /** Shallow identity comparison (opt-in for performance) */
210
+ declare const shallowEquals: <T>(a: T, b: T) => boolean;
211
+ /** Deep equality via JSON (default - backward compatible) */
212
+ declare const deepEquals: <T>(a: T, b: T) => boolean;
213
+ declare const createStore: <T>(initialValue: T, options?: StoreOptions<T>) => Store<T>;
214
+
215
+ declare global {
216
+ var __defuss_document: Document;
217
+ var __defuss_window: Window;
218
+ interface HTMLElement {
219
+ _defussRef?: Ref<Element>;
220
+ }
221
+ }
222
+ type Globals = Performance & Window & typeof globalThis;
223
+ type Maybe<T> = T | null | undefined;
224
+ type OneOrMany<T> = T | readonly T[];
225
+ type NodeType = Node | Text | Element | Document | DocumentFragment | HTMLElement | SVGElement | null;
226
+ type DOMElement = Element | SVGElement;
227
+ type SyncRenderInput = RenderInput;
228
+ type ParentElementInput = Element | Document | Dequery<NodeType> | undefined;
229
+ type SyncRenderResult = Array<Element | Text | undefined> | Element | Text | undefined;
230
+ type ParentElementInputAsync = ParentElementInput | Dequery<NodeType> | Promise<ParentElementInput | Dequery<NodeType>>;
231
+ type JsxRuntimeHookFn = (type: VNodeType | Function | any, attributes: (JSX.HTMLAttributes & JSX.SVGAttributes & Record<string, any>) | null, key?: string, sourceInfo?: JsxSourceInfo) => void;
232
+ interface CSSProperties extends CSS.Properties<string | number> {
233
+ }
234
+ interface FontFaceProperties {
235
+ MozFontFeatureSettings?: CSS.Property.FontFeatureSettings;
236
+ fontDisplay?: "auto" | "block" | "fallback" | "optional" | "swap" | (string & {});
237
+ fontFamily?: CSS.Property.FontFamily;
238
+ fontFeatureSettings?: CSS.Property.FontFeatureSettings;
239
+ fontStretch?: CSS.Property.FontStretch;
240
+ fontStyle?: CSS.Property.FontStyle;
241
+ fontVariant?: CSS.Property.FontVariant;
242
+ fontVariationSettings?: CSS.Property.FontVariationSettings;
243
+ fontWeight?: CSS.Property.FontWeight;
244
+ src?: string;
245
+ unicodeRange?: string;
246
+ }
247
+ interface KeyFrameProperties {
248
+ from?: Partial<CSSProperties>;
249
+ to?: Partial<CSSProperties>;
250
+ [k: Percent]: Partial<CSSProperties> | undefined;
251
+ }
252
+ type MountHandler<T extends DOMElement = DOMElement> = (element: T) => void;
253
+ type UnmountHandler<T extends DOMElement = DOMElement> = (element: T) => void;
254
+ type RefUpdateRenderFnInput = string | RenderInput | NodeType | Dequery<NodeType>;
255
+ type RefUpdateFn<ST> = (state: ST) => void;
256
+ type RefUpdateRenderFn = (input: RefUpdateRenderFnInput) => Promise<CallChainImpl<NodeType>>;
257
+ interface Ref<NT = null | Node | Element | Text, ST = any> {
258
+ orphan?: boolean;
259
+ current: NT;
260
+ store?: Store<ST>;
261
+ state?: ST;
262
+ /** @deprecated use render() instead */
263
+ update: RefUpdateRenderFn;
264
+ render: RefUpdateRenderFn;
265
+ updateState: RefUpdateFn<ST>;
266
+ subscribe: (refUpdateFn: RefUpdateFn<ST>) => () => void;
267
+ persist: (key: string, provider?: PersistenceProviderType) => void;
268
+ restore: (key: string, provider?: PersistenceProviderType) => void;
269
+ }
270
+ type DefussKey = string | number;
271
+ interface VAttributes<T extends DOMElement = DOMElement, ST = any> {
272
+ ref?: Ref<T, ST>;
273
+ key?: DefussKey;
274
+ onMount?: MountHandler<T>;
275
+ onUnmount?: UnmountHandler<T>;
276
+ }
277
+ interface VNodeAttributes extends VAttributes {
278
+ [attributeName: string]: any;
279
+ key?: DefussKey;
280
+ }
281
+ interface JsxSourceInfo {
282
+ fileName: string;
283
+ lineNumber: number;
284
+ columnNumber: number;
285
+ exportName?: string;
286
+ allChildrenAreStatic?: boolean;
287
+ selfReference?: boolean;
288
+ }
289
+ interface VNode<A = VNodeAttributes> {
290
+ type?: VNodeType;
291
+ attributes?: A;
292
+ children?: VNodeChildren;
293
+ sourceInfo?: JsxSourceInfo;
294
+ /** Original props passed to a function component (set by jsx runtime for SSG hydration). */
295
+ componentProps?: Record<string, any>;
296
+ }
297
+ type VNodeType = string | Function | any;
298
+ type VNodeKey = string | number | any;
299
+ type VNodeRefObject<T> = {
300
+ current?: T | null;
301
+ };
302
+ type VNodeRefCallback<T> = (instance: T | null) => void;
303
+ type VNodeRef<T> = VNodeRefObject<T> | VNodeRefCallback<T>;
304
+ type VNodeChild = VNode<any> | object | string | number | boolean | null | undefined;
305
+ type VNodeChildren = VNodeChild[];
306
+ type Children = VNodeChildren;
307
+ interface DomAbstractionImpl {
308
+ hasElNamespace(domElement: Element): boolean;
309
+ hasSvgNamespace(parentElement: Element, type: string): boolean;
310
+ createElementOrElements(virtualNode: RenderInput, parentDomElement?: Element | Document): Array<Element | Text | undefined> | Element | Text | undefined;
311
+ createElement(virtualNode: RenderInput, parentDomElement?: Element | Document): Element | undefined;
312
+ createTextNode(text: string, parentDomElement?: Element | Document): Text;
313
+ createChildElements(virtualChildren: VNodeChildren, parentDomElement?: Element): Array<Element | Text | undefined>;
314
+ setAttribute(name: string, value: any, parentDomElement: Element, attributes: VNodeAttributes): void;
315
+ setAttributes(attributes: VNode<VNodeAttributes>, parentDomElement: Element): void;
316
+ }
317
+ declare global {
318
+ namespace JSX {
319
+ interface ElementAttributesProperty {
320
+ attrs: {};
321
+ }
322
+ interface SVGAttributes<T extends DOMElement = DOMElement> extends HTMLAttributes<T> {
323
+ accentHeight?: number | string;
324
+ accumulate?: "none" | "sum";
325
+ additive?: "replace" | "sum";
326
+ alignmentBaseline?: "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit";
327
+ allowReorder?: "no" | "yes";
328
+ alphabetic?: number | string;
329
+ amplitude?: number | string;
330
+ arabicForm?: "initial" | "medial" | "terminal" | "isolated";
331
+ ascent?: number | string;
332
+ attributeName?: string;
333
+ attributeType?: string;
334
+ autoReverse?: number | string;
335
+ azimuth?: number | string;
336
+ baseFrequency?: number | string;
337
+ baselineShift?: number | string;
338
+ baseProfile?: number | string;
339
+ bbox?: number | string;
340
+ begin?: number | string;
341
+ bias?: number | string;
342
+ by?: number | string;
343
+ calcMode?: number | string;
344
+ capHeight?: number | string;
345
+ clip?: number | string;
346
+ clipPath?: string;
347
+ clipPathUnits?: number | string;
348
+ clipRule?: number | string;
349
+ colorInterpolation?: number | string;
350
+ colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit";
351
+ colorProfile?: number | string;
352
+ colorRendering?: number | string;
353
+ contentScriptType?: number | string;
354
+ contentStyleType?: number | string;
355
+ cursor?: number | string;
356
+ cx?: number | string;
357
+ cy?: number | string;
358
+ d?: string;
359
+ decelerate?: number | string;
360
+ descent?: number | string;
361
+ diffuseConstant?: number | string;
362
+ direction?: number | string;
363
+ display?: number | string;
364
+ divisor?: number | string;
365
+ dominantBaseline?: number | string;
366
+ dur?: number | string;
367
+ dx?: number | string;
368
+ dy?: number | string;
369
+ edgeMode?: number | string;
370
+ elevation?: number | string;
371
+ enableBackground?: number | string;
372
+ end?: number | string;
373
+ exponent?: number | string;
374
+ externalResourcesRequired?: number | string;
375
+ fill?: string;
376
+ fillOpacity?: number | string;
377
+ fillRule?: "nonzero" | "evenodd" | "inherit";
378
+ filter?: string;
379
+ filterRes?: number | string;
380
+ filterUnits?: number | string;
381
+ floodColor?: number | string;
382
+ floodOpacity?: number | string;
383
+ focusable?: number | string;
384
+ fontFamily?: string;
385
+ fontSize?: number | string;
386
+ fontSizeAdjust?: number | string;
387
+ fontStretch?: number | string;
388
+ fontStyle?: number | string;
389
+ fontVariant?: number | string;
390
+ fontWeight?: number | string;
391
+ format?: number | string;
392
+ from?: number | string;
393
+ fx?: number | string;
394
+ fy?: number | string;
395
+ g1?: number | string;
396
+ g2?: number | string;
397
+ glyphName?: number | string;
398
+ glyphOrientationHorizontal?: number | string;
399
+ glyphOrientationVertical?: number | string;
400
+ glyphRef?: number | string;
401
+ gradientTransform?: string;
402
+ gradientUnits?: string;
403
+ hanging?: number | string;
404
+ horizAdvX?: number | string;
405
+ horizOriginX?: number | string;
406
+ ideographic?: number | string;
407
+ imageRendering?: number | string;
408
+ in2?: number | string;
409
+ in?: string;
410
+ intercept?: number | string;
411
+ k1?: number | string;
412
+ k2?: number | string;
413
+ k3?: number | string;
414
+ k4?: number | string;
415
+ k?: number | string;
416
+ kernelMatrix?: number | string;
417
+ kernelUnitLength?: number | string;
418
+ kerning?: number | string;
419
+ keyPoints?: number | string;
420
+ keySplines?: number | string;
421
+ keyTimes?: number | string;
422
+ lengthAdjust?: number | string;
423
+ letterSpacing?: number | string;
424
+ lightingColor?: number | string;
425
+ limitingConeAngle?: number | string;
426
+ local?: number | string;
427
+ markerEnd?: string;
428
+ markerHeight?: number | string;
429
+ markerMid?: string;
430
+ markerStart?: string;
431
+ markerUnits?: number | string;
432
+ markerWidth?: number | string;
433
+ mask?: string;
434
+ maskContentUnits?: number | string;
435
+ maskUnits?: number | string;
436
+ mathematical?: number | string;
437
+ mode?: number | string;
438
+ numOctaves?: number | string;
439
+ offset?: number | string;
440
+ opacity?: number | string;
441
+ operator?: number | string;
442
+ order?: number | string;
443
+ orient?: number | string;
444
+ orientation?: number | string;
445
+ origin?: number | string;
446
+ overflow?: number | string;
447
+ overlinePosition?: number | string;
448
+ overlineThickness?: number | string;
449
+ paintOrder?: number | string;
450
+ panose1?: number | string;
451
+ pathLength?: number | string;
452
+ patternContentUnits?: string;
453
+ patternTransform?: number | string;
454
+ patternUnits?: string;
455
+ pointerEvents?: number | string;
456
+ points?: string;
457
+ pointsAtX?: number | string;
458
+ pointsAtY?: number | string;
459
+ pointsAtZ?: number | string;
460
+ preserveAlpha?: number | string;
461
+ preserveAspectRatio?: string;
462
+ primitiveUnits?: number | string;
463
+ r?: number | string;
464
+ radius?: number | string;
465
+ refX?: number | string;
466
+ refY?: number | string;
467
+ renderingIntent?: number | string;
468
+ repeatCount?: number | string;
469
+ repeatDur?: number | string;
470
+ requiredExtensions?: number | string;
471
+ requiredFeatures?: number | string;
472
+ restart?: number | string;
473
+ result?: string;
474
+ rotate?: number | string;
475
+ rx?: number | string;
476
+ ry?: number | string;
477
+ scale?: number | string;
478
+ seed?: number | string;
479
+ shapeRendering?: number | string;
480
+ slope?: number | string;
481
+ spacing?: number | string;
482
+ specularConstant?: number | string;
483
+ specularExponent?: number | string;
484
+ speed?: number | string;
485
+ spreadMethod?: string;
486
+ startOffset?: number | string;
487
+ stdDeviation?: number | string;
488
+ stemh?: number | string;
489
+ stemv?: number | string;
490
+ stitchTiles?: number | string;
491
+ stopColor?: string;
492
+ stopOpacity?: number | string;
493
+ strikethroughPosition?: number | string;
494
+ strikethroughThickness?: number | string;
495
+ string?: number | string;
496
+ stroke?: string;
497
+ strokeDasharray?: string | number;
498
+ strokeDashoffset?: string | number;
499
+ strokeLinecap?: "butt" | "round" | "square" | "inherit";
500
+ strokeLinejoin?: "miter" | "round" | "bevel" | "inherit";
501
+ strokeMiterlimit?: string;
502
+ strokeOpacity?: number | string;
503
+ strokeWidth?: number | string;
504
+ surfaceScale?: number | string;
505
+ systemLanguage?: number | string;
506
+ tableValues?: number | string;
507
+ targetX?: number | string;
508
+ targetY?: number | string;
509
+ textAnchor?: string;
510
+ textDecoration?: number | string;
511
+ textLength?: number | string;
512
+ textRendering?: number | string;
513
+ to?: number | string;
514
+ transform?: string;
515
+ u1?: number | string;
516
+ u2?: number | string;
517
+ underlinePosition?: number | string;
518
+ underlineThickness?: number | string;
519
+ unicode?: number | string;
520
+ unicodeBidi?: number | string;
521
+ unicodeRange?: number | string;
522
+ unitsPerEm?: number | string;
523
+ vAlphabetic?: number | string;
524
+ values?: string;
525
+ vectorEffect?: number | string;
526
+ version?: string;
527
+ vertAdvY?: number | string;
528
+ vertOriginX?: number | string;
529
+ vertOriginY?: number | string;
530
+ vHanging?: number | string;
531
+ vIdeographic?: number | string;
532
+ viewBox?: string;
533
+ viewTarget?: number | string;
534
+ visibility?: number | string;
535
+ vMathematical?: number | string;
536
+ widths?: number | string;
537
+ wordSpacing?: number | string;
538
+ writingMode?: number | string;
539
+ x1?: number | string;
540
+ x2?: number | string;
541
+ x?: number | string;
542
+ xChannelSelector?: string;
543
+ xHeight?: number | string;
544
+ xlinkActuate?: string;
545
+ xlinkArcrole?: string;
546
+ xlinkHref?: string;
547
+ xlinkRole?: string;
548
+ xlinkShow?: string;
549
+ xlinkTitle?: string;
550
+ xlinkType?: string;
551
+ xmlBase?: string;
552
+ xmlLang?: string;
553
+ xmlns?: string;
554
+ xmlnsXlink?: string;
555
+ xmlSpace?: string;
556
+ y1?: number | string;
557
+ y2?: number | string;
558
+ y?: number | string;
559
+ yChannelSelector?: string;
560
+ z?: number | string;
561
+ zoomAndPan?: string;
562
+ }
563
+ interface PathAttributes {
564
+ d: string;
565
+ }
566
+ type EventHandler<E extends Event> = (event: E) => void;
567
+ type ClipboardEventHandler = EventHandler<ClipboardEvent>;
568
+ type CompositionEventHandler = EventHandler<CompositionEvent>;
569
+ type DragEventHandler = EventHandler<DragEvent>;
570
+ type FocusEventHandler = EventHandler<FocusEvent>;
571
+ type KeyboardEventHandler = EventHandler<KeyboardEvent>;
572
+ type MouseEventHandler = EventHandler<MouseEvent>;
573
+ type TouchEventHandler = EventHandler<TouchEvent>;
574
+ type UIEventHandler = EventHandler<UIEvent>;
575
+ type WheelEventHandler = EventHandler<WheelEvent>;
576
+ type AnimationEventHandler = EventHandler<AnimationEvent>;
577
+ type TransitionEventHandler = EventHandler<TransitionEvent>;
578
+ type ProgressEventHandler = EventHandler<ProgressEvent>;
579
+ type GenericEventHandler = EventHandler<Event>;
580
+ type PointerEventHandler = EventHandler<PointerEvent>;
581
+ interface DOMAttributeEventHandlersLowerCase<T extends DOMElement = DOMElement> {
582
+ onload?: GenericEventHandler;
583
+ onloadcapture?: GenericEventHandler;
584
+ onerror?: GenericEventHandler;
585
+ onerrorcapture?: GenericEventHandler;
586
+ oncopy?: ClipboardEventHandler;
587
+ oncopycapture?: ClipboardEventHandler;
588
+ oncut?: ClipboardEventHandler;
589
+ oncutcapture?: ClipboardEventHandler;
590
+ onpaste?: ClipboardEventHandler;
591
+ onpastecapture?: ClipboardEventHandler;
592
+ oncompositionend?: CompositionEventHandler;
593
+ oncompositionendcapture?: CompositionEventHandler;
594
+ oncompositionstart?: CompositionEventHandler;
595
+ oncompositionstartcapture?: CompositionEventHandler;
596
+ oncompositionupdate?: CompositionEventHandler;
597
+ oncompositionupdatecapture?: CompositionEventHandler;
598
+ onfocus?: FocusEventHandler;
599
+ onfocuscapture?: FocusEventHandler;
600
+ onblur?: FocusEventHandler;
601
+ onblurcapture?: FocusEventHandler;
602
+ onchange?: GenericEventHandler;
603
+ onchangecapture?: GenericEventHandler;
604
+ oninput?: GenericEventHandler;
605
+ oninputcapture?: GenericEventHandler;
606
+ onsearch?: GenericEventHandler;
607
+ onsearchcapture?: GenericEventHandler;
608
+ onsubmit?: GenericEventHandler;
609
+ onsubmitcapture?: GenericEventHandler;
610
+ oninvalid?: GenericEventHandler;
611
+ oninvalidcapture?: GenericEventHandler;
612
+ onkeydown?: KeyboardEventHandler;
613
+ onkeydowncapture?: KeyboardEventHandler;
614
+ onkeypress?: KeyboardEventHandler;
615
+ onkeypresscapture?: KeyboardEventHandler;
616
+ onkeyup?: KeyboardEventHandler;
617
+ onkeyupcapture?: KeyboardEventHandler;
618
+ onabort?: GenericEventHandler;
619
+ onabortcapture?: GenericEventHandler;
620
+ oncanplay?: GenericEventHandler;
621
+ oncanplaycapture?: GenericEventHandler;
622
+ oncanplaythrough?: GenericEventHandler;
623
+ oncanplaythroughcapture?: GenericEventHandler;
624
+ ondurationchange?: GenericEventHandler;
625
+ ondurationchangecapture?: GenericEventHandler;
626
+ onemptied?: GenericEventHandler;
627
+ onemptiedcapture?: GenericEventHandler;
628
+ onencrypted?: GenericEventHandler;
629
+ onencryptedcapture?: GenericEventHandler;
630
+ onended?: GenericEventHandler;
631
+ onendedcapture?: GenericEventHandler;
632
+ onloadeddata?: GenericEventHandler;
633
+ onloadeddatacapture?: GenericEventHandler;
634
+ onloadedmetadata?: GenericEventHandler;
635
+ onloadedmetadatacapture?: GenericEventHandler;
636
+ onloadstart?: GenericEventHandler;
637
+ onloadstartcapture?: GenericEventHandler;
638
+ onpause?: GenericEventHandler;
639
+ onpausecapture?: GenericEventHandler;
640
+ onplay?: GenericEventHandler;
641
+ onplaycapture?: GenericEventHandler;
642
+ onplaying?: GenericEventHandler;
643
+ onplayingcapture?: GenericEventHandler;
644
+ onprogress?: ProgressEventHandler;
645
+ onprogresscapture?: ProgressEventHandler;
646
+ onratechange?: GenericEventHandler;
647
+ onratechangecapture?: GenericEventHandler;
648
+ onseeked?: GenericEventHandler;
649
+ onseekedcapture?: GenericEventHandler;
650
+ onseeking?: GenericEventHandler;
651
+ onseekingcapture?: GenericEventHandler;
652
+ onstalled?: GenericEventHandler;
653
+ onstalledcapture?: GenericEventHandler;
654
+ onsuspend?: GenericEventHandler;
655
+ onsuspendcapture?: GenericEventHandler;
656
+ ontimeupdate?: GenericEventHandler;
657
+ ontimeupdatecapture?: GenericEventHandler;
658
+ onvolumechange?: GenericEventHandler;
659
+ onvolumechangecapture?: GenericEventHandler;
660
+ onwaiting?: GenericEventHandler;
661
+ onwaitingcapture?: GenericEventHandler;
662
+ onclick?: MouseEventHandler;
663
+ onclickcapture?: MouseEventHandler;
664
+ oncontextmenu?: MouseEventHandler;
665
+ oncontextmenucapture?: MouseEventHandler;
666
+ ondblclick?: MouseEventHandler;
667
+ ondblclickcapture?: MouseEventHandler;
668
+ ondrag?: DragEventHandler;
669
+ ondragcapture?: DragEventHandler;
670
+ ondragend?: DragEventHandler;
671
+ ondragendcapture?: DragEventHandler;
672
+ ondragenter?: DragEventHandler;
673
+ ondragentercapture?: DragEventHandler;
674
+ ondragexit?: DragEventHandler;
675
+ ondragexitcapture?: DragEventHandler;
676
+ ondragleave?: DragEventHandler;
677
+ ondragleavecapture?: DragEventHandler;
678
+ ondragover?: DragEventHandler;
679
+ ondragovercapture?: DragEventHandler;
680
+ ondragstart?: DragEventHandler;
681
+ ondragstartcapture?: DragEventHandler;
682
+ ondrop?: DragEventHandler;
683
+ ondropcapture?: DragEventHandler;
684
+ onmousedown?: MouseEventHandler;
685
+ onmousedowncapture?: MouseEventHandler;
686
+ onmouseenter?: MouseEventHandler;
687
+ onmouseentercapture?: MouseEventHandler;
688
+ onmouseleave?: MouseEventHandler;
689
+ onmouseleavecapture?: MouseEventHandler;
690
+ onmousemove?: MouseEventHandler;
691
+ onmousemovecapture?: MouseEventHandler;
692
+ onmouseout?: MouseEventHandler;
693
+ onmouseoutcapture?: MouseEventHandler;
694
+ onmouseover?: MouseEventHandler;
695
+ onmouseovercapture?: MouseEventHandler;
696
+ onmouseup?: MouseEventHandler;
697
+ onmouseupcapture?: MouseEventHandler;
698
+ onselect?: GenericEventHandler;
699
+ onselectcapture?: GenericEventHandler;
700
+ ontouchcancel?: TouchEventHandler;
701
+ ontouchcancelcapture?: TouchEventHandler;
702
+ ontouchend?: TouchEventHandler;
703
+ ontouchendcapture?: TouchEventHandler;
704
+ ontouchmove?: TouchEventHandler;
705
+ ontouchmovecapture?: TouchEventHandler;
706
+ ontouchstart?: TouchEventHandler;
707
+ ontouchstartcapture?: TouchEventHandler;
708
+ onpointerover?: PointerEventHandler;
709
+ onpointerovercapture?: PointerEventHandler;
710
+ onpointerenter?: PointerEventHandler;
711
+ onpointerentercapture?: PointerEventHandler;
712
+ onpointerdown?: PointerEventHandler;
713
+ onpointerdowncapture?: PointerEventHandler;
714
+ onpointermove?: PointerEventHandler;
715
+ onpointermovecapture?: PointerEventHandler;
716
+ onpointerup?: PointerEventHandler;
717
+ onpointerupcapture?: PointerEventHandler;
718
+ onpointercancel?: PointerEventHandler;
719
+ onpointercancelcapture?: PointerEventHandler;
720
+ onpointerout?: PointerEventHandler;
721
+ onpointeroutcapture?: PointerEventHandler;
722
+ onpointerleave?: PointerEventHandler;
723
+ onpointerleavecapture?: PointerEventHandler;
724
+ ongotpointercapture?: PointerEventHandler;
725
+ ongotpointercapturecapture?: PointerEventHandler;
726
+ onlostpointercapture?: PointerEventHandler;
727
+ onlostpointercapturecapture?: PointerEventHandler;
728
+ onscroll?: UIEventHandler;
729
+ onscrollcapture?: UIEventHandler;
730
+ onwheel?: WheelEventHandler;
731
+ onwheelcapture?: WheelEventHandler;
732
+ onanimationstart?: AnimationEventHandler;
733
+ onanimationstartcapture?: AnimationEventHandler;
734
+ onanimationend?: AnimationEventHandler;
735
+ onanimationendcapture?: AnimationEventHandler;
736
+ onanimationiteration?: AnimationEventHandler;
737
+ onanimationiterationcapture?: AnimationEventHandler;
738
+ ontransitionend?: TransitionEventHandler;
739
+ ontransitionendcapture?: TransitionEventHandler;
740
+ }
741
+ interface DOMAttributes<T extends DOMElement = DOMElement> extends VAttributes<T>, DOMAttributeEventHandlersLowerCase<T> {
742
+ onMount?: MountHandler<T>;
743
+ onUnmount?: UnmountHandler<T>;
744
+ onLoad?: GenericEventHandler;
745
+ onLoadCapture?: GenericEventHandler;
746
+ onError?: GenericEventHandler;
747
+ onErrorCapture?: GenericEventHandler;
748
+ onCopy?: ClipboardEventHandler;
749
+ onCopyCapture?: ClipboardEventHandler;
750
+ onCut?: ClipboardEventHandler;
751
+ onCutCapture?: ClipboardEventHandler;
752
+ onPaste?: ClipboardEventHandler;
753
+ onPasteCapture?: ClipboardEventHandler;
754
+ onCompositionEnd?: CompositionEventHandler;
755
+ onCompositionEndCapture?: CompositionEventHandler;
756
+ onCompositionStart?: CompositionEventHandler;
757
+ onCompositionStartCapture?: CompositionEventHandler;
758
+ onCompositionUpdate?: CompositionEventHandler;
759
+ onCompositionUpdateCapture?: CompositionEventHandler;
760
+ onFocus?: FocusEventHandler;
761
+ onFocusCapture?: FocusEventHandler;
762
+ onBlur?: FocusEventHandler;
763
+ onBlurCapture?: FocusEventHandler;
764
+ onChange?: GenericEventHandler;
765
+ onChangeCapture?: GenericEventHandler;
766
+ onInput?: GenericEventHandler;
767
+ onInputCapture?: GenericEventHandler;
768
+ onSearch?: GenericEventHandler;
769
+ onSearchCapture?: GenericEventHandler;
770
+ onSubmit?: GenericEventHandler;
771
+ onSubmitCapture?: GenericEventHandler;
772
+ onInvalid?: GenericEventHandler;
773
+ onInvalidCapture?: GenericEventHandler;
774
+ onKeyDown?: KeyboardEventHandler;
775
+ onKeyDownCapture?: KeyboardEventHandler;
776
+ onKeyPress?: KeyboardEventHandler;
777
+ onKeyPressCapture?: KeyboardEventHandler;
778
+ onKeyUp?: KeyboardEventHandler;
779
+ onKeyUpCapture?: KeyboardEventHandler;
780
+ onAbort?: GenericEventHandler;
781
+ onAbortCapture?: GenericEventHandler;
782
+ onCanPlay?: GenericEventHandler;
783
+ onCanPlayCapture?: GenericEventHandler;
784
+ onCanPlayThrough?: GenericEventHandler;
785
+ onCanPlayThroughCapture?: GenericEventHandler;
786
+ onDurationChange?: GenericEventHandler;
787
+ onDurationChangeCapture?: GenericEventHandler;
788
+ onEmptied?: GenericEventHandler;
789
+ onEmptiedCapture?: GenericEventHandler;
790
+ onEncrypted?: GenericEventHandler;
791
+ onEncryptedCapture?: GenericEventHandler;
792
+ onEnded?: GenericEventHandler;
793
+ onEndedCapture?: GenericEventHandler;
794
+ onLoadedData?: GenericEventHandler;
795
+ onLoadedDataCapture?: GenericEventHandler;
796
+ onLoadedMetadata?: GenericEventHandler;
797
+ onLoadedMetadataCapture?: GenericEventHandler;
798
+ onLoadStart?: GenericEventHandler;
799
+ onLoadStartCapture?: GenericEventHandler;
800
+ onPause?: GenericEventHandler;
801
+ onPauseCapture?: GenericEventHandler;
802
+ onPlay?: GenericEventHandler;
803
+ onPlayCapture?: GenericEventHandler;
804
+ onPlaying?: GenericEventHandler;
805
+ onPlayingCapture?: GenericEventHandler;
806
+ onProgress?: GenericEventHandler;
807
+ onProgressCapture?: GenericEventHandler;
808
+ onRateChange?: GenericEventHandler;
809
+ onRateChangeCapture?: GenericEventHandler;
810
+ onSeeked?: GenericEventHandler;
811
+ onSeekedCapture?: GenericEventHandler;
812
+ onSeeking?: GenericEventHandler;
813
+ onSeekingCapture?: GenericEventHandler;
814
+ onStalled?: GenericEventHandler;
815
+ onStalledCapture?: GenericEventHandler;
816
+ onSuspend?: GenericEventHandler;
817
+ onSuspendCapture?: GenericEventHandler;
818
+ onTimeUpdate?: GenericEventHandler;
819
+ onTimeUpdateCapture?: GenericEventHandler;
820
+ onVolumeChange?: GenericEventHandler;
821
+ onVolumeChangeCapture?: GenericEventHandler;
822
+ onWaiting?: GenericEventHandler;
823
+ onWaitingCapture?: GenericEventHandler;
824
+ onClick?: MouseEventHandler;
825
+ onClickCapture?: MouseEventHandler;
826
+ onContextMenu?: MouseEventHandler;
827
+ onContextMenuCapture?: MouseEventHandler;
828
+ onDblClick?: MouseEventHandler;
829
+ onDblClickCapture?: MouseEventHandler;
830
+ onDrag?: DragEventHandler;
831
+ onDragCapture?: DragEventHandler;
832
+ onDragEnd?: DragEventHandler;
833
+ onDragEndCapture?: DragEventHandler;
834
+ onDragEnter?: DragEventHandler;
835
+ onDragEnterCapture?: DragEventHandler;
836
+ onDragExit?: DragEventHandler;
837
+ onDragExitCapture?: DragEventHandler;
838
+ onDragLeave?: DragEventHandler;
839
+ onDragLeaveCapture?: DragEventHandler;
840
+ onDragOver?: DragEventHandler;
841
+ onDragOverCapture?: DragEventHandler;
842
+ onDragStart?: DragEventHandler;
843
+ onDragStartCapture?: DragEventHandler;
844
+ onDrop?: DragEventHandler;
845
+ onDropCapture?: DragEventHandler;
846
+ onMouseDown?: MouseEventHandler;
847
+ onMouseDownCapture?: MouseEventHandler;
848
+ onMouseEnter?: MouseEventHandler;
849
+ onMouseEnterCapture?: MouseEventHandler;
850
+ onMouseLeave?: MouseEventHandler;
851
+ onMouseLeaveCapture?: MouseEventHandler;
852
+ onMouseMove?: MouseEventHandler;
853
+ onMouseMoveCapture?: MouseEventHandler;
854
+ onMouseOut?: MouseEventHandler;
855
+ onMouseOutCapture?: MouseEventHandler;
856
+ onMouseOver?: MouseEventHandler;
857
+ onMouseOverCapture?: MouseEventHandler;
858
+ onMouseUp?: MouseEventHandler;
859
+ onMouseUpCapture?: MouseEventHandler;
860
+ onSelect?: GenericEventHandler;
861
+ onSelectCapture?: GenericEventHandler;
862
+ onTouchCancel?: TouchEventHandler;
863
+ onTouchCancelCapture?: TouchEventHandler;
864
+ onTouchEnd?: TouchEventHandler;
865
+ onTouchEndCapture?: TouchEventHandler;
866
+ onTouchMove?: TouchEventHandler;
867
+ onTouchMoveCapture?: TouchEventHandler;
868
+ onTouchStart?: TouchEventHandler;
869
+ onTouchStartCapture?: TouchEventHandler;
870
+ onPointerOver?: PointerEventHandler;
871
+ onPointerOverCapture?: PointerEventHandler;
872
+ onPointerEnter?: PointerEventHandler;
873
+ onPointerEnterCapture?: PointerEventHandler;
874
+ onPointerDown?: PointerEventHandler;
875
+ onPointerDownCapture?: PointerEventHandler;
876
+ onPointerMove?: PointerEventHandler;
877
+ onPointerMoveCapture?: PointerEventHandler;
878
+ onPointerUp?: PointerEventHandler;
879
+ onPointerUpCapture?: PointerEventHandler;
880
+ onPointerCancel?: PointerEventHandler;
881
+ onPointerCancelCapture?: PointerEventHandler;
882
+ onPointerOut?: PointerEventHandler;
883
+ onPointerOutCapture?: PointerEventHandler;
884
+ onPointerLeave?: PointerEventHandler;
885
+ onPointerLeaveCapture?: PointerEventHandler;
886
+ onGotPointerCapture?: PointerEventHandler;
887
+ onGotPointerCaptureCapture?: PointerEventHandler;
888
+ onLostPointerCapture?: PointerEventHandler;
889
+ onLostPointerCaptureCapture?: PointerEventHandler;
890
+ onScroll?: UIEventHandler;
891
+ onScrollCapture?: UIEventHandler;
892
+ onWheel?: WheelEventHandler;
893
+ onWheelCapture?: WheelEventHandler;
894
+ onAnimationStart?: AnimationEventHandler;
895
+ onAnimationStartCapture?: AnimationEventHandler;
896
+ onAnimationEnd?: AnimationEventHandler;
897
+ onAnimationEndCapture?: AnimationEventHandler;
898
+ onAnimationIteration?: AnimationEventHandler;
899
+ onAnimationIterationCapture?: AnimationEventHandler;
900
+ onTransitionEnd?: TransitionEventHandler;
901
+ onTransitionEndCapture?: TransitionEventHandler;
902
+ }
903
+ interface HTMLAttributesLowerCase<T extends DOMElement = DOMElement> extends VAttributes<T> {
904
+ dangerouslysetinnerhtml?: {
905
+ __html: string;
906
+ };
907
+ accept?: string;
908
+ acceptcharset?: string;
909
+ accesskey?: string;
910
+ action?: string;
911
+ allowfullscreen?: boolean;
912
+ allowtransparency?: boolean;
913
+ alt?: string;
914
+ async?: boolean;
915
+ autocomplete?: string;
916
+ autocorrect?: string;
917
+ autofocus?: boolean | string;
918
+ autoplay?: boolean;
919
+ capture?: boolean;
920
+ cellpadding?: number | string;
921
+ cellspacing?: number | string;
922
+ charset?: string;
923
+ challenge?: string;
924
+ checked?: boolean | string;
925
+ class?: DefussClassValue;
926
+ classname?: DefussClassValue;
927
+ cols?: number;
928
+ children?: DefussChildren;
929
+ colspan?: number;
930
+ content?: string;
931
+ contenteditable?: boolean;
932
+ contextmenu?: string;
933
+ controls?: boolean;
934
+ controlslist?: string;
935
+ coords?: string;
936
+ crossorigin?: string;
937
+ data?: string;
938
+ datetime?: string;
939
+ default?: boolean;
940
+ defer?: boolean;
941
+ dir?: string;
942
+ disabled?: boolean;
943
+ download?: any;
944
+ draggable?: boolean;
945
+ enctype?: string;
946
+ form?: string;
947
+ formaction?: string;
948
+ formenctype?: string;
949
+ formmethod?: string;
950
+ novalidate?: boolean | string;
951
+ formnovalidate?: boolean;
952
+ formtarget?: string;
953
+ frameborder?: number | string;
954
+ headers?: string;
955
+ height?: number | string;
956
+ hidden?: boolean;
957
+ high?: number;
958
+ href?: string;
959
+ hreflang?: string;
960
+ for?: string;
961
+ htmlfor?: string;
962
+ httpequiv?: string;
963
+ icon?: string;
964
+ id?: string;
965
+ inputmode?: string;
966
+ integrity?: string;
967
+ is?: string;
968
+ keyparams?: string;
969
+ keytype?: string;
970
+ kind?: string;
971
+ label?: string;
972
+ lang?: string;
973
+ list?: string;
974
+ loop?: boolean;
975
+ low?: number;
976
+ manifest?: string;
977
+ marginheight?: number;
978
+ marginwidth?: number;
979
+ max?: number | string;
980
+ maxlength?: number;
981
+ media?: string;
982
+ mediagroup?: string;
983
+ method?: string;
984
+ min?: number | string;
985
+ minlength?: number;
986
+ multiple?: boolean;
987
+ muted?: boolean;
988
+ name?: string;
989
+ open?: boolean;
990
+ optimum?: number;
991
+ pattern?: string;
992
+ placeholder?: string;
993
+ playsinline?: boolean;
994
+ poster?: string;
995
+ preload?: string;
996
+ radiogroup?: string;
997
+ readonly?: boolean;
998
+ rel?: string;
999
+ required?: boolean | string;
1000
+ role?: string;
1001
+ rows?: number;
1002
+ rowspan?: number;
1003
+ sandbox?: string;
1004
+ scope?: string;
1005
+ scoped?: boolean;
1006
+ scrolling?: string;
1007
+ seamless?: boolean;
1008
+ selected?: boolean;
1009
+ shape?: string;
1010
+ size?: number;
1011
+ sizes?: string;
1012
+ slot?: string;
1013
+ span?: number;
1014
+ spellcheck?: boolean;
1015
+ src?: string;
1016
+ srcset?: string;
1017
+ srcdoc?: string;
1018
+ srclang?: string;
1019
+ start?: number;
1020
+ step?: number | string;
1021
+ style?: string | Partial<CSSProperties>;
1022
+ summary?: string;
1023
+ tabindex?: number | string;
1024
+ target?: string;
1025
+ title?: string;
1026
+ type?: string;
1027
+ usemap?: string;
1028
+ value?: string | string[] | number;
1029
+ width?: number | string;
1030
+ wmode?: string;
1031
+ wrap?: string;
1032
+ about?: string;
1033
+ datatype?: string;
1034
+ inlist?: any;
1035
+ prefix?: string;
1036
+ property?: string;
1037
+ resource?: string;
1038
+ typeof?: string;
1039
+ vocab?: string;
1040
+ itemprop?: string;
1041
+ itemscope?: boolean;
1042
+ itemtype?: string;
1043
+ itemid?: string;
1044
+ itemref?: string;
1045
+ }
1046
+ interface HTMLAttributes<T extends DOMElement = DOMElement> extends HTMLAttributesLowerCase<T>, DOMAttributes<T> {
1047
+ dangerouslySetInnerHTML?: {
1048
+ __html: string;
1049
+ };
1050
+ onMount?: MountHandler<T>;
1051
+ onUnmount?: UnmountHandler<T>;
1052
+ accept?: string;
1053
+ acceptCharset?: string;
1054
+ accessKey?: string;
1055
+ action?: string;
1056
+ allowFullScreen?: boolean;
1057
+ allowTransparency?: boolean;
1058
+ alt?: string;
1059
+ async?: boolean;
1060
+ autoComplete?: string;
1061
+ autoCorrect?: string;
1062
+ autofocus?: boolean | string;
1063
+ autoFocus?: boolean;
1064
+ autoPlay?: boolean;
1065
+ capture?: boolean;
1066
+ cellPadding?: number | string;
1067
+ cellSpacing?: number | string;
1068
+ charSet?: string;
1069
+ challenge?: string;
1070
+ checked?: boolean | string;
1071
+ class?: DefussClassValue;
1072
+ className?: DefussClassValue;
1073
+ cols?: number;
1074
+ children?: DefussChildren;
1075
+ colSpan?: number;
1076
+ content?: string;
1077
+ contentEditable?: boolean;
1078
+ contextMenu?: string;
1079
+ controls?: boolean;
1080
+ controlsList?: string;
1081
+ coords?: string;
1082
+ crossOrigin?: string;
1083
+ data?: string;
1084
+ dateTime?: string;
1085
+ default?: boolean;
1086
+ defer?: boolean;
1087
+ dir?: string;
1088
+ disabled?: boolean;
1089
+ download?: any;
1090
+ draggable?: boolean;
1091
+ encType?: string;
1092
+ form?: string;
1093
+ formAction?: string;
1094
+ formEncType?: string;
1095
+ formMethod?: string;
1096
+ formNoValidate?: boolean;
1097
+ formTarget?: string;
1098
+ frameBorder?: number | string;
1099
+ headers?: string;
1100
+ height?: number | string;
1101
+ hidden?: boolean;
1102
+ high?: number;
1103
+ href?: string;
1104
+ hrefLang?: string;
1105
+ for?: string;
1106
+ htmlFor?: string;
1107
+ httpEquiv?: string;
1108
+ icon?: string;
1109
+ id?: string;
1110
+ inputMode?: string;
1111
+ integrity?: string;
1112
+ is?: string;
1113
+ keyParams?: string;
1114
+ keyType?: string;
1115
+ kind?: string;
1116
+ label?: string;
1117
+ lang?: string;
1118
+ list?: string;
1119
+ loop?: boolean;
1120
+ low?: number;
1121
+ manifest?: string;
1122
+ marginHeight?: number;
1123
+ marginWidth?: number;
1124
+ max?: number | string;
1125
+ maxLength?: number;
1126
+ media?: string;
1127
+ mediaGroup?: string;
1128
+ method?: string;
1129
+ min?: number | string;
1130
+ minLength?: number;
1131
+ multiple?: boolean;
1132
+ muted?: boolean;
1133
+ name?: string;
1134
+ open?: boolean;
1135
+ optimum?: number;
1136
+ pattern?: string;
1137
+ placeholder?: string;
1138
+ playsInline?: boolean;
1139
+ poster?: string;
1140
+ preload?: string;
1141
+ radioGroup?: string;
1142
+ readOnly?: boolean;
1143
+ rel?: string;
1144
+ required?: boolean | string;
1145
+ role?: string;
1146
+ rows?: number;
1147
+ rowSpan?: number;
1148
+ sandbox?: string;
1149
+ scope?: string;
1150
+ scoped?: boolean;
1151
+ scrolling?: string;
1152
+ seamless?: boolean;
1153
+ selected?: boolean;
1154
+ shape?: string;
1155
+ size?: number;
1156
+ sizes?: string;
1157
+ slot?: string;
1158
+ span?: number;
1159
+ spellcheck?: boolean;
1160
+ src?: string;
1161
+ srcDoc?: string;
1162
+ srcLang?: string;
1163
+ srcSet?: string;
1164
+ start?: number;
1165
+ step?: number | string;
1166
+ style?: string | Partial<CSSProperties>;
1167
+ summary?: string;
1168
+ tabIndex?: number | string;
1169
+ target?: string;
1170
+ title?: string;
1171
+ type?: string;
1172
+ useMap?: string;
1173
+ value?: string | string[] | number;
1174
+ width?: number | string;
1175
+ wmode?: string;
1176
+ wrap?: string;
1177
+ about?: string;
1178
+ datatype?: string;
1179
+ inlist?: any;
1180
+ prefix?: string;
1181
+ property?: string;
1182
+ resource?: string;
1183
+ typeof?: string;
1184
+ vocab?: string;
1185
+ itemProp?: string;
1186
+ itemScope?: boolean;
1187
+ itemType?: string;
1188
+ itemID?: string;
1189
+ itemRef?: string;
1190
+ }
1191
+ interface IVirtualIntrinsicElements {
1192
+ }
1193
+ type HtmlIntrinsic = {
1194
+ [K in keyof HTMLElementTagNameMap]: HTMLAttributes<HTMLElementTagNameMap[K]>;
1195
+ };
1196
+ type SvgIntrinsic = {
1197
+ [K in keyof SVGElementTagNameMap]: SVGAttributes<SVGElementTagNameMap[K]>;
1198
+ };
1199
+ type SvgOnly = Omit<SvgIntrinsic, keyof HtmlIntrinsic>;
1200
+ interface IntrinsicElements extends HtmlIntrinsic, SvgOnly, IVirtualIntrinsicElements {
1201
+ fragment: {};
1202
+ }
1203
+ type Element = VNode | Promise<VNode | null> | null;
1204
+ }
1205
+ }
1206
+ type RenderNodeInput = VNode | string | undefined;
1207
+ type RenderResultNode = Element | Text | undefined;
1208
+ /**
1209
+ * DefussChild represents any valid child element in defuss.
1210
+ */
1211
+ type DefussChild = VNode | VNodeChild | string | number | boolean | null | undefined | JSX.Element | DefussChild[];
1212
+ /**
1213
+ * AsyncChild extends DefussChild to also accept async components (Promise-returning).
1214
+ * Use this for children of the <Async> wrapper component.
1215
+ */
1216
+ type AsyncDefussChild = Promise<DefussChild> | DefussChild;
1217
+ type DefussChildren = DefussChild;
1218
+ type RenderInput = DefussChild;
1219
+ type DefussClassValue = string | false | DefussClassValue[];
1220
+ /**
1221
+ * The Props interface is the natural first argument of a functional component.
1222
+ * Usually, you will want to pass down `children`.
1223
+ */
1224
+ interface Props<NT extends DOMElement = DOMElement, ST = any> {
1225
+ children?: DefussChildren;
1226
+ /** if implemented, maps 1:1 to the id attribute of the root element returned by the functional component */
1227
+ id?: string;
1228
+ /** forward a ref from a parent component down to this component; if implemented, will become the ref of the root element, the functional component returns */
1229
+ forwardRef?: Ref<NT, ST>;
1230
+ key?: DefussKey;
1231
+ /** if implemented, maps 1:1 to class attribute of the root element returned by the functional component */
1232
+ className?: DefussClassValue;
1233
+ /** if implemented, maps 1:1 to the style attribute of the root element returned by the functional component */
1234
+ style?: CSSProperties | string;
1235
+ onError?: JSX.GenericEventHandler;
1236
+ }
1237
+ type ElementProps<T extends DOMElement> = Props<T> & JSX.HTMLAttributes<T>;
1238
+ type RenderResult<T = RenderInput> = T extends Array<RenderNodeInput> ? Array<RenderResultNode> : RenderResultNode;
1239
+ type AllHTMLElements = HTMLElementTagNameMap[keyof HTMLElementTagNameMap] | SVGElementTagNameMap[keyof SVGElementTagNameMap];
1240
+ /**
1241
+ * Functional Component type that accepts a generic Props type.
1242
+ * Defaults to the base Props interface if no generic is provided.
1243
+ * Supports both synchronous and asynchronous rendering.
1244
+ *
1245
+ * @example
1246
+ *
1247
+ * export interface MyComponentProps extends Props {
1248
+ * name: string;
1249
+ * age: number;
1250
+ * }
1251
+ *
1252
+ * // With custom props
1253
+ * export const MyComponent: FC<MyComponentProps> = (props) => { ... }
1254
+ *
1255
+ * // With default Props
1256
+ * export const SimpleComponent: FC = (props) => { ... }
1257
+ *
1258
+ * // Async component
1259
+ * export const AsyncComponent: FC = async (props) => { ... }
1260
+ */
1261
+ type FC<P = Props> = (props: P) => JSX.Element | null;
1262
+ type AsyncFC<P = Props> = (props: P) => Promise<VNode | null>;
1263
+ /**
1264
+ * Alias for FunctionComponent
1265
+ */
1266
+ type FunctionComponent<P = Props> = FC<P>;
1267
+ type AsyncFunctionComponent<P = Props> = AsyncFC<P>;
1268
+
1269
+ declare const CLASS_ATTRIBUTE_NAME = "class";
1270
+ declare const XLINK_ATTRIBUTE_NAME = "xlink";
1271
+ declare const XMLNS_ATTRIBUTE_NAME = "xmlns";
1272
+ declare const REF_ATTRIBUTE_NAME = "ref";
1273
+ declare const DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE = "dangerouslySetInnerHTML";
1274
+ declare const nsMap: {
1275
+ xmlns: string;
1276
+ xlink: string;
1277
+ svg: string;
1278
+ };
1279
+ declare const createInPlaceErrorMessageVNode: (error: unknown) => {
1280
+ type: string;
1281
+ attributes: {};
1282
+ children: string[];
1283
+ };
1284
+ declare const jsx: (type: VNodeType | Function | any, attributes: (JSX.HTMLAttributes & JSX.SVGAttributes & Record<string, any>) | null, key?: string, sourceInfo?: JsxSourceInfo) => Array<VNode> | VNode;
1285
+ declare const observeUnmount: (domNode: Node, onUnmount: () => void) => void;
1286
+ /** lifecycle event attachment has been implemented separately, because it is also required to run when partially updating the DOM */
1287
+ declare const handleLifecycleEventsForOnMount: (newEl: HTMLElement) => void;
1288
+ declare const getRenderer: (document: Document) => DomAbstractionImpl;
1289
+ declare const renderIsomorphicSync: (virtualNode: SyncRenderInput, parentDomElement: Element | Document | undefined, globals: Globals) => SyncRenderResult;
1290
+ declare const renderIsomorphicAsync: (virtualNode: SyncRenderInput | Promise<SyncRenderInput>, parentDomElement: Element | Document | undefined | Promise<Element | Document | undefined>, globals: Globals) => Promise<SyncRenderResult>;
1291
+ declare const globalScopeDomApis: (window: Window, document: Document) => void;
1292
+ /**
1293
+ * React-compatible render function.
1294
+ * Renders JSX content into a container element using defuss' DOM morphing engine.
1295
+ *
1296
+ * @example
1297
+ * ```tsx
1298
+ * import { render, $ } from "defuss";
1299
+ *
1300
+ * const App = () => <div>Hello World</div>;
1301
+ *
1302
+ * // Using with $ selector
1303
+ * render(<App />, $("#app").current);
1304
+ *
1305
+ * // Using with direct element
1306
+ * render(<App />, document.getElementById("app"));
1307
+ * ```
1308
+ */
1309
+ declare const render: (jsx: SyncRenderInput, container: Element | null | undefined) => void;
1310
+ /**
1311
+ * @deprecated Use render instead. Will be removed in v4.
1312
+ */
1313
+ declare const renderInto: (jsx: SyncRenderInput, container: Element | null | undefined) => void;
1314
+ declare const isJSX: (o: any) => boolean;
1315
+ declare const Fragment: (props: VNode) => VNodeChildren | undefined;
1316
+ declare const jsxs: (type: VNodeType | Function | any, attributes: (JSX.HTMLAttributes & JSX.SVGAttributes & Record<string, any>) | null, key?: string, sourceInfo?: JsxSourceInfo) => Array<VNode> | VNode;
1317
+ declare const jsxDEV: (type: VNodeType | Function | any, attributes: (JSX.HTMLAttributes & JSX.SVGAttributes & Record<string, any>) | null, key?: string, allChildrenAreStatic?: boolean, sourceInfo?: JsxSourceInfo, selfReference?: any) => Array<VNode> | VNode;
1318
+ declare function updateDom<NT>(input: string | RenderInput | Ref<NodeType> | NodeType | CallChainImpl<NT>, nodes: readonly NodeType[], timeout: number, Parser: typeof globalThis.DOMParser, transitionConfig?: TransitionConfig): Promise<readonly NodeType[]>;
1319
+
1320
+ declare const isRef: <NT extends Node | Element | Text | null = HTMLElement, ST = any>(obj: any) => obj is Ref<NT, ST>;
1321
+ declare function createRef<NT extends DOMElement = DOMElement, ST = any>(refUpdateFn?: RefUpdateFn<ST>, defaultState?: ST): Ref<NT, ST>;
1322
+
1323
+ export { CLASS_ATTRIBUTE_NAME as C, DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE as D, XLINK_ATTRIBUTE_NAME as a3, XMLNS_ATTRIBUTE_NAME as a4, applyStyles as a5, createInPlaceErrorMessageVNode as a6, createRef as a7, getRenderer as a8, getTransitionStyles as a9, createStore as aO, deepEquals as aP, dequery as aQ, emptyImpl as aR, getAllFormValues as aS, getDefaultDequeryOptions as aT, isDequery as aU, isDequeryOptionsObject as aV, render as aW, scrollHelper as aX, shallowEquals as aY, globalScopeDomApis as aa, handleLifecycleEventsForOnMount as ab, isJSX as ac, isRef as ad, jsx as ae, jsxDEV as af, jsxs as ag, nsMap as ah, observeUnmount as ai, performTransition as aj, renderInto as ak, renderIsomorphicAsync as al, renderIsomorphicSync as am, updateDom as an, $ as ar, CallChainImpl as at, DEFAULT_TRANSITION_CONFIG as h, Fragment as p, REF_ATTRIBUTE_NAME as u };
1324
+ export type { VNodeRef as $, AllHTMLElements as A, RenderResultNode as B, ElementProps as E, FC as F, Globals as G, SyncRenderResult as H, TransitionStyles as I, JsxRuntimeHookFn as J, KeyFrameProperties as K, TransitionType as L, Maybe as M, NodeType as N, OneOrMany as O, ParentElementInputAsync as P, TransitionsEasing as Q, RenderInput as R, SyncRenderInput as S, TransitionConfig as T, UnmountHandler as U, VAttributes as V, VNode as W, VNodeAttributes as X, VNodeChild as Y, VNodeChildren as Z, VNodeKey as _, RenderResult as a, VNodeRefCallback as a0, VNodeRefObject as a1, VNodeType as a2, EqualsFn as aA, EventMapFor as aB, EventMapForAny as aC, FormFieldValue as aD, FormKeyValues as aE, Listener as aF, MemoryStorage as aG, MiddlewareFn as aH, Position as aI, Store as aJ, StoreOptions as aK, TargetOf as aL, UnionToIntersection as aM, WebStorage as aN, PersistenceProviderType as ao, PersistenceProviderOptions as ap, PersistenceProviderImpl as aq, AnyEventHandler as as, DOMPropValue as au, Dequery as av, DequeryOptions as aw, DequerySyncMethodReturnType as ax, Dimensions as ay, ElementCreationOptions as az, ParentElementInput as b, AsyncDefussChild as c, AsyncFC as d, AsyncFunctionComponent as e, CSSProperties as f, Children as g, DOMElement as i, DefussChild as j, DefussChildren as k, DefussClassValue as l, DefussKey as m, DomAbstractionImpl as n, FontFaceProperties as o, FunctionComponent as q, JsxSourceInfo as r, MountHandler as s, Props as t, Ref as v, RefUpdateFn as w, RefUpdateRenderFn as x, RefUpdateRenderFnInput as y, RenderNodeInput as z };