site/node_modules/hastscript/lib/jsx-automatic.d.ts

44 lines
969 B
TypeScript
Raw Permalink Normal View History

2024-10-14 06:09:33 +00:00
import type {Child, Properties, Result} from './create-h.js'
export namespace JSX {
/**
* Define the return value of JSX syntax.
*/
type Element = Result
/**
* Key of this interface defines as what prop children are passed.
*/
interface ElementChildrenAttribute {
/**
* Only the key matters, not the value.
*/
children?: never
}
/**
* Disallow the use of functional components.
*/
type IntrinsicAttributes = never
/**
* Define the prop types for known elements.
*
* For `hastscript` this defines any string may be used in combination with
* `hast` `Properties`.
*
* This **must** be an interface.
*/
interface IntrinsicElements {
[name: string]:
| Properties
| {
/**
* The prop that matches `ElementChildrenAttribute` key defines the
* type of JSX children, defines the children type.
*/
children?: Child
}
}
}