myst-to-react 0.3.7 → 0.4.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/dist/cjs/MyST.d.ts +5 -0
- package/dist/cjs/MyST.d.ts.map +1 -0
- package/dist/cjs/MyST.js +26 -0
- package/dist/cjs/admonitions.d.ts.map +1 -1
- package/dist/cjs/admonitions.js +7 -7
- package/dist/cjs/basic.d.ts +1 -0
- package/dist/cjs/basic.d.ts.map +1 -1
- package/dist/cjs/basic.js +64 -79
- package/dist/cjs/card.d.ts.map +1 -1
- package/dist/cjs/card.js +13 -13
- package/dist/cjs/cite.d.ts.map +1 -1
- package/dist/cjs/cite.js +7 -6
- package/dist/cjs/code.d.ts.map +1 -1
- package/dist/cjs/code.js +7 -7
- package/dist/cjs/components/CopyIcon.d.ts +2 -1
- package/dist/cjs/components/CopyIcon.d.ts.map +1 -1
- package/dist/cjs/components/CopyIcon.js +5 -5
- package/dist/cjs/components/HoverPopover.d.ts +4 -0
- package/dist/cjs/components/HoverPopover.d.ts.map +1 -1
- package/dist/cjs/components/HoverPopover.js +5 -1
- package/dist/cjs/components/LinkCard.d.ts +1 -1
- package/dist/cjs/components/LinkCard.d.ts.map +1 -1
- package/dist/cjs/components/index.d.ts +4 -0
- package/dist/cjs/components/index.d.ts.map +1 -0
- package/dist/cjs/components/index.js +10 -0
- package/dist/cjs/crossReference.d.ts.map +1 -1
- package/dist/cjs/crossReference.js +8 -12
- package/dist/cjs/dropdown.d.ts.map +1 -1
- package/dist/cjs/dropdown.js +6 -5
- package/dist/cjs/exercise.d.ts.map +1 -1
- package/dist/cjs/exercise.js +9 -8
- package/dist/cjs/extensions/chemicalFormula.js +2 -2
- package/dist/cjs/extensions/siunits.d.ts.map +1 -1
- package/dist/cjs/extensions/siunits.js +2 -2
- package/dist/cjs/footnotes.d.ts.map +1 -1
- package/dist/cjs/footnotes.js +5 -7
- package/dist/cjs/grid.d.ts.map +1 -1
- package/dist/cjs/grid.js +3 -2
- package/dist/cjs/heading.d.ts.map +1 -1
- package/dist/cjs/heading.js +4 -4
- package/dist/cjs/iframe.d.ts.map +1 -1
- package/dist/cjs/iframe.js +3 -5
- package/dist/cjs/image.d.ts.map +1 -1
- package/dist/cjs/image.js +2 -2
- package/dist/cjs/index.d.ts +2 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -17
- package/dist/cjs/inlineExpression.d.ts.map +1 -1
- package/dist/cjs/inlineExpression.js +4 -2
- package/dist/cjs/links/github.d.ts.map +1 -1
- package/dist/cjs/links/github.js +4 -5
- package/dist/cjs/links/index.d.ts.map +1 -1
- package/dist/cjs/links/index.js +13 -13
- package/dist/cjs/links/rrid.js +2 -2
- package/dist/cjs/links/wiki.d.ts.map +1 -1
- package/dist/cjs/links/wiki.js +3 -4
- package/dist/cjs/math.d.ts.map +1 -1
- package/dist/cjs/math.js +6 -6
- package/dist/cjs/proof.d.ts.map +1 -1
- package/dist/cjs/proof.js +5 -5
- package/dist/cjs/reactive.d.ts +9 -84
- package/dist/cjs/reactive.d.ts.map +1 -1
- package/dist/cjs/reactive.js +4 -8
- package/dist/cjs/tabs.d.ts.map +1 -1
- package/dist/cjs/tabs.js +5 -4
- package/dist/cjs/unknown.d.ts.map +1 -1
- package/dist/cjs/unknown.js +2 -2
- package/dist/esm/MyST.d.ts +5 -0
- package/dist/esm/MyST.d.ts.map +1 -0
- package/dist/esm/MyST.js +22 -0
- package/dist/esm/admonitions.d.ts.map +1 -1
- package/dist/esm/admonitions.js +7 -7
- package/dist/esm/basic.d.ts +1 -0
- package/dist/esm/basic.d.ts.map +1 -1
- package/dist/esm/basic.js +64 -79
- package/dist/esm/card.d.ts.map +1 -1
- package/dist/esm/card.js +13 -13
- package/dist/esm/cite.d.ts.map +1 -1
- package/dist/esm/cite.js +6 -5
- package/dist/esm/code.d.ts.map +1 -1
- package/dist/esm/code.js +7 -7
- package/dist/esm/components/CopyIcon.d.ts +2 -1
- package/dist/esm/components/CopyIcon.d.ts.map +1 -1
- package/dist/esm/components/CopyIcon.js +5 -5
- package/dist/esm/components/HoverPopover.d.ts +4 -0
- package/dist/esm/components/HoverPopover.d.ts.map +1 -1
- package/dist/esm/components/HoverPopover.js +3 -0
- package/dist/esm/components/LinkCard.d.ts +1 -1
- package/dist/esm/components/LinkCard.d.ts.map +1 -1
- package/dist/esm/components/index.d.ts +4 -0
- package/dist/esm/components/index.d.ts.map +1 -0
- package/dist/esm/components/index.js +3 -0
- package/dist/esm/crossReference.d.ts.map +1 -1
- package/dist/esm/crossReference.js +8 -12
- package/dist/esm/dropdown.d.ts.map +1 -1
- package/dist/esm/dropdown.js +6 -5
- package/dist/esm/exercise.d.ts.map +1 -1
- package/dist/esm/exercise.js +9 -8
- package/dist/esm/extensions/chemicalFormula.js +2 -2
- package/dist/esm/extensions/siunits.d.ts.map +1 -1
- package/dist/esm/extensions/siunits.js +2 -2
- package/dist/esm/footnotes.d.ts.map +1 -1
- package/dist/esm/footnotes.js +6 -8
- package/dist/esm/grid.d.ts.map +1 -1
- package/dist/esm/grid.js +3 -2
- package/dist/esm/heading.d.ts.map +1 -1
- package/dist/esm/heading.js +4 -4
- package/dist/esm/iframe.d.ts.map +1 -1
- package/dist/esm/iframe.js +3 -5
- package/dist/esm/image.d.ts.map +1 -1
- package/dist/esm/image.js +2 -2
- package/dist/esm/index.d.ts +2 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -14
- package/dist/esm/inlineExpression.d.ts.map +1 -1
- package/dist/esm/inlineExpression.js +4 -2
- package/dist/esm/links/github.d.ts.map +1 -1
- package/dist/esm/links/github.js +2 -3
- package/dist/esm/links/index.d.ts.map +1 -1
- package/dist/esm/links/index.js +12 -12
- package/dist/esm/links/rrid.js +1 -1
- package/dist/esm/links/wiki.d.ts.map +1 -1
- package/dist/esm/links/wiki.js +1 -2
- package/dist/esm/math.d.ts.map +1 -1
- package/dist/esm/math.js +6 -6
- package/dist/esm/proof.d.ts.map +1 -1
- package/dist/esm/proof.js +5 -5
- package/dist/esm/reactive.d.ts +9 -84
- package/dist/esm/reactive.d.ts.map +1 -1
- package/dist/esm/reactive.js +4 -8
- package/dist/esm/tabs.d.ts.map +1 -1
- package/dist/esm/tabs.js +5 -4
- package/dist/esm/unknown.d.ts.map +1 -1
- package/dist/esm/unknown.js +2 -2
- package/dist/types/MyST.d.ts +5 -0
- package/dist/types/MyST.d.ts.map +1 -0
- package/dist/types/admonitions.d.ts.map +1 -1
- package/dist/types/basic.d.ts +1 -0
- package/dist/types/basic.d.ts.map +1 -1
- package/dist/types/card.d.ts.map +1 -1
- package/dist/types/cite.d.ts.map +1 -1
- package/dist/types/code.d.ts.map +1 -1
- package/dist/types/components/CopyIcon.d.ts +2 -1
- package/dist/types/components/CopyIcon.d.ts.map +1 -1
- package/dist/types/components/HoverPopover.d.ts +4 -0
- package/dist/types/components/HoverPopover.d.ts.map +1 -1
- package/dist/types/components/LinkCard.d.ts +1 -1
- package/dist/types/components/LinkCard.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/crossReference.d.ts.map +1 -1
- package/dist/types/dropdown.d.ts.map +1 -1
- package/dist/types/exercise.d.ts.map +1 -1
- package/dist/types/extensions/siunits.d.ts.map +1 -1
- package/dist/types/footnotes.d.ts.map +1 -1
- package/dist/types/grid.d.ts.map +1 -1
- package/dist/types/heading.d.ts.map +1 -1
- package/dist/types/iframe.d.ts.map +1 -1
- package/dist/types/image.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/inlineExpression.d.ts.map +1 -1
- package/dist/types/links/github.d.ts.map +1 -1
- package/dist/types/links/index.d.ts.map +1 -1
- package/dist/types/links/wiki.d.ts.map +1 -1
- package/dist/types/math.d.ts.map +1 -1
- package/dist/types/proof.d.ts.map +1 -1
- package/dist/types/reactive.d.ts +9 -84
- package/dist/types/reactive.d.ts.map +1 -1
- package/dist/types/tabs.d.ts.map +1 -1
- package/dist/types/unknown.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/convertToReact.d.ts +0 -6
- package/dist/cjs/convertToReact.d.ts.map +0 -1
- package/dist/cjs/convertToReact.js +0 -30
- package/dist/esm/convertToReact.d.ts +0 -6
- package/dist/esm/convertToReact.d.ts.map +0 -1
- package/dist/esm/convertToReact.js +0 -25
- package/dist/types/convertToReact.d.ts +0 -6
- package/dist/types/convertToReact.d.ts.map +0 -1
package/dist/esm/basic.js
CHANGED
|
@@ -1,99 +1,95 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { HashLink } from './heading';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import {
|
|
4
|
+
import { Tooltip } from './components';
|
|
5
|
+
import { MyST } from './MyST';
|
|
5
6
|
const BASIC_RENDERERS = {
|
|
6
|
-
|
|
7
|
-
return
|
|
7
|
+
text({ node }) {
|
|
8
|
+
return node.value;
|
|
8
9
|
},
|
|
9
|
-
|
|
10
|
-
return _jsx("
|
|
10
|
+
delete({ node }) {
|
|
11
|
+
return (_jsx("del", { children: _jsx(MyST, { ast: node.children }) }));
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
return _jsx("
|
|
13
|
+
strong({ node }) {
|
|
14
|
+
return (_jsx("strong", { children: _jsx(MyST, { ast: node.children }) }));
|
|
14
15
|
},
|
|
15
|
-
|
|
16
|
-
return (_jsx("
|
|
16
|
+
emphasis({ node }) {
|
|
17
|
+
return (_jsx("em", { children: _jsx(MyST, { ast: node.children }) }));
|
|
17
18
|
},
|
|
18
|
-
|
|
19
|
-
return (_jsx("span", { style: {
|
|
19
|
+
underline({ node }) {
|
|
20
|
+
return (_jsx("span", { style: { textDecoration: 'underline' }, children: _jsx(MyST, { ast: node.children }) }));
|
|
20
21
|
},
|
|
21
|
-
|
|
22
|
-
return (_jsx("
|
|
22
|
+
smallcaps({ node }) {
|
|
23
|
+
return (_jsx("span", { style: { fontVariant: 'small-caps' }, children: _jsx(MyST, { ast: node.children }) }));
|
|
23
24
|
},
|
|
24
|
-
|
|
25
|
-
return (_jsx("
|
|
25
|
+
link({ node }) {
|
|
26
|
+
return (_jsx("a", { target: "_blank", href: node.url, rel: "noreferrer", children: _jsx(MyST, { ast: node.children }) }));
|
|
26
27
|
},
|
|
27
|
-
|
|
28
|
-
return _jsx("
|
|
28
|
+
paragraph({ node }) {
|
|
29
|
+
return (_jsx("p", { id: node.html_id, children: _jsx(MyST, { ast: node.children }) }));
|
|
29
30
|
},
|
|
30
|
-
|
|
31
|
-
return _jsx("
|
|
31
|
+
break() {
|
|
32
|
+
return _jsx("br", {});
|
|
32
33
|
},
|
|
33
|
-
|
|
34
|
-
return _jsx("code", { children: node.value }
|
|
34
|
+
inlineMath({ node }) {
|
|
35
|
+
return _jsx("code", { children: node.value });
|
|
35
36
|
},
|
|
36
|
-
|
|
37
|
+
math({ node }) {
|
|
38
|
+
return _jsx("code", { children: node.value });
|
|
39
|
+
},
|
|
40
|
+
list({ node }) {
|
|
37
41
|
if (node.ordered) {
|
|
38
|
-
return (_jsx("ol", { start: node.start || undefined, id: node.html_id, children:
|
|
42
|
+
return (_jsx("ol", { start: node.start || undefined, id: node.html_id, children: _jsx(MyST, { ast: node.children }) }));
|
|
39
43
|
}
|
|
40
|
-
return (_jsx("ul", { id: node.html_id, children:
|
|
44
|
+
return (_jsx("ul", { id: node.html_id, children: _jsx(MyST, { ast: node.children }) }));
|
|
41
45
|
},
|
|
42
|
-
listItem(node
|
|
46
|
+
listItem({ node }) {
|
|
43
47
|
if (node.checked == null) {
|
|
44
|
-
return _jsx("li", { children:
|
|
48
|
+
return (_jsx("li", { children: _jsx(MyST, { ast: node.children }) }));
|
|
45
49
|
}
|
|
46
|
-
return (_jsxs("li", { className: "task-list-item", children: [_jsx("input", { type: "checkbox", className: "task-list-item-checkbox", defaultChecked: node.checked }),
|
|
50
|
+
return (_jsxs("li", { className: "task-list-item", children: [_jsx("input", { type: "checkbox", className: "task-list-item-checkbox", defaultChecked: node.checked }), _jsx(MyST, { ast: node.children })] }));
|
|
47
51
|
},
|
|
48
|
-
container(node
|
|
49
|
-
return (_jsx("figure", { id: node.html_id || node.identifier || node.key, className: classNames(node.kind, node.class), children:
|
|
52
|
+
container({ node }) {
|
|
53
|
+
return (_jsx("figure", { id: node.html_id || node.identifier || node.key, className: classNames(node.kind, node.class), children: _jsx(MyST, { ast: node.children }) }));
|
|
50
54
|
},
|
|
51
|
-
caption(node
|
|
52
|
-
return (_jsx("figcaption", { className: "group", children:
|
|
55
|
+
caption({ node }) {
|
|
56
|
+
return (_jsx("figcaption", { className: "group", children: _jsx(MyST, { ast: node.children }) }));
|
|
53
57
|
},
|
|
54
|
-
blockquote(node
|
|
55
|
-
return (_jsx("blockquote", { id: node.html_id, children:
|
|
58
|
+
blockquote({ node }) {
|
|
59
|
+
return (_jsx("blockquote", { id: node.html_id, children: _jsx(MyST, { ast: node.children }) }));
|
|
56
60
|
},
|
|
57
|
-
thematicBreak(
|
|
58
|
-
return _jsx("hr", { className: "py-2 my-5 translate-y-2" }
|
|
61
|
+
thematicBreak() {
|
|
62
|
+
return _jsx("hr", { className: "py-2 my-5 translate-y-2" });
|
|
59
63
|
},
|
|
60
|
-
captionNumber(node
|
|
61
|
-
function backwardsCompatibleLabel(value, kind) {
|
|
62
|
-
var _a, _b;
|
|
63
|
-
const capital = (_a = kind === null || kind === void 0 ? void 0 : kind.slice(0, 1).toUpperCase()) !== null && _a !== void 0 ? _a : 'F';
|
|
64
|
-
const body = (_b = kind === null || kind === void 0 ? void 0 : kind.slice(1)) !== null && _b !== void 0 ? _b : 'igure';
|
|
65
|
-
return `${capital}${body}: ${children}`;
|
|
66
|
-
}
|
|
67
|
-
const label = typeof children === 'string' ? backwardsCompatibleLabel(children, node.kind) : children;
|
|
64
|
+
captionNumber({ node }) {
|
|
68
65
|
const id = node.html_id || node.identifier || node.key;
|
|
69
|
-
return (_jsx(HashLink, { id: id, kind: node.kind, className: "mr-1 font-semibold text-inherit hover:text-inherit hover:font-semibold", children:
|
|
66
|
+
return (_jsx(HashLink, { id: id, kind: node.kind, className: "mr-1 font-semibold text-inherit hover:text-inherit hover:font-semibold", children: _jsx(MyST, { ast: node.children }) }));
|
|
70
67
|
},
|
|
71
|
-
table(node
|
|
68
|
+
table({ node }) {
|
|
72
69
|
// TODO: actually render the tbody on the server if it isn't included here.
|
|
73
|
-
return (_jsx("table", { children: _jsx("tbody", { children: children }) }
|
|
70
|
+
return (_jsx("table", { children: _jsx("tbody", { children: _jsx(MyST, { ast: node.children }) }) }));
|
|
74
71
|
},
|
|
75
|
-
tableRow(node
|
|
76
|
-
return _jsx("tr", { children:
|
|
72
|
+
tableRow({ node }) {
|
|
73
|
+
return (_jsx("tr", { children: _jsx(MyST, { ast: node.children }) }));
|
|
77
74
|
},
|
|
78
|
-
tableCell(node
|
|
75
|
+
tableCell({ node }) {
|
|
79
76
|
const ifGreaterThanOne = (num) => (num === 1 ? undefined : num);
|
|
80
77
|
const attrs = {
|
|
81
|
-
key: node.key,
|
|
82
78
|
rowSpan: ifGreaterThanOne(node.rowspan),
|
|
83
79
|
colSpan: ifGreaterThanOne(node.colspan),
|
|
84
80
|
};
|
|
85
81
|
if (node.header)
|
|
86
|
-
return _jsx("th", Object.assign({}, attrs, { children: children }));
|
|
87
|
-
return _jsx("td", Object.assign({}, attrs, { children: children }));
|
|
82
|
+
return (_jsx("th", Object.assign({}, attrs, { children: _jsx(MyST, { ast: node.children }) })));
|
|
83
|
+
return (_jsx("td", Object.assign({}, attrs, { children: _jsx(MyST, { ast: node.children }) })));
|
|
88
84
|
},
|
|
89
|
-
subscript(node
|
|
90
|
-
return _jsx("sub", { children:
|
|
85
|
+
subscript({ node }) {
|
|
86
|
+
return (_jsx("sub", { children: _jsx(MyST, { ast: node.children }) }));
|
|
91
87
|
},
|
|
92
|
-
superscript(node
|
|
93
|
-
return _jsx("sup", { children:
|
|
88
|
+
superscript({ node }) {
|
|
89
|
+
return (_jsx("sup", { children: _jsx(MyST, { ast: node.children }) }));
|
|
94
90
|
},
|
|
95
|
-
abbreviation(node
|
|
96
|
-
return (_jsx(
|
|
91
|
+
abbreviation({ node }) {
|
|
92
|
+
return (_jsx(Tooltip, { title: node.title, children: _jsx("abbr", { "aria-label": node.title, className: "border-b border-dotted cursor-help", children: _jsx(MyST, { ast: node.children }) }) }));
|
|
97
93
|
},
|
|
98
94
|
mystComment() {
|
|
99
95
|
return null;
|
|
@@ -101,28 +97,17 @@ const BASIC_RENDERERS = {
|
|
|
101
97
|
comment() {
|
|
102
98
|
return null;
|
|
103
99
|
},
|
|
104
|
-
definitionList(node
|
|
105
|
-
return (_jsx("dl", { className: "my-5", id: node.html_id, children:
|
|
106
|
-
},
|
|
107
|
-
definitionTerm(node
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (typeof child === 'string')
|
|
113
|
-
return _jsx("strong", { children: child }, node.key + i);
|
|
114
|
-
if (allowedStrongTypes.has(child === null || child === void 0 ? void 0 : child.type))
|
|
115
|
-
return _jsx("strong", { children: child }, node.key + i);
|
|
116
|
-
return child;
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
else if (typeof children === 'string') {
|
|
120
|
-
strongChildren = _jsx("strong", { children: children }, node.key + '0');
|
|
121
|
-
}
|
|
122
|
-
return (_jsx("dt", { id: node.html_id, children: strongChildren }, node.key));
|
|
100
|
+
definitionList({ node }) {
|
|
101
|
+
return (_jsx("dl", { className: "my-5", id: node.html_id, children: _jsx(MyST, { ast: node.children }) }));
|
|
102
|
+
},
|
|
103
|
+
definitionTerm({ node }) {
|
|
104
|
+
var _a, _b;
|
|
105
|
+
const allowedStrongTypes = new Set(['text', 'emphasis']);
|
|
106
|
+
const makeStrong = (_b = (_a = node.children) === null || _a === void 0 ? void 0 : _a.reduce((allowed, n) => allowed && allowedStrongTypes.has(n.type), true)) !== null && _b !== void 0 ? _b : false;
|
|
107
|
+
return (_jsx("dt", { id: node.html_id, children: makeStrong ? (_jsx("strong", { children: _jsx(MyST, { ast: node.children }) })) : (_jsx(MyST, { ast: node.children })) }));
|
|
123
108
|
},
|
|
124
|
-
definitionDescription(node
|
|
125
|
-
return _jsx("dd", { children:
|
|
109
|
+
definitionDescription({ node }) {
|
|
110
|
+
return (_jsx("dd", { children: _jsx(MyST, { ast: node.children }) }));
|
|
126
111
|
},
|
|
127
112
|
};
|
|
128
113
|
export default BASIC_RENDERERS;
|
package/dist/esm/card.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AACF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,UAAU,CAM3C,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,UAAU,CAM3C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,YAAY,CAAC,aAAa,CAMjD,CAAC;AAmDF,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,QAAQ,CAoC/C,CAAC;AAEF,QAAA,MAAM,cAAc;;;;;CAKnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/esm/card.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { useLinkProvider, useBaseurl, withBaseurl } from '@myst-theme/providers';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { MyST } from './MyST';
|
|
5
|
+
export const Header = ({ node }) => {
|
|
6
|
+
return (_jsx("header", { className: "py-1 pl-3 m-0 border-b border-gray-100 bg-gray-50 dark:bg-slate-900 dark:border-gray-800", children: _jsx(MyST, { ast: node.children }) }));
|
|
6
7
|
};
|
|
7
|
-
export const Footer = (node
|
|
8
|
-
return (_jsx("footer", { className: "py-1 pl-3 m-0 border-t border-gray-100 bg-gray-50 dark:bg-slate-900 dark:border-gray-800", children:
|
|
8
|
+
export const Footer = ({ node }) => {
|
|
9
|
+
return (_jsx("footer", { className: "py-1 pl-3 m-0 border-t border-gray-100 bg-gray-50 dark:bg-slate-900 dark:border-gray-800", children: _jsx(MyST, { ast: node.children }) }));
|
|
9
10
|
};
|
|
10
|
-
export const CardTitle = (node
|
|
11
|
-
return (_jsx("div", { className: "pt-3 font-bold group-hover:underline", children:
|
|
11
|
+
export const CardTitle = ({ node }) => {
|
|
12
|
+
return (_jsx("div", { className: "pt-3 font-bold group-hover:underline", children: _jsx(MyST, { ast: node.children }) }));
|
|
12
13
|
};
|
|
13
14
|
function getParts(children) {
|
|
14
15
|
var _a, _b;
|
|
@@ -33,17 +34,16 @@ function ExternalOrInternalLink({ to, className, isStatic, prefetch = 'intent',
|
|
|
33
34
|
}
|
|
34
35
|
return (_jsx(Link, { to: withBaseurl(to, baseurl), className: className, prefetch: prefetch, children: children }));
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
const parts = getParts(children);
|
|
37
|
+
export const CardRenderer = ({ node }) => {
|
|
38
|
+
const parts = getParts(node.children);
|
|
39
|
+
const url = node.url;
|
|
40
|
+
const isStatic = node.static || false;
|
|
38
41
|
const link = !!url;
|
|
39
42
|
const sharedStyle = 'my-5 rounded shadow dark:shadow-neutral-800 overflow-hidden border border-gray-100 dark:border-gray-800 flex flex-col';
|
|
40
43
|
if (link) {
|
|
41
|
-
return (_jsxs(ExternalOrInternalLink, { to: url, isStatic: isStatic, className: classNames(sharedStyle, 'text-inherit hover:text-inherit', 'block font-normal no-underline hover:no-underline cursor-pointer group', 'hover:border-blue-500 dark:hover:border-blue-400'), children: [parts.header, _jsx("div", { className: "flex-grow px-4 py-2", children: parts.body }), parts.footer] }));
|
|
44
|
+
return (_jsxs(ExternalOrInternalLink, { to: url, isStatic: isStatic, className: classNames(sharedStyle, 'text-inherit hover:text-inherit', 'block font-normal no-underline hover:no-underline cursor-pointer group', 'hover:border-blue-500 dark:hover:border-blue-400'), children: [_jsx(MyST, { ast: parts.header }), _jsx("div", { className: "flex-grow px-4 py-2", children: _jsx(MyST, { ast: parts.body }) }), _jsx(MyST, { ast: parts.footer })] }));
|
|
42
45
|
}
|
|
43
|
-
return (_jsxs("div", { className: sharedStyle, children: [parts.header, _jsx("div", { className: "flex-grow px-4 py-2", children: parts.body }), parts.footer] }));
|
|
44
|
-
}
|
|
45
|
-
export const CardRenderer = (node, children) => {
|
|
46
|
-
return (_jsx(Card, { url: node.url, isStatic: node.static || false, children: children }, node.key));
|
|
46
|
+
return (_jsxs("div", { className: sharedStyle, children: [_jsx(MyST, { ast: parts.header }), _jsx("div", { className: "flex-grow px-4 py-2", children: _jsx(MyST, { ast: parts.body }) }), _jsx(MyST, { ast: parts.footer })] }));
|
|
47
47
|
};
|
|
48
48
|
const CARD_RENDERERS = {
|
|
49
49
|
card: CardRenderer,
|
package/dist/esm/cite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cite.d.ts","sourceRoot":"","sources":["../../src/cite.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cite.d.ts","sourceRoot":"","sources":["../../src/cite.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAe1D,eAAO,MAAM,SAAS,EAAE,YAWvB,CAAC;AAEF,eAAO,MAAM,IAAI;;;cAOL,MAAM,SAAS;6CAuB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAM1B,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAGhD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/esm/cite.js
CHANGED
|
@@ -3,15 +3,16 @@ import classNames from 'classnames';
|
|
|
3
3
|
import { useReferences } from '@myst-theme/providers';
|
|
4
4
|
import { doi } from 'doi-utils';
|
|
5
5
|
import { InlineError } from './inlineError';
|
|
6
|
-
import { HoverPopover } from './components
|
|
6
|
+
import { HoverPopover } from './components';
|
|
7
|
+
import { MyST } from './MyST';
|
|
7
8
|
function CiteChild({ html }) {
|
|
8
9
|
return (_jsx("div", { className: "hover-document w-[500px] sm:max-w-[500px] p-3", dangerouslySetInnerHTML: { __html: html || '' } }));
|
|
9
10
|
}
|
|
10
|
-
export const CiteGroup = (node
|
|
11
|
+
export const CiteGroup = ({ node }) => {
|
|
11
12
|
return (_jsx("span", { className: classNames('cite-group', {
|
|
12
13
|
narrative: node.kind === 'narrative',
|
|
13
14
|
parenthetical: node.kind === 'parenthetical',
|
|
14
|
-
}), children:
|
|
15
|
+
}), children: _jsx(MyST, { ast: node.children }) }));
|
|
15
16
|
};
|
|
16
17
|
export const Cite = ({ label, error, children, }) => {
|
|
17
18
|
var _a, _b;
|
|
@@ -26,8 +27,8 @@ export const Cite = ({ label, error, children, }) => {
|
|
|
26
27
|
const doiUrl = doiString ? doi.buildUrl(doiString) : null;
|
|
27
28
|
return (_jsx(HoverPopover, { openDelay: 300, card: _jsx(CiteChild, { html: html }), children: _jsxs("cite", { className: "hover-link", children: [doiUrl && (_jsx("a", { href: doiUrl, target: "_blank", rel: "noreferrer", className: "hover-link", children: children })), !doiUrl && children] }) }));
|
|
28
29
|
};
|
|
29
|
-
export const CiteRenderer = (node
|
|
30
|
-
return (_jsx(Cite, { label: node.label, error: node.error, children:
|
|
30
|
+
export const CiteRenderer = ({ node }) => {
|
|
31
|
+
return (_jsx(Cite, { label: node.label, error: node.error, children: _jsx(MyST, { ast: node.children }) }));
|
|
31
32
|
};
|
|
32
33
|
const CITE_RENDERERS = {
|
|
33
34
|
citeGroup: CiteGroup,
|
package/dist/esm/code.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/code.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/code.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,2CA4DrC;AA6CD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA3C0B,OAAO;;;CA8CpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/esm/code.js
CHANGED
|
@@ -4,7 +4,7 @@ import { LightAsync as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
|
4
4
|
import light from 'react-syntax-highlighter/dist/cjs/styles/hljs/xcode';
|
|
5
5
|
import dark from 'react-syntax-highlighter/dist/cjs/styles/hljs/vs2015';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
|
-
import { CopyIcon } from './components
|
|
7
|
+
import { CopyIcon } from './components';
|
|
8
8
|
function normalizeLanguage(lang) {
|
|
9
9
|
switch (lang) {
|
|
10
10
|
case 'html':
|
|
@@ -39,10 +39,10 @@ export function CodeBlock(props) {
|
|
|
39
39
|
'data-highlight': 'true',
|
|
40
40
|
}
|
|
41
41
|
: { 'data-line-number': `${line}` };
|
|
42
|
-
}, customStyle: { padding: '0.8rem' }, children: value }), showCopy &&
|
|
42
|
+
}, customStyle: { padding: '0.8rem' }, children: value }), showCopy && _jsx(CopyIcon, { text: value, className: "absolute top-1 right-1" })] }));
|
|
43
43
|
}
|
|
44
|
-
const code = (node) => {
|
|
45
|
-
return (_jsx(CodeBlock, { identifier: node.html_id, "data-mdast-node-type": node.type, "data-mdast-node-id": node.key, value: node.value || '', lang: node.lang, emphasizeLines: node.emphasizeLines, showLineNumbers: node.showLineNumbers, startingLineNumber: node.startingLineNumber, shadow: true, border: node.executable, background: !node.executable }
|
|
44
|
+
const code = ({ node }) => {
|
|
45
|
+
return (_jsx(CodeBlock, { identifier: node.html_id, "data-mdast-node-type": node.type, "data-mdast-node-id": node.key, value: node.value || '', lang: node.lang, emphasizeLines: node.emphasizeLines, showLineNumbers: node.showLineNumbers, startingLineNumber: node.startingLineNumber, shadow: true, border: node.executable, background: !node.executable }));
|
|
46
46
|
};
|
|
47
47
|
function isColor(maybeColorHash) {
|
|
48
48
|
if (!maybeColorHash || maybeColorHash.length > 9)
|
|
@@ -55,11 +55,11 @@ function isColor(maybeColorHash) {
|
|
|
55
55
|
const color = match[1];
|
|
56
56
|
return color;
|
|
57
57
|
}
|
|
58
|
-
const inlineCode = (node
|
|
58
|
+
const inlineCode = ({ node }) => {
|
|
59
59
|
if (isColor(node.value)) {
|
|
60
|
-
return (_jsxs("code", { className: "px-1 rounded bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-100", children: [
|
|
60
|
+
return (_jsxs("code", { className: "px-1 rounded bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-100", children: [node.value, _jsx("span", { style: { backgroundColor: node.value }, className: "inline-block w-[10px] h-[10px] rounded-full ml-1" })] }));
|
|
61
61
|
}
|
|
62
|
-
return _jsx("code", { children:
|
|
62
|
+
return _jsx("code", { children: node.value });
|
|
63
63
|
};
|
|
64
64
|
const CODE_RENDERERS = {
|
|
65
65
|
code,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyIcon.d.ts","sourceRoot":"","sources":["../../../src/components/CopyIcon.tsx"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"CopyIcon.d.ts","sourceRoot":"","sources":["../../../src/components/CopyIcon.tsx"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAgCjF"}
|
|
@@ -3,7 +3,7 @@ import DocumentDuplicateIcon from '@heroicons/react/24/outline/DocumentDuplicate
|
|
|
3
3
|
import CheckIcon from '@heroicons/react/24/outline/CheckIcon';
|
|
4
4
|
import { useState } from 'react';
|
|
5
5
|
import classNames from 'classnames';
|
|
6
|
-
export function CopyIcon({ text }) {
|
|
6
|
+
export function CopyIcon({ text, className }) {
|
|
7
7
|
const [copied, setCopied] = useState(false);
|
|
8
8
|
const onClick = () => {
|
|
9
9
|
if (copied)
|
|
@@ -13,8 +13,8 @@ export function CopyIcon({ text }) {
|
|
|
13
13
|
setTimeout(() => setCopied(false), 3000);
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
|
-
return (_jsx("button", { title: copied ? 'Copied!!' : 'Copy to Clipboard', className: classNames('inline-flex items-center opacity-
|
|
17
|
-
'text-blue-
|
|
18
|
-
'text-green-500
|
|
19
|
-
}), onClick: onClick, "aria-pressed": copied ? 'true' : 'false', "aria-label": "Copy code to clipboard", children: copied ? (_jsx(CheckIcon, { className: "w-[24px] h-[24px] text-success" })) : (_jsx(DocumentDuplicateIcon, { className: "w-[24px] h-[24px]" })) }));
|
|
16
|
+
return (_jsx("button", { title: copied ? 'Copied!!' : 'Copy to Clipboard', className: classNames('inline-flex items-center opacity-0 group-hover:opacity-100 hover:opacity-100 focus:opacity-100 active:opacity-100 cursor-pointer ml-2', 'transition-color duration-200 ease-in-out', {
|
|
17
|
+
'text-blue-400 hover:text-blue-500': !copied,
|
|
18
|
+
'text-green-500 hover:text-green-500': copied,
|
|
19
|
+
}, className), onClick: onClick, "aria-pressed": copied ? 'true' : 'false', "aria-label": "Copy code to clipboard", children: copied ? (_jsx(CheckIcon, { className: "w-[24px] h-[24px] text-success" })) : (_jsx(DocumentDuplicateIcon, { className: "w-[24px] h-[24px]" })) }));
|
|
20
20
|
}
|
|
@@ -8,4 +8,8 @@ export declare function HoverPopover({ children, openDelay, card, side, arrowCla
|
|
|
8
8
|
load: boolean;
|
|
9
9
|
}) => React.ReactNode);
|
|
10
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function Tooltip({ title, children, }: {
|
|
12
|
+
title: React.ReactNode;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
15
|
//# sourceMappingURL=HoverPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverPopover.d.ts","sourceRoot":"","sources":["../../../src/components/HoverPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAe,EACf,IAAI,EACJ,IAAI,EACJ,UAAyB,GAC1B,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACxE,2CAmBA"}
|
|
1
|
+
{"version":3,"file":"HoverPopover.d.ts","sourceRoot":"","sources":["../../../src/components/HoverPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAe,EACf,IAAI,EACJ,IAAI,EACJ,UAAyB,GAC1B,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACxE,2CAmBA;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAcA"}
|
|
@@ -5,3 +5,6 @@ export function HoverPopover({ children, openDelay = 400, card, side, arrowClass
|
|
|
5
5
|
const [load, setLoad] = useState(false);
|
|
6
6
|
return (_jsxs(HoverCard.Root, { openDelay: openDelay, children: [_jsx(HoverCard.Trigger, { asChild: true, onMouseEnter: () => setLoad(true), children: children }), _jsx(HoverCard.Portal, { children: _jsxs(HoverCard.Content, { className: "exclude-from-outline hover-card-content", sideOffset: 5, side: side, children: [typeof card === 'function' ? load && card({ load }) : card, _jsx(HoverCard.Arrow, { className: arrowClass })] }) })] }));
|
|
7
7
|
}
|
|
8
|
+
export function Tooltip({ title, children, }) {
|
|
9
|
+
return (_jsx(HoverPopover, { side: "top", card: _jsx("div", { className: "p-1 text-xs text-white bg-blue-900 dark:bg-white dark:text-black", children: title }), arrowClass: "fill-blue-900 dark:fill-white", children: children }));
|
|
10
|
+
}
|
|
@@ -5,7 +5,7 @@ export declare function LinkCard({ url, title, internal, loading, description, t
|
|
|
5
5
|
loading?: boolean;
|
|
6
6
|
title: React.ReactNode;
|
|
7
7
|
description?: React.ReactNode;
|
|
8
|
-
thumbnail?: string;
|
|
8
|
+
thumbnail?: string | null;
|
|
9
9
|
className?: string;
|
|
10
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
//# sourceMappingURL=LinkCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkCard.d.ts","sourceRoot":"","sources":["../../../src/components/LinkCard.tsx"],"names":[],"mappings":";AAIA,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,QAAgB,EAChB,OAAe,EACf,WAAW,EACX,SAAS,EACT,SAAmE,GACpE,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkCard.d.ts","sourceRoot":"","sources":["../../../src/components/LinkCard.tsx"],"names":[],"mappings":";AAIA,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,QAAgB,EAChB,OAAe,EACf,WAAW,EACX,SAAS,EACT,SAAmE,GACpE,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAuCA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crossReference.d.ts","sourceRoot":"","sources":["../../src/crossReference.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"crossReference.d.ts","sourceRoot":"","sources":["../../src/crossReference.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwH1D,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,GAAG,EACH,OAAO,GACR,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,sDAWA;AAuBD,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EACR,UAAU,EACV,MAAW,GACZ,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAuDA;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAqB3D,CAAC;AAEF,QAAA,MAAM,yBAAyB;;CAE9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { selectAll } from 'unist-util-select';
|
|
3
3
|
import { EXIT, SKIP, visit } from 'unist-util-visit';
|
|
4
|
-
import { useLinkProvider,
|
|
5
|
-
import { useParse } from '.';
|
|
4
|
+
import { useLinkProvider, useReferences, useBaseurl, withBaseurl, XRefProvider, useXRefState, } from '@myst-theme/providers';
|
|
6
5
|
import { InlineError } from './inlineError';
|
|
7
6
|
import useSWR from 'swr';
|
|
8
|
-
import { HoverPopover } from './components
|
|
7
|
+
import { HoverPopover } from './components';
|
|
8
|
+
import { MyST } from './MyST';
|
|
9
9
|
const hiddenNodes = new Set(['comment', 'mystComment']);
|
|
10
10
|
function selectHeadingNodes(mdast, identifier, maxNodes = 3) {
|
|
11
11
|
let begin = false;
|
|
@@ -74,12 +74,8 @@ const fetcher = (...args) => fetch(...args).then((res) => {
|
|
|
74
74
|
throw new Error(`Content returned with status ${res.status}.`);
|
|
75
75
|
});
|
|
76
76
|
// This is a small component that must be distinct based on the nodes
|
|
77
|
-
// This is because the useParse can have different numbers of hooks, which breaks things
|
|
78
77
|
function XrefChildren({ load, remote, url, dataUrl, identifier, }) {
|
|
79
|
-
var _a;
|
|
80
78
|
const data = useSelectNodes({ load, remote, url, dataUrl, identifier });
|
|
81
|
-
const renderers = useNodeRenderers();
|
|
82
|
-
const children = useParse({ type: 'block', children: (_a = data === null || data === void 0 ? void 0 : data.nodes) !== null && _a !== void 0 ? _a : [] }, renderers);
|
|
83
79
|
if (!data)
|
|
84
80
|
return null;
|
|
85
81
|
if (data.loading) {
|
|
@@ -91,7 +87,7 @@ function XrefChildren({ load, remote, url, dataUrl, identifier, }) {
|
|
|
91
87
|
if (!data.nodes || data.nodes.length === 0) {
|
|
92
88
|
return (_jsx(_Fragment, { children: _jsx(InlineError, { value: identifier || 'No Label', message: "Cross Reference Not Found" }) }));
|
|
93
89
|
}
|
|
94
|
-
return _jsx(
|
|
90
|
+
return _jsx(MyST, { ast: data === null || data === void 0 ? void 0 : data.nodes });
|
|
95
91
|
}
|
|
96
92
|
function openDetails(el) {
|
|
97
93
|
if (!el)
|
|
@@ -144,12 +140,12 @@ export function CrossReferenceHover({ url: urlIn, dataUrl: dataUrlIn, remote: re
|
|
|
144
140
|
};
|
|
145
141
|
return (_jsx(HoverPopover, { card: ({ load }) => (_jsx(XRefProvider, { remote: remote, url: url, dataUrl: dataUrl, children: _jsx("div", { className: "hover-document w-[500px] sm:max-w-[500px] px-3", children: _jsx(XrefChildren, { load: load, remote: remote, url: url, dataUrl: dataUrl, identifier: identifier }) }) })), children: _jsxs("span", { children: [remote && external && (_jsx("a", { href: `${url}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", className: "hover-link", children: children })), remote && !external && (_jsx(Link, { to: `${withBaseurl(url, baseurl)}${htmlId ? `#${htmlId}` : ''}`, prefetch: "intent", className: "hover-link", children: children })), !remote && (_jsx("a", { href: `#${htmlId}`, onClick: scroll, className: "hover-link", children: children }))] }) }));
|
|
146
142
|
}
|
|
147
|
-
export const CrossReferenceNode = (node
|
|
148
|
-
if (!children) {
|
|
149
|
-
return (_jsx(InlineError, { value: node.label || node.identifier || 'No Label', message: "Cross Reference Not Found" }
|
|
143
|
+
export const CrossReferenceNode = ({ node }) => {
|
|
144
|
+
if (!node.children) {
|
|
145
|
+
return (_jsx(InlineError, { value: node.label || node.identifier || 'No Label', message: "Cross Reference Not Found" }));
|
|
150
146
|
}
|
|
151
147
|
const { remote, url, dataUrl, identifier, html_id } = node;
|
|
152
|
-
return (_jsx(CrossReferenceHover, { identifier: identifier, htmlId: html_id, remote: remote, url: url, dataUrl: dataUrl, children:
|
|
148
|
+
return (_jsx(CrossReferenceHover, { identifier: identifier, htmlId: html_id, remote: remote, url: url, dataUrl: dataUrl, children: _jsx(MyST, { ast: node.children }) }));
|
|
153
149
|
};
|
|
154
150
|
const CROSS_REFERENCE_RENDERERS = {
|
|
155
151
|
crossReference: CrossReferenceNode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,WAAW,CAElD,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,IAAI,GACL,EAAE;IACD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,2CA4BA;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,YAAY,CAOtD,CAAC;AAEF,QAAA,MAAM,kBAAkB;;;CAGvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/dist/esm/dropdown.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import ChevronRightIcon from '@heroicons/react/24/solid/ChevronRightIcon';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
+
import { MyST } from './MyST';
|
|
4
5
|
const iconClass = 'h-8 w-8 inline-block pl-2 mr-2 -translate-y-[1px]';
|
|
5
|
-
export const SummaryTitle = (node
|
|
6
|
-
return children;
|
|
6
|
+
export const SummaryTitle = ({ node }) => {
|
|
7
|
+
return _jsx(MyST, { ast: node.children });
|
|
7
8
|
};
|
|
8
9
|
export function Details({ title, children, open, }) {
|
|
9
10
|
return (_jsxs("details", { className: classNames('rounded-md my-5 shadow dark:shadow-2xl dark:shadow-neutral-900 overflow-hidden', 'bg-gray-50 dark:bg-stone-800'), open: open, children: [_jsx("summary", { className: classNames('m-0 text-lg font-medium py-1 min-h-[2em] pl-3', 'cursor-pointer hover:shadow-[inset_0_0_0px_30px_#00000003] dark:hover:shadow-[inset_0_0_0px_30px_#FFFFFF03]', 'bg-gray-100 dark:bg-slate-900'), children: _jsxs("span", { className: "text-neutral-900 dark:text-white", children: [_jsx("span", { className: "block float-right text-sm font-thin text-neutral-700 dark:text-neutral-200", children: _jsx(ChevronRightIcon, { className: classNames(iconClass, 'details-toggle', 'transition-transform') }) }), title] }) }), _jsx("div", { className: "px-4 py-1 details-body", children: children })] }));
|
|
10
11
|
}
|
|
11
|
-
export const DetailsRenderer = (node
|
|
12
|
-
const [title, ...rest] = children;
|
|
13
|
-
return (_jsx(Details, { title: title, open: node.open, children: rest }
|
|
12
|
+
export const DetailsRenderer = ({ node }) => {
|
|
13
|
+
const [title, ...rest] = node.children;
|
|
14
|
+
return (_jsx(Details, { title: _jsx(MyST, { ast: [title] }), open: node.open, children: _jsx(MyST, { ast: rest }) }));
|
|
14
15
|
};
|
|
15
16
|
const DROPDOWN_RENDERERS = {
|
|
16
17
|
details: DetailsRenderer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercise.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"exercise.d.ts","sourceRoot":"","sources":["../../src/exercise.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAkEhF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,GACL,EAAE;IACD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;CACvD,2CA0EA;AAED,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,cAAc,CAiCzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,cAAc,CAgCzD,CAAC;AAEF,QAAA,MAAM,kBAAkB;;;CAGvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/dist/esm/exercise.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import ChevronRightIcon from '@heroicons/react/24/solid/ChevronRightIcon';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { HashLink } from './heading';
|
|
5
|
+
import { MyST } from './MyST';
|
|
5
6
|
function getClasses(className) {
|
|
6
7
|
var _a;
|
|
7
8
|
const classes = (_a = className === null || className === void 0 ? void 0 : className.split(' ').map((s) => s.trim().toLowerCase()).filter((s) => !!s)) !== null && _a !== void 0 ? _a : [];
|
|
@@ -64,32 +65,32 @@ export function Callout({ title, color, dropdown, children, identifier, Icon, })
|
|
|
64
65
|
})) })), _jsx("div", { className: classNames('text-neutral-900 dark:text-white grow self-center overflow-hidden break-words', { 'ml-4': !Icon }, // No icon!
|
|
65
66
|
'group'), children: title }), dropdown && (_jsx("div", { className: "self-center flex-none text-sm font-thin text-neutral-700 dark:text-neutral-200", children: _jsx(ChevronRightIcon, { className: classNames(iconClass, 'transition-transform details-toggle') }) }))] }), _jsx("div", { className: classNames('px-4', { 'details-body': dropdown }), children: children })] }));
|
|
66
67
|
}
|
|
67
|
-
export const ExerciseRenderer = (node
|
|
68
|
+
export const ExerciseRenderer = ({ node }) => {
|
|
68
69
|
var _a, _b, _c;
|
|
69
70
|
if (node.hidden)
|
|
70
71
|
return null;
|
|
71
|
-
const [title, ...rest] = (_a = children) !== null && _a !== void 0 ? _a : [];
|
|
72
|
+
const [title, ...rest] = (_a = node.children) !== null && _a !== void 0 ? _a : [];
|
|
72
73
|
const classes = getClasses(node.class);
|
|
73
74
|
const { color } = getColor({ classes });
|
|
74
75
|
const isDropdown = classes.includes('dropdown');
|
|
75
76
|
const useTitle = ((_c = (_b = node.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.type) === 'admonitionTitle';
|
|
76
77
|
const identifier = node.html_id;
|
|
77
78
|
const enumerator = node.enumerator;
|
|
78
|
-
const titleNode = (_jsxs(_Fragment, { children: [_jsxs(HashLink, { id: identifier, kind: "Exercise", children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', "Exercise", enumerator != null && _jsxs(_Fragment, { children: [" ", enumerator] })] }), useTitle && _jsxs(_Fragment, { children: ["
|
|
79
|
-
return (
|
|
79
|
+
const titleNode = (_jsxs(_Fragment, { children: [_jsxs(HashLink, { id: identifier, kind: "Exercise", children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', "Exercise", enumerator != null && _jsxs(_Fragment, { children: [" ", enumerator] })] }), useTitle && (_jsxs(_Fragment, { children: [' ', "(", _jsx(MyST, { ast: [title] }), ")"] }))] }));
|
|
80
|
+
return (_jsx(Callout, { identifier: identifier, title: titleNode, color: color, dropdown: isDropdown, children: useTitle ? _jsx(MyST, { ast: rest }) : _jsx(MyST, { ast: node.children }) }));
|
|
80
81
|
};
|
|
81
|
-
export const SolutionRenderer = (node
|
|
82
|
+
export const SolutionRenderer = ({ node }) => {
|
|
82
83
|
var _a, _b, _c;
|
|
83
84
|
if (node.hidden)
|
|
84
85
|
return null;
|
|
85
|
-
const [title, ...rest] = (_a = children) !== null && _a !== void 0 ? _a : [];
|
|
86
|
+
const [title, ...rest] = (_a = node.children) !== null && _a !== void 0 ? _a : [];
|
|
86
87
|
const classes = getClasses(node.class);
|
|
87
88
|
const { color } = getColor({ classes }, 'gray');
|
|
88
89
|
const isDropdown = classes.includes('dropdown');
|
|
89
90
|
const useTitle = ((_c = (_b = node.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.type) === 'admonitionTitle';
|
|
90
91
|
const identifier = node.html_id;
|
|
91
|
-
const titleNode = (_jsxs(_Fragment, { children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', title, _jsx(HashLink, { id: identifier, kind: "Solution", hover: true, hideInPopup: true, children: ' #' })] }));
|
|
92
|
-
return (
|
|
92
|
+
const titleNode = (_jsxs(_Fragment, { children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', _jsx(MyST, { ast: [title] }), _jsx(HashLink, { id: identifier, kind: "Solution", hover: true, hideInPopup: true, children: ' #' })] }));
|
|
93
|
+
return (_jsx(Callout, { identifier: identifier, title: useTitle ? titleNode : undefined, color: color, dropdown: isDropdown, children: useTitle ? _jsx(MyST, { ast: rest }) : _jsx(MyST, { ast: node.children }) }));
|
|
93
94
|
};
|
|
94
95
|
const EXERCISE_RENDERERS = {
|
|
95
96
|
exercise: ExerciseRenderer,
|
|
@@ -22,13 +22,13 @@ function parseFormula(formula) {
|
|
|
22
22
|
return [...acc, `${last !== null && last !== void 0 ? last : ''}${letter}`];
|
|
23
23
|
}, []);
|
|
24
24
|
}
|
|
25
|
-
export const ChemicalFormula = (node) => {
|
|
25
|
+
export const ChemicalFormula = ({ node }) => {
|
|
26
26
|
const parts = parseFormula(node.value);
|
|
27
27
|
return (_jsx("span", { className: "text-inherit", "aria-roledescription": "Chemical Formula", children: parts.map((letter, index) => {
|
|
28
28
|
if (letter.match(/[0-9]/))
|
|
29
29
|
return _jsx("sub", { children: letter }, index);
|
|
30
30
|
return _jsx("span", { children: letter }, index);
|
|
31
|
-
}) }
|
|
31
|
+
}) }));
|
|
32
32
|
};
|
|
33
33
|
const CHEM_RENDERERS = {
|
|
34
34
|
chemicalFormula: ChemicalFormula,
|