7.0.5 • Published 6 months ago

@types/superfine v7.0.5

Weekly downloads
42
License
MIT
Repository
github
Last release
6 months ago

Installation

npm install --save @types/superfine

Summary

This package contains type definitions for superfine (https://github.com/jorgebucaran/superfine#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/superfine.

index.d.ts

// Type definitions for superfine 7.0
// Project: https://github.com/jorgebucaran/superfine#readme
// Definitions by: jameswilddev <https://github.com/jameswilddev>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// Minimum TypeScript Version: 3.1

export {};

type HtmlOrSvgElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;

export type Props<TTagName extends keyof HtmlOrSvgElementTagNameMap> = {
    readonly [TAttributeName in keyof HtmlOrSvgElementTagNameMap[TTagName]]?: HtmlOrSvgElementTagNameMap[TTagName][TAttributeName]
} & {
    readonly key?: number | string | undefined
};

export interface VNode<TTagName extends keyof HtmlOrSvgElementTagNameMap> {
    readonly name: TTagName;
}

type Child<TTagName extends keyof HtmlOrSvgElementTagNameMap> =
    | string
    | VNode<TTagName>;

type Children<TTagName extends keyof HtmlOrSvgElementTagNameMap> =
    | Child<TTagName>
    | ReadonlyArray<Child<TTagName>>;

export function h(
    tagName: "svg",
    props: Props<"svg">,
    children?: Children<keyof SVGElementTagNameMap>
): VNode<"svg">;

export function h<TTagName extends keyof HTMLElementTagNameMap>(
    tagName: TTagName,
    props: Props<TTagName>,
    children?: Children<(keyof HTMLElementTagNameMap) | "svg">
): VNode<TTagName>;

export function h<TTagName extends keyof SVGElementTagNameMap>(
    tagName: TTagName,
    props: Props<TTagName>,
    children?: Children<keyof SVGElementTagNameMap>
): VNode<TTagName>;

export function patch<TTagName extends keyof HtmlOrSvgElementTagNameMap>(
    rootElement: HtmlOrSvgElementTagNameMap[TTagName],
    vNode: VNode<TTagName>
): void;

declare global {
    namespace JSX {
        interface Element extends VNode<keyof HtmlOrSvgElementTagNameMap> {}
        type IntrinsicElements = {
            readonly [TTagName in keyof HtmlOrSvgElementTagNameMap]: Props<TTagName>
        };
    }
}

Additional Details

  • Last updated: Fri, 02 Jul 2021 22:33:10 GMT
  • Dependencies: none
  • Global values: none

Credits

These definitions were written by jameswilddev.

7.0.5

6 months ago

7.0.4

7 months ago

7.0.3

8 months ago

7.0.2

3 years ago

7.0.1

4 years ago

7.0.0

4 years ago