Skip to content

Commit 4403dfd

Browse files
committed
Add exports of MdxJsx{Flow,Text}ElementHast types
Closes GH-7.
1 parent f9794c4 commit 4403dfd

File tree

1 file changed

+53
-4
lines changed

1 file changed

+53
-4
lines changed

index.d.ts

Lines changed: 53 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type {
66
DefinitionContent,
77
PhrasingContent
88
} from 'mdast'
9+
import type {ElementContent, Parent as HastParent} from 'hast'
910
import type {Program} from 'estree-jsx'
1011

1112
import type {Tag} from './lib/index.js'
@@ -136,6 +137,54 @@ export interface MdxJsxTextElement extends MdastParent {
136137
children: PhrasingContent[]
137138
}
138139

140+
/**
141+
* MDX JSX element node, occurring in flow (block), for hast.
142+
*/
143+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
144+
export interface MdxJsxFlowElementHast extends HastParent {
145+
/**
146+
* Node type.
147+
*/
148+
type: 'mdxJsxFlowElement'
149+
/**
150+
* MDX JSX element name (`null` for fragments).
151+
*/
152+
// eslint-disable-next-line @typescript-eslint/ban-types
153+
name: string | null
154+
/**
155+
* MDX JSX element attributes.
156+
*/
157+
attributes: Array<MdxJsxAttribute | MdxJsxExpressionAttribute>
158+
/**
159+
* Content.
160+
*/
161+
children: ElementContent[]
162+
}
163+
164+
/**
165+
* MDX JSX element node, occurring in text (phrasing), for hast.
166+
*/
167+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
168+
export interface MdxJsxTextElementHast extends HastParent {
169+
/**
170+
* Node type.
171+
*/
172+
type: 'mdxJsxTextElement'
173+
/**
174+
* MDX JSX element name (`null` for fragments).
175+
*/
176+
// eslint-disable-next-line @typescript-eslint/ban-types
177+
name: string | null
178+
/**
179+
* MDX JSX element attributes.
180+
*/
181+
attributes: Array<MdxJsxAttribute | MdxJsxExpressionAttribute>
182+
/**
183+
* Content.
184+
*/
185+
children: ElementContent[]
186+
}
187+
139188
// Add nodes to mdast content.
140189
declare module 'mdast' {
141190
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
@@ -162,23 +211,23 @@ declare module 'hast' {
162211
/**
163212
* MDX JSX element node, occurring in text (phrasing).
164213
*/
165-
mdxJsxTextElement: MdxJsxTextElement
214+
mdxJsxTextElement: MdxJsxTextElementHast
166215
/**
167216
* MDX JSX element node, occurring in flow (block).
168217
*/
169-
mdxJsxFlowElement: MdxJsxFlowElement
218+
mdxJsxFlowElement: MdxJsxFlowElementHast
170219
}
171220

172221
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
173222
interface ElementContentMap {
174223
/**
175224
* MDX JSX element node, occurring in text (phrasing).
176225
*/
177-
mdxJsxTextElement: MdxJsxTextElement
226+
mdxJsxTextElement: MdxJsxTextElementHast
178227
/**
179228
* MDX JSX element node, occurring in flow (block).
180229
*/
181-
mdxJsxFlowElement: MdxJsxFlowElement
230+
mdxJsxFlowElement: MdxJsxFlowElementHast
182231
}
183232
}
184233

0 commit comments

Comments
 (0)