vnode.d.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { Hooks } from "./hooks.js";
  2. import { AttachData } from "./helpers/attachto.js";
  3. import { VNodeStyle } from "./modules/style.js";
  4. import { On } from "./modules/eventlisteners.js";
  5. import { Attrs } from "./modules/attributes.js";
  6. import { Classes } from "./modules/class.js";
  7. import { Props } from "./modules/props.js";
  8. import { Dataset } from "./modules/dataset.js";
  9. export type Key = string | number | symbol;
  10. export interface VNode {
  11. sel: string | undefined;
  12. data: VNodeData | undefined;
  13. children: Array<VNode | string> | undefined;
  14. elm: Node | undefined;
  15. text: string | undefined;
  16. key: Key | undefined;
  17. }
  18. export interface VNodeData<VNodeProps = Props> {
  19. props?: VNodeProps;
  20. attrs?: Attrs;
  21. class?: Classes;
  22. style?: VNodeStyle;
  23. dataset?: Dataset;
  24. on?: On;
  25. attachData?: AttachData;
  26. hook?: Hooks;
  27. key?: Key;
  28. ns?: string;
  29. fn?: () => VNode;
  30. args?: any[];
  31. is?: string;
  32. [key: string]: any;
  33. }
  34. export declare function vnode(sel: string | undefined, data: any | undefined, children: Array<VNode | string> | undefined, text: string | undefined, elm: Element | DocumentFragment | Text | undefined): VNode;