@@ -6,6 +6,7 @@ import type {
6
6
DefinitionContent ,
7
7
PhrasingContent
8
8
} from 'mdast'
9
+ import type { ElementContent , Parent as HastParent } from 'hast'
9
10
import type { Program } from 'estree-jsx'
10
11
11
12
import type { Tag } from './lib/index.js'
@@ -136,6 +137,54 @@ export interface MdxJsxTextElement extends MdastParent {
136
137
children : PhrasingContent [ ]
137
138
}
138
139
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
+
139
188
// Add nodes to mdast content.
140
189
declare module 'mdast' {
141
190
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
@@ -162,23 +211,23 @@ declare module 'hast' {
162
211
/**
163
212
* MDX JSX element node, occurring in text (phrasing).
164
213
*/
165
- mdxJsxTextElement : MdxJsxTextElement
214
+ mdxJsxTextElement : MdxJsxTextElementHast
166
215
/**
167
216
* MDX JSX element node, occurring in flow (block).
168
217
*/
169
- mdxJsxFlowElement : MdxJsxFlowElement
218
+ mdxJsxFlowElement : MdxJsxFlowElementHast
170
219
}
171
220
172
221
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
173
222
interface ElementContentMap {
174
223
/**
175
224
* MDX JSX element node, occurring in text (phrasing).
176
225
*/
177
- mdxJsxTextElement : MdxJsxTextElement
226
+ mdxJsxTextElement : MdxJsxTextElementHast
178
227
/**
179
228
* MDX JSX element node, occurring in flow (block).
180
229
*/
181
- mdxJsxFlowElement : MdxJsxFlowElement
230
+ mdxJsxFlowElement : MdxJsxFlowElementHast
182
231
}
183
232
}
184
233
0 commit comments