@readme/markdown 14.8.0 → 14.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/TableOfContents/index.tsx +2 -0
- package/dist/index.d.ts +1 -1
- package/dist/lib/extractToc.d.ts +2 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/utils/mdxish/mdxish-expression.d.ts +7 -0
- package/dist/main.js +108 -44
- package/dist/main.node.js +108 -44
- package/dist/main.node.js.map +1 -1
- package/dist/processor/transform/mdxish/resolve-deferred-attribute-expression-props.d.ts +16 -0
- package/package.json +1 -1
- package/types.d.ts +9 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Root } from 'hast';
|
|
2
|
+
import type { Plugin } from 'unified';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve attribute expressions that `mdxJsxElementHandler` deferred.
|
|
5
|
+
*
|
|
6
|
+
* The handler stashed each attribute expression's source in `node.data.deferredExpressions`
|
|
7
|
+
* (keyed by prop name) instead of evaluating eagerly, because an eager result can be a React
|
|
8
|
+
* element or function that rehypeRaw's `structuredClone` passthrough rejects. Now that we're
|
|
9
|
+
* past the clone, evaluate each source with a scope of `{ React, ...mdxishScope }` and write
|
|
10
|
+
* the real value into `properties` (e.g. an array of objects whose fields are React elements).
|
|
11
|
+
*
|
|
12
|
+
* Must run after `rehypeRaw` (past the clone) but before `normalizeMdxJsxNodes` rewrites these
|
|
13
|
+
* `mdx-jsx` nodes into plain elements. Skipped in safeMode, which keeps expressions literal.
|
|
14
|
+
*/
|
|
15
|
+
declare const resolveDeferredAttributeExpressionProps: Plugin<[], Root>;
|
|
16
|
+
export default resolveDeferredAttributeExpressionProps;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@readme/markdown",
|
|
3
3
|
"description": "ReadMe's React-based Markdown parser",
|
|
4
4
|
"author": "Rafe Goldberg <rafe@readme.io>",
|
|
5
|
-
"version": "14.
|
|
5
|
+
"version": "14.9.0",
|
|
6
6
|
"main": "dist/main.node.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"browser": "dist/main.js",
|
package/types.d.ts
CHANGED
|
@@ -27,8 +27,17 @@ import type { Position } from 'unist';
|
|
|
27
27
|
* attribute expressions evaluate to real JS values (objects, arrays, numbers)
|
|
28
28
|
* which don't fit hast's HTML-attribute-oriented `PropertyValue` union.
|
|
29
29
|
*/
|
|
30
|
+
export interface MdxJsxData {
|
|
31
|
+
/**
|
|
32
|
+
* Attribute expressions deferred by `mdxJsxElementHandler` (keyed by prop name) for
|
|
33
|
+
* `resolveDeferredAttributeExpressionProps` to evaluate past rehypeRaw's clone.
|
|
34
|
+
*/
|
|
35
|
+
deferredExpressions?: Record<string, string>;
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
export interface MdxJsx {
|
|
31
39
|
children: ElementContent[];
|
|
40
|
+
data?: MdxJsxData;
|
|
32
41
|
position?: Position;
|
|
33
42
|
properties: Properties;
|
|
34
43
|
tagName: string;
|