Download / preact-helmet

A document head manager for Preact
MIT License
82 stars 7 forks source link

[Question] - Typescript? #32

Open IrvingArmenta opened 5 years ago

IrvingArmenta commented 5 years ago

Typescript Support

rosenbjerg commented 4 years ago

I need that as well

squidfunk commented 4 years ago

Save this in typings/preact-helmet.d.ts:

declare module "preact-helmet" {
  import { ComponentType, JSX } from "preact"

  /**
   * Helmet properties
   */
  export interface HelmetProperties {
    htmlAttributes?: JSX.HTMLAttributes<HTMLHtmlElement>
    title?: string
    titleTemplate?: string
    defaultTitle?: string
    titleAttributes?: JSX.HTMLAttributes<HTMLTitleElement>
    base?: JSX.HTMLAttributes<HTMLBaseElement>
    meta?: Array<JSX.HTMLAttributes<HTMLMetaElement>>
    link?: Array<JSX.HTMLAttributes<HTMLLinkElement>>
    script?: Array<JSX.HTMLAttributes<HTMLScriptElement>>
    noscript?: Array<JSX.HTMLAttributes<HTMLElement>>
    style?: Array<JSX.HTMLAttributes<HTMLStyleElement>>
  }

  /**
   * Helmet
   */
  const Helmet: ComponentType<HelmetProperties>
  export default Helmet
}

@Download I can PR this, if desired.