Repository: honojs/hono
File: src/jsx/intrinsic-elements.ts (TypeScript)

Code before:
    placeholder?: string | undefined
    popover?: string | undefined
    slot?: string | undefined
    spellcheck?: boolean | undefined
    style?: CSSProperties | string | undefined
    tabindex?: number | undefined
    title?: string | undefined
    translate?: 'yes' | 'no' | undefined
    itemProp?: string | undefined
  }

  type HTMLAttributeReferrerPolicy =
    | ''
    | 'no-referrer'
    | 'no-referrer-when-downgrade'
    | 'origin'
    | 'origin-when-cross-origin'
    | 'same-origin'
    | 'strict-origin'
    | 'strict-origin-when-cross-origin'
    | 'unsafe-url'

  type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top' | string

  interface AnchorHTMLAttributes extends HTMLAttributes {
    download?: string | boolean | undefined
    href?: string | undefined
    hreflang?: string | undefined
    media?: string | undefined
    ping?: string | undefined
    target?: HTMLAttributeAnchorTarget | undefined
    type?: string | undefined
    referrerpolicy?: HTMLAttributeReferrerPolicy | undefined
  }

  interface AudioHTMLAttributes extends MediaHTMLAttributes {}

  interface AreaHTMLAttributes extends HTMLAttributes {
    alt?: string | undefined
    coords?: string | undefined
    download?: string | boolean | undefined
    href?: string | undefined
    hreflang?: string | undefined
    media?: string | undefined
    referrerpolicy?: HTMLAttributeReferrerPolicy | undefined
    shape?: string | undefined
    target?: string | undefined
  }

  interface BaseHTMLAttributes extends HTMLAttributes {
    href?: string | undefined

Review comment (suggestion):
Which do you like better this or the above:

```ts
  type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top'
//...
  StringLiteralUnion<HTMLAttributeAnchorTarget>
```

I reffered to https://github.com/DefinitelyTyped/DefinitelyTyped/commit/462531abb774dd76995632249db601002a33e93d .

Code after:
    itemtype?: string | undefined
    lang?: string | undefined
    nonce?: string | undefined
    placeholder?: string | undefined
    popover?: string | undefined
    slot?: string | undefined
    spellcheck?: boolean | undefined
    style?: CSSProperties | string | undefined
    tabindex?: number | undefined
    title?: string | undefined
    translate?: 'yes' | 'no' | undefined
    itemProp?: string | undefined
  }

  type HTMLAttributeReferrerPolicy =
    | ''
    | 'no-referrer'
    | 'no-referrer-when-downgrade'
    | 'origin'
    | 'origin-when-cross-origin'
    | 'same-origin'
    | 'strict-origin'
    | 'strict-origin-when-cross-origin'
    | 'unsafe-url'

  type HTMLAttributeAnchorTarget = StringLiteralUnion<'_self' | '_blank' | '_parent' | '_top'>

  interface AnchorHTMLAttributes extends HTMLAttributes {
    download?: string | boolean | undefined
    href?: string | undefined
    hreflang?: string | undefined
    media?: string | undefined
    ping?: string | undefined
    target?: HTMLAttributeAnchorTarget | undefined
    type?: StringLiteralUnion<BaseMime> | undefined
    referrerpolicy?: HTMLAttributeReferrerPolicy | undefined
  }

  interface AudioHTMLAttributes extends MediaHTMLAttributes {}

  interface AreaHTMLAttributes extends HTMLAttributes {
    alt?: string | undefined
    coords?: string | undefined
    download?: string | boolean | undefined
    href?: string | undefined
    hreflang?: string | undefined
    media?: string | undefined
    referrerpolicy?: HTMLAttributeReferrerPolicy | undefined
    shape?: string | undefined
    target?: string | undefined
  }