myst-to-react 0.3.8 → 0.4.1

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.
Files changed (180) hide show
  1. package/dist/cjs/MyST.d.ts +5 -0
  2. package/dist/cjs/MyST.d.ts.map +1 -0
  3. package/dist/cjs/MyST.js +26 -0
  4. package/dist/cjs/admonitions.d.ts.map +1 -1
  5. package/dist/cjs/admonitions.js +7 -7
  6. package/dist/cjs/basic.d.ts +1 -0
  7. package/dist/cjs/basic.d.ts.map +1 -1
  8. package/dist/cjs/basic.js +64 -79
  9. package/dist/cjs/card.d.ts.map +1 -1
  10. package/dist/cjs/card.js +13 -13
  11. package/dist/cjs/cite.d.ts.map +1 -1
  12. package/dist/cjs/cite.js +7 -6
  13. package/dist/cjs/code.d.ts.map +1 -1
  14. package/dist/cjs/code.js +7 -7
  15. package/dist/cjs/components/CopyIcon.d.ts +2 -1
  16. package/dist/cjs/components/CopyIcon.d.ts.map +1 -1
  17. package/dist/cjs/components/CopyIcon.js +5 -5
  18. package/dist/cjs/components/HoverPopover.d.ts +4 -0
  19. package/dist/cjs/components/HoverPopover.d.ts.map +1 -1
  20. package/dist/cjs/components/HoverPopover.js +5 -1
  21. package/dist/cjs/components/LinkCard.d.ts +1 -1
  22. package/dist/cjs/components/LinkCard.d.ts.map +1 -1
  23. package/dist/cjs/components/index.d.ts +4 -0
  24. package/dist/cjs/components/index.d.ts.map +1 -0
  25. package/dist/cjs/components/index.js +10 -0
  26. package/dist/cjs/crossReference.d.ts.map +1 -1
  27. package/dist/cjs/crossReference.js +8 -12
  28. package/dist/cjs/dropdown.d.ts.map +1 -1
  29. package/dist/cjs/dropdown.js +6 -5
  30. package/dist/cjs/exercise.d.ts.map +1 -1
  31. package/dist/cjs/exercise.js +9 -8
  32. package/dist/cjs/extensions/chemicalFormula.js +2 -2
  33. package/dist/cjs/extensions/siunits.d.ts.map +1 -1
  34. package/dist/cjs/extensions/siunits.js +2 -2
  35. package/dist/cjs/footnotes.d.ts.map +1 -1
  36. package/dist/cjs/footnotes.js +5 -7
  37. package/dist/cjs/grid.d.ts.map +1 -1
  38. package/dist/cjs/grid.js +3 -2
  39. package/dist/cjs/heading.d.ts.map +1 -1
  40. package/dist/cjs/heading.js +4 -4
  41. package/dist/cjs/iframe.d.ts.map +1 -1
  42. package/dist/cjs/iframe.js +3 -5
  43. package/dist/cjs/image.d.ts.map +1 -1
  44. package/dist/cjs/image.js +2 -2
  45. package/dist/cjs/index.d.ts +2 -4
  46. package/dist/cjs/index.d.ts.map +1 -1
  47. package/dist/cjs/index.js +8 -17
  48. package/dist/cjs/inlineExpression.d.ts.map +1 -1
  49. package/dist/cjs/inlineExpression.js +4 -2
  50. package/dist/cjs/links/github.d.ts.map +1 -1
  51. package/dist/cjs/links/github.js +4 -5
  52. package/dist/cjs/links/index.d.ts.map +1 -1
  53. package/dist/cjs/links/index.js +13 -13
  54. package/dist/cjs/links/rrid.js +2 -2
  55. package/dist/cjs/links/wiki.d.ts.map +1 -1
  56. package/dist/cjs/links/wiki.js +3 -4
  57. package/dist/cjs/math.d.ts.map +1 -1
  58. package/dist/cjs/math.js +6 -6
  59. package/dist/cjs/proof.d.ts.map +1 -1
  60. package/dist/cjs/proof.js +5 -5
  61. package/dist/cjs/reactive.d.ts +9 -84
  62. package/dist/cjs/reactive.d.ts.map +1 -1
  63. package/dist/cjs/reactive.js +4 -8
  64. package/dist/cjs/tabs.d.ts.map +1 -1
  65. package/dist/cjs/tabs.js +5 -4
  66. package/dist/cjs/unknown.d.ts.map +1 -1
  67. package/dist/cjs/unknown.js +2 -2
  68. package/dist/esm/MyST.d.ts +5 -0
  69. package/dist/esm/MyST.d.ts.map +1 -0
  70. package/dist/esm/MyST.js +22 -0
  71. package/dist/esm/admonitions.d.ts.map +1 -1
  72. package/dist/esm/admonitions.js +7 -7
  73. package/dist/esm/basic.d.ts +1 -0
  74. package/dist/esm/basic.d.ts.map +1 -1
  75. package/dist/esm/basic.js +64 -79
  76. package/dist/esm/card.d.ts.map +1 -1
  77. package/dist/esm/card.js +13 -13
  78. package/dist/esm/cite.d.ts.map +1 -1
  79. package/dist/esm/cite.js +6 -5
  80. package/dist/esm/code.d.ts.map +1 -1
  81. package/dist/esm/code.js +7 -7
  82. package/dist/esm/components/CopyIcon.d.ts +2 -1
  83. package/dist/esm/components/CopyIcon.d.ts.map +1 -1
  84. package/dist/esm/components/CopyIcon.js +5 -5
  85. package/dist/esm/components/HoverPopover.d.ts +4 -0
  86. package/dist/esm/components/HoverPopover.d.ts.map +1 -1
  87. package/dist/esm/components/HoverPopover.js +3 -0
  88. package/dist/esm/components/LinkCard.d.ts +1 -1
  89. package/dist/esm/components/LinkCard.d.ts.map +1 -1
  90. package/dist/esm/components/index.d.ts +4 -0
  91. package/dist/esm/components/index.d.ts.map +1 -0
  92. package/dist/esm/components/index.js +3 -0
  93. package/dist/esm/crossReference.d.ts.map +1 -1
  94. package/dist/esm/crossReference.js +8 -12
  95. package/dist/esm/dropdown.d.ts.map +1 -1
  96. package/dist/esm/dropdown.js +6 -5
  97. package/dist/esm/exercise.d.ts.map +1 -1
  98. package/dist/esm/exercise.js +9 -8
  99. package/dist/esm/extensions/chemicalFormula.js +2 -2
  100. package/dist/esm/extensions/siunits.d.ts.map +1 -1
  101. package/dist/esm/extensions/siunits.js +2 -2
  102. package/dist/esm/footnotes.d.ts.map +1 -1
  103. package/dist/esm/footnotes.js +6 -8
  104. package/dist/esm/grid.d.ts.map +1 -1
  105. package/dist/esm/grid.js +3 -2
  106. package/dist/esm/heading.d.ts.map +1 -1
  107. package/dist/esm/heading.js +4 -4
  108. package/dist/esm/iframe.d.ts.map +1 -1
  109. package/dist/esm/iframe.js +3 -5
  110. package/dist/esm/image.d.ts.map +1 -1
  111. package/dist/esm/image.js +2 -2
  112. package/dist/esm/index.d.ts +2 -4
  113. package/dist/esm/index.d.ts.map +1 -1
  114. package/dist/esm/index.js +2 -14
  115. package/dist/esm/inlineExpression.d.ts.map +1 -1
  116. package/dist/esm/inlineExpression.js +4 -2
  117. package/dist/esm/links/github.d.ts.map +1 -1
  118. package/dist/esm/links/github.js +2 -3
  119. package/dist/esm/links/index.d.ts.map +1 -1
  120. package/dist/esm/links/index.js +12 -12
  121. package/dist/esm/links/rrid.js +1 -1
  122. package/dist/esm/links/wiki.d.ts.map +1 -1
  123. package/dist/esm/links/wiki.js +1 -2
  124. package/dist/esm/math.d.ts.map +1 -1
  125. package/dist/esm/math.js +6 -6
  126. package/dist/esm/proof.d.ts.map +1 -1
  127. package/dist/esm/proof.js +5 -5
  128. package/dist/esm/reactive.d.ts +9 -84
  129. package/dist/esm/reactive.d.ts.map +1 -1
  130. package/dist/esm/reactive.js +4 -8
  131. package/dist/esm/tabs.d.ts.map +1 -1
  132. package/dist/esm/tabs.js +5 -4
  133. package/dist/esm/unknown.d.ts.map +1 -1
  134. package/dist/esm/unknown.js +2 -2
  135. package/dist/types/MyST.d.ts +5 -0
  136. package/dist/types/MyST.d.ts.map +1 -0
  137. package/dist/types/admonitions.d.ts.map +1 -1
  138. package/dist/types/basic.d.ts +1 -0
  139. package/dist/types/basic.d.ts.map +1 -1
  140. package/dist/types/card.d.ts.map +1 -1
  141. package/dist/types/cite.d.ts.map +1 -1
  142. package/dist/types/code.d.ts.map +1 -1
  143. package/dist/types/components/CopyIcon.d.ts +2 -1
  144. package/dist/types/components/CopyIcon.d.ts.map +1 -1
  145. package/dist/types/components/HoverPopover.d.ts +4 -0
  146. package/dist/types/components/HoverPopover.d.ts.map +1 -1
  147. package/dist/types/components/LinkCard.d.ts +1 -1
  148. package/dist/types/components/LinkCard.d.ts.map +1 -1
  149. package/dist/types/components/index.d.ts +4 -0
  150. package/dist/types/components/index.d.ts.map +1 -0
  151. package/dist/types/crossReference.d.ts.map +1 -1
  152. package/dist/types/dropdown.d.ts.map +1 -1
  153. package/dist/types/exercise.d.ts.map +1 -1
  154. package/dist/types/extensions/siunits.d.ts.map +1 -1
  155. package/dist/types/footnotes.d.ts.map +1 -1
  156. package/dist/types/grid.d.ts.map +1 -1
  157. package/dist/types/heading.d.ts.map +1 -1
  158. package/dist/types/iframe.d.ts.map +1 -1
  159. package/dist/types/image.d.ts.map +1 -1
  160. package/dist/types/index.d.ts +2 -4
  161. package/dist/types/index.d.ts.map +1 -1
  162. package/dist/types/inlineExpression.d.ts.map +1 -1
  163. package/dist/types/links/github.d.ts.map +1 -1
  164. package/dist/types/links/index.d.ts.map +1 -1
  165. package/dist/types/links/wiki.d.ts.map +1 -1
  166. package/dist/types/math.d.ts.map +1 -1
  167. package/dist/types/proof.d.ts.map +1 -1
  168. package/dist/types/reactive.d.ts +9 -84
  169. package/dist/types/reactive.d.ts.map +1 -1
  170. package/dist/types/tabs.d.ts.map +1 -1
  171. package/dist/types/unknown.d.ts.map +1 -1
  172. package/package.json +4 -4
  173. package/dist/cjs/convertToReact.d.ts +0 -6
  174. package/dist/cjs/convertToReact.d.ts.map +0 -1
  175. package/dist/cjs/convertToReact.js +0 -30
  176. package/dist/esm/convertToReact.d.ts +0 -6
  177. package/dist/esm/convertToReact.d.ts.map +0 -1
  178. package/dist/esm/convertToReact.js +0 -25
  179. package/dist/types/convertToReact.d.ts +0 -6
  180. package/dist/types/convertToReact.d.ts.map +0 -1
@@ -8,10 +8,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const unist_util_select_1 = require("unist-util-select");
9
9
  const unist_util_visit_1 = require("unist-util-visit");
10
10
  const providers_1 = require("@myst-theme/providers");
11
- const _1 = require(".");
12
11
  const inlineError_1 = require("./inlineError");
13
12
  const swr_1 = __importDefault(require("swr"));
14
- const HoverPopover_1 = require("./components/HoverPopover");
13
+ const components_1 = require("./components");
14
+ const MyST_1 = require("./MyST");
15
15
  const hiddenNodes = new Set(['comment', 'mystComment']);
16
16
  function selectHeadingNodes(mdast, identifier, maxNodes = 3) {
17
17
  let begin = false;
@@ -80,12 +80,8 @@ const fetcher = (...args) => fetch(...args).then((res) => {
80
80
  throw new Error(`Content returned with status ${res.status}.`);
81
81
  });
82
82
  // This is a small component that must be distinct based on the nodes
83
- // This is because the useParse can have different numbers of hooks, which breaks things
84
83
  function XrefChildren({ load, remote, url, dataUrl, identifier, }) {
85
- var _a;
86
84
  const data = useSelectNodes({ load, remote, url, dataUrl, identifier });
87
- const renderers = (0, providers_1.useNodeRenderers)();
88
- const children = (0, _1.useParse)({ type: 'block', children: (_a = data === null || data === void 0 ? void 0 : data.nodes) !== null && _a !== void 0 ? _a : [] }, renderers);
89
85
  if (!data)
90
86
  return null;
91
87
  if (data.loading) {
@@ -97,7 +93,7 @@ function XrefChildren({ load, remote, url, dataUrl, identifier, }) {
97
93
  if (!data.nodes || data.nodes.length === 0) {
98
94
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(inlineError_1.InlineError, { value: identifier || 'No Label', message: "Cross Reference Not Found" }) }));
99
95
  }
100
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
96
+ return (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: data === null || data === void 0 ? void 0 : data.nodes });
101
97
  }
102
98
  function openDetails(el) {
103
99
  if (!el)
@@ -149,15 +145,15 @@ function CrossReferenceHover({ url: urlIn, dataUrl: dataUrlIn, remote: remoteIn,
149
145
  el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth' });
150
146
  history.replaceState(undefined, '', `#${htmlId}`);
151
147
  };
152
- return ((0, jsx_runtime_1.jsx)(HoverPopover_1.HoverPopover, { card: ({ load }) => ((0, jsx_runtime_1.jsx)(providers_1.XRefProvider, { remote: remote, url: url, dataUrl: dataUrl, children: (0, jsx_runtime_1.jsx)("div", { className: "hover-document w-[500px] sm:max-w-[500px] px-3", children: (0, jsx_runtime_1.jsx)(XrefChildren, { load: load, remote: remote, url: url, dataUrl: dataUrl, identifier: identifier }) }) })), children: (0, jsx_runtime_1.jsxs)("span", { children: [remote && external && ((0, jsx_runtime_1.jsx)("a", { href: `${url}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", className: "hover-link", children: children })), remote && !external && ((0, jsx_runtime_1.jsx)(Link, { to: `${(0, providers_1.withBaseurl)(url, baseurl)}${htmlId ? `#${htmlId}` : ''}`, prefetch: "intent", className: "hover-link", children: children })), !remote && ((0, jsx_runtime_1.jsx)("a", { href: `#${htmlId}`, onClick: scroll, className: "hover-link", children: children }))] }) }));
148
+ return ((0, jsx_runtime_1.jsx)(components_1.HoverPopover, { card: ({ load }) => ((0, jsx_runtime_1.jsx)(providers_1.XRefProvider, { remote: remote, url: url, dataUrl: dataUrl, children: (0, jsx_runtime_1.jsx)("div", { className: "hover-document w-[500px] sm:max-w-[500px] px-3", children: (0, jsx_runtime_1.jsx)(XrefChildren, { load: load, remote: remote, url: url, dataUrl: dataUrl, identifier: identifier }) }) })), children: (0, jsx_runtime_1.jsxs)("span", { children: [remote && external && ((0, jsx_runtime_1.jsx)("a", { href: `${url}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", className: "hover-link", children: children })), remote && !external && ((0, jsx_runtime_1.jsx)(Link, { to: `${(0, providers_1.withBaseurl)(url, baseurl)}${htmlId ? `#${htmlId}` : ''}`, prefetch: "intent", className: "hover-link", children: children })), !remote && ((0, jsx_runtime_1.jsx)("a", { href: `#${htmlId}`, onClick: scroll, className: "hover-link", children: children }))] }) }));
153
149
  }
154
150
  exports.CrossReferenceHover = CrossReferenceHover;
155
- const CrossReferenceNode = (node, children) => {
156
- if (!children) {
157
- return ((0, jsx_runtime_1.jsx)(inlineError_1.InlineError, { value: node.label || node.identifier || 'No Label', message: "Cross Reference Not Found" }, node.key));
151
+ const CrossReferenceNode = ({ node }) => {
152
+ if (!node.children) {
153
+ return ((0, jsx_runtime_1.jsx)(inlineError_1.InlineError, { value: node.label || node.identifier || 'No Label', message: "Cross Reference Not Found" }));
158
154
  }
159
155
  const { remote, url, dataUrl, identifier, html_id } = node;
160
- return ((0, jsx_runtime_1.jsx)(CrossReferenceHover, { identifier: identifier, htmlId: html_id, remote: remote, url: url, dataUrl: dataUrl, children: children }, node.key));
156
+ return ((0, jsx_runtime_1.jsx)(CrossReferenceHover, { identifier: identifier, htmlId: html_id, remote: remote, url: url, dataUrl: dataUrl, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
161
157
  };
162
158
  exports.CrossReferenceNode = CrossReferenceNode;
163
159
  const CROSS_REFERENCE_RENDERERS = {
@@ -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;AAI1D,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"}
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"}
@@ -7,18 +7,19 @@ exports.DetailsRenderer = exports.Details = exports.SummaryTitle = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const ChevronRightIcon_1 = __importDefault(require("@heroicons/react/24/solid/ChevronRightIcon"));
9
9
  const classnames_1 = __importDefault(require("classnames"));
10
+ const MyST_1 = require("./MyST");
10
11
  const iconClass = 'h-8 w-8 inline-block pl-2 mr-2 -translate-y-[1px]';
11
- const SummaryTitle = (node, children) => {
12
- return children;
12
+ const SummaryTitle = ({ node }) => {
13
+ return (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children });
13
14
  };
14
15
  exports.SummaryTitle = SummaryTitle;
15
16
  function Details({ title, children, open, }) {
16
17
  return ((0, jsx_runtime_1.jsxs)("details", { className: (0, classnames_1.default)('rounded-md my-5 shadow dark:shadow-2xl dark:shadow-neutral-900 overflow-hidden', 'bg-gray-50 dark:bg-stone-800'), open: open, children: [(0, jsx_runtime_1.jsx)("summary", { className: (0, classnames_1.default)('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: (0, jsx_runtime_1.jsxs)("span", { className: "text-neutral-900 dark:text-white", children: [(0, jsx_runtime_1.jsx)("span", { className: "block float-right text-sm font-thin text-neutral-700 dark:text-neutral-200", children: (0, jsx_runtime_1.jsx)(ChevronRightIcon_1.default, { className: (0, classnames_1.default)(iconClass, 'details-toggle', 'transition-transform') }) }), title] }) }), (0, jsx_runtime_1.jsx)("div", { className: "px-4 py-1 details-body", children: children })] }));
17
18
  }
18
19
  exports.Details = Details;
19
- const DetailsRenderer = (node, children) => {
20
- const [title, ...rest] = children;
21
- return ((0, jsx_runtime_1.jsx)(Details, { title: title, open: node.open, children: rest }, node.key));
20
+ const DetailsRenderer = ({ node }) => {
21
+ const [title, ...rest] = node.children;
22
+ return ((0, jsx_runtime_1.jsx)(Details, { title: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: [title] }), open: node.open, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: rest }) }));
22
23
  };
23
24
  exports.DetailsRenderer = DetailsRenderer;
24
25
  const DROPDOWN_RENDERERS = {
@@ -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;AAK1D,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,CAmCzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,cAAc,CAkCzD,CAAC;AAEF,QAAA,MAAM,kBAAkB;;;CAGvB,CAAC;AAEF,eAAe,kBAAkB,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"}
@@ -8,6 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const ChevronRightIcon_1 = __importDefault(require("@heroicons/react/24/solid/ChevronRightIcon"));
9
9
  const classnames_1 = __importDefault(require("classnames"));
10
10
  const heading_1 = require("./heading");
11
+ const MyST_1 = require("./MyST");
11
12
  function getClasses(className) {
12
13
  var _a;
13
14
  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 : [];
@@ -71,33 +72,33 @@ function Callout({ title, color, dropdown, children, identifier, Icon, }) {
71
72
  'group'), children: title }), dropdown && ((0, jsx_runtime_1.jsx)("div", { className: "self-center flex-none text-sm font-thin text-neutral-700 dark:text-neutral-200", children: (0, jsx_runtime_1.jsx)(ChevronRightIcon_1.default, { className: (0, classnames_1.default)(iconClass, 'transition-transform details-toggle') }) }))] }), (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('px-4', { 'details-body': dropdown }), children: children })] }));
72
73
  }
73
74
  exports.Callout = Callout;
74
- const ExerciseRenderer = (node, children) => {
75
+ const ExerciseRenderer = ({ node }) => {
75
76
  var _a, _b, _c;
76
77
  if (node.hidden)
77
78
  return null;
78
- const [title, ...rest] = (_a = children) !== null && _a !== void 0 ? _a : [];
79
+ const [title, ...rest] = (_a = node.children) !== null && _a !== void 0 ? _a : [];
79
80
  const classes = getClasses(node.class);
80
81
  const { color } = getColor({ classes });
81
82
  const isDropdown = classes.includes('dropdown');
82
83
  const useTitle = ((_c = (_b = node.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.type) === 'admonitionTitle';
83
84
  const identifier = node.html_id;
84
85
  const enumerator = node.enumerator;
85
- const titleNode = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(heading_1.HashLink, { id: identifier, kind: "Exercise", children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', "Exercise", enumerator != null && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" ", enumerator] })] }), useTitle && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" (", title, ")"] })] }));
86
- return ((0, jsx_runtime_1.jsxs)(Callout, { identifier: identifier, title: titleNode, color: color, dropdown: isDropdown, children: [!useTitle && title, rest] }, node.key));
86
+ const titleNode = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(heading_1.HashLink, { id: identifier, kind: "Exercise", children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', "Exercise", enumerator != null && (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" ", enumerator] })] }), useTitle && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [' ', "(", (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: [title] }), ")"] }))] }));
87
+ return ((0, jsx_runtime_1.jsx)(Callout, { identifier: identifier, title: titleNode, color: color, dropdown: isDropdown, children: useTitle ? (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: rest }) : (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
87
88
  };
88
89
  exports.ExerciseRenderer = ExerciseRenderer;
89
- const SolutionRenderer = (node, children) => {
90
+ const SolutionRenderer = ({ node }) => {
90
91
  var _a, _b, _c;
91
92
  if (node.hidden)
92
93
  return null;
93
- const [title, ...rest] = (_a = children) !== null && _a !== void 0 ? _a : [];
94
+ const [title, ...rest] = (_a = node.children) !== null && _a !== void 0 ? _a : [];
94
95
  const classes = getClasses(node.class);
95
96
  const { color } = getColor({ classes }, 'gray');
96
97
  const isDropdown = classes.includes('dropdown');
97
98
  const useTitle = ((_c = (_b = node.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.type) === 'admonitionTitle';
98
99
  const identifier = node.html_id;
99
- const titleNode = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', title, (0, jsx_runtime_1.jsx)(heading_1.HashLink, { id: identifier, kind: "Solution", hover: true, hideInPopup: true, children: ' #' })] }));
100
- return ((0, jsx_runtime_1.jsxs)(Callout, { identifier: identifier, title: useTitle ? titleNode : undefined, color: color, dropdown: isDropdown, children: [!useTitle && title, rest] }, node.key));
100
+ const titleNode = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node.gate === 'start' && 'Start of ', node.gate === 'end' && 'End of ', (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: [title] }), (0, jsx_runtime_1.jsx)(heading_1.HashLink, { id: identifier, kind: "Solution", hover: true, hideInPopup: true, children: ' #' })] }));
101
+ return ((0, jsx_runtime_1.jsx)(Callout, { identifier: identifier, title: useTitle ? titleNode : undefined, color: color, dropdown: isDropdown, children: useTitle ? (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: rest }) : (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
101
102
  };
102
103
  exports.SolutionRenderer = SolutionRenderer;
103
104
  const EXERCISE_RENDERERS = {
@@ -25,13 +25,13 @@ function parseFormula(formula) {
25
25
  return [...acc, `${last !== null && last !== void 0 ? last : ''}${letter}`];
26
26
  }, []);
27
27
  }
28
- const ChemicalFormula = (node) => {
28
+ const ChemicalFormula = ({ node }) => {
29
29
  const parts = parseFormula(node.value);
30
30
  return ((0, jsx_runtime_1.jsx)("span", { className: "text-inherit", "aria-roledescription": "Chemical Formula", children: parts.map((letter, index) => {
31
31
  if (letter.match(/[0-9]/))
32
32
  return (0, jsx_runtime_1.jsx)("sub", { children: letter }, index);
33
33
  return (0, jsx_runtime_1.jsx)("span", { children: letter }, index);
34
- }) }, node.key));
34
+ }) }));
35
35
  };
36
36
  exports.ChemicalFormula = ChemicalFormula;
37
37
  const CHEM_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"siunits.d.ts","sourceRoot":"","sources":["../../../src/extensions/siunits.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,OAAO,EAAE,YAQrB,CAAC;AAEF,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"siunits.d.ts","sourceRoot":"","sources":["../../../src/extensions/siunits.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,OAAO,EAAE,YAIrB,CAAC;AAEF,QAAA,MAAM,YAAY;;CAEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SIUnits = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const SIUnits = (node) => {
5
+ const SIUnits = ({ node }) => {
6
6
  var _a;
7
7
  const space = node.number == null ? '' : ' ';
8
8
  const title = `${(_a = node.number) !== null && _a !== void 0 ? _a : ''}${space}${node.alt}`;
9
- return ((0, jsx_runtime_1.jsx)("span", { title: title, children: node.value }, node.key));
9
+ return (0, jsx_runtime_1.jsx)("span", { title: title, children: node.value });
10
10
  };
11
11
  exports.SIUnits = SIUnits;
12
12
  const SI_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"footnotes.d.ts","sourceRoot":"","sources":["../../src/footnotes.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoB1D,eAAO,MAAM,iBAAiB,EAAE,YAY/B,CAAC;AAEF,QAAA,MAAM,kBAAkB;;;CAIvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"footnotes.d.ts","sourceRoot":"","sources":["../../src/footnotes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoB1D,eAAO,MAAM,iBAAiB,EAAE,YAW/B,CAAC;AAEF,QAAA,MAAM,kBAAkB;;;CAIvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -3,20 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FootnoteReference = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const providers_1 = require("@myst-theme/providers");
6
- const _1 = require(".");
7
6
  const unist_util_select_1 = require("unist-util-select");
8
- const HoverPopover_1 = require("./components/HoverPopover");
7
+ const components_1 = require("./components");
8
+ const MyST_1 = require("./MyST");
9
9
  function FootnoteDefinition({ identifier }) {
10
10
  var _a, _b;
11
11
  const references = (0, providers_1.useReferences)();
12
- const renderers = (0, providers_1.useNodeRenderers)();
13
12
  const node = (_b = (_a = references === null || references === void 0 ? void 0 : references.footnotes) === null || _a === void 0 ? void 0 : _a[identifier]) !== null && _b !== void 0 ? _b : (0, unist_util_select_1.select)(`footnoteDefinition[identifier=${identifier}]`, references === null || references === void 0 ? void 0 : references.article);
14
- const children = (0, _1.useParse)(node, renderers);
15
- return ((0, jsx_runtime_1.jsx)(providers_1.XRefProvider, { children: (0, jsx_runtime_1.jsx)("div", { className: "hover-document w-[500px] sm:max-w-[500px] px-3", children: children }) }));
13
+ return ((0, jsx_runtime_1.jsx)(providers_1.XRefProvider, { children: (0, jsx_runtime_1.jsx)("div", { className: "hover-document w-[500px] sm:max-w-[500px] px-3", children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }) }));
16
14
  }
17
- const FootnoteReference = (node) => {
15
+ const FootnoteReference = ({ node }) => {
18
16
  var _a;
19
- return ((0, jsx_runtime_1.jsx)(HoverPopover_1.HoverPopover, { openDelay: 0, card: (0, jsx_runtime_1.jsx)(FootnoteDefinition, { identifier: node.identifier }), children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsxs)("sup", { className: "hover-link", children: ["[", (_a = node.number) !== null && _a !== void 0 ? _a : node.identifier, "]"] }) }) }, node.key));
17
+ return ((0, jsx_runtime_1.jsx)(components_1.HoverPopover, { openDelay: 0, card: (0, jsx_runtime_1.jsx)(FootnoteDefinition, { identifier: node.identifier }), children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsxs)("sup", { className: "hover-link", children: ["[", (_a = node.number) !== null && _a !== void 0 ? _a : node.identifier, "]"] }) }) }));
20
18
  };
21
19
  exports.FootnoteReference = FootnoteReference;
22
20
  const FOOTNOTE_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA6GF,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,QAAQ,CAM/C,CAAC;AAEF,QAAA,MAAM,cAAc;;CAEnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA6GF,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,QAAQ,CAM/C,CAAC;AAEF,QAAA,MAAM,cAAc;;CAEnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
package/dist/cjs/grid.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GridRenderer = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const classnames_1 = __importDefault(require("classnames"));
9
+ const MyST_1 = require("./MyST");
9
10
  const gridClassNames = {
10
11
  main: [
11
12
  'grid-cols-1',
@@ -107,8 +108,8 @@ function Grid({ columns, children }) {
107
108
  const gutterClasses = 'gap-4';
108
109
  return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('myst-grid grid my-5', gridClasses, gutterClasses), children: children }));
109
110
  }
110
- const GridRenderer = (node, children) => {
111
- return ((0, jsx_runtime_1.jsx)(Grid, { columns: node.columns, children: children }, node.key));
111
+ const GridRenderer = ({ node }) => {
112
+ return ((0, jsx_runtime_1.jsx)(Grid, { columns: node.columns, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
112
113
  };
113
114
  exports.GridRenderer = GridRenderer;
114
115
  const GRID_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/heading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,wBAAgB,QAAQ,CAAC,EACvB,EAAE,EACF,IAAI,EACJ,KAA8B,EAC9B,QAAc,EACd,KAAK,EACL,SAAyB,EACzB,WAAW,GACZ,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,kDA6BA;AAED,QAAA,MAAM,OAAO,EAAE,YAAY,CAAC,OAAO,CAoBlC,CAAC;AAEF,QAAA,MAAM,iBAAiB;;CAEtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/heading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D,wBAAgB,QAAQ,CAAC,EACvB,EAAE,EACF,IAAI,EACJ,KAA8B,EAC9B,QAAc,EACd,KAAK,EACL,SAAyB,EACzB,WAAW,GACZ,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,kDA6BA;AAED,QAAA,MAAM,OAAO,EAAE,YAAY,CAAC,OAAO,CAqBlC,CAAC;AAEF,QAAA,MAAM,iBAAiB;;CAEtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -8,6 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const providers_1 = require("@myst-theme/providers");
9
9
  const react_1 = require("react");
10
10
  const classnames_1 = __importDefault(require("classnames"));
11
+ const MyST_1 = require("./MyST");
11
12
  function HashLink({ id, kind, title = `Link to this ${kind}`, children = '¶', hover, className = 'font-normal', hideInPopup, }) {
12
13
  const { inCrossRef } = (0, providers_1.useXRefState)();
13
14
  if (inCrossRef || !id) {
@@ -22,18 +23,17 @@ function HashLink({ id, kind, title = `Link to this ${kind}`, children = '¶', h
22
23
  history.replaceState(undefined, '', `#${id}`);
23
24
  };
24
25
  return ((0, jsx_runtime_1.jsx)("a", { className: (0, classnames_1.default)('select-none no-underline text-inherit hover:text-inherit', className, {
25
- 'transition-opacity opacity-0 group-hover:opacity-70': hover,
26
+ 'transition-opacity opacity-0 focus:opacity-100 group-hover:opacity-70': hover,
26
27
  'hover:underline': !hover,
27
28
  }), onClick: scroll, href: `#${id}`, title: title, "aria-label": title, children: children }));
28
29
  }
29
30
  exports.HashLink = HashLink;
30
- const Heading = (node, children) => {
31
+ const Heading = ({ node }) => {
31
32
  const { enumerator, depth, key, identifier, html_id } = node;
32
33
  const id = html_id || identifier || key;
33
- const textContent = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [enumerator && (0, jsx_runtime_1.jsx)("span", { className: "mr-3 select-none", children: enumerator }), (0, jsx_runtime_1.jsx)("span", { className: "heading-text", children: children }), (0, jsx_runtime_1.jsx)(HashLink, { id: id, kind: "Section", className: "px-2 font-normal", hover: true, hideInPopup: true })] }));
34
+ const textContent = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [enumerator && (0, jsx_runtime_1.jsx)("span", { className: "mr-3 select-none", children: enumerator }), (0, jsx_runtime_1.jsx)("span", { className: "heading-text", children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }), (0, jsx_runtime_1.jsx)(HashLink, { id: id, kind: "Section", className: "px-2 font-normal", hover: true, hideInPopup: true })] }));
34
35
  // The `heading-text` class is picked up in the Outline to select without the enumerator and "#" link
35
36
  return (0, react_1.createElement)(`h${depth}`, {
36
- key: node.key,
37
37
  id,
38
38
  className: 'relative group',
39
39
  }, textContent);
@@ -1 +1 @@
1
- {"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../src/iframe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D,eAAO,MAAM,MAAM,EAAE,YAkCpB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;CAErB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../src/iframe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D,eAAO,MAAM,MAAM,EAAE,YAiCpB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;CAErB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -24,11 +24,9 @@ function getStyleValue(width) {
24
24
  }
25
25
  return width;
26
26
  }
27
- const IFrame = (node) => {
27
+ const IFrame = ({ node }) => {
28
28
  const width = getStyleValue(node.width) || 70;
29
- return ((0, jsx_runtime_1.jsx)("figure", { id: node.label || undefined, style: { textAlign: node.align || 'center' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
30
- position: 'relative',
31
- display: 'inline-block',
29
+ return ((0, jsx_runtime_1.jsx)("div", { id: node.label || undefined, style: { textAlign: node.align || 'center' }, className: "leading-[0]", children: (0, jsx_runtime_1.jsx)("div", { className: "relative inline-block", style: {
32
30
  paddingBottom: '60%',
33
31
  width: `min(max(${width}%, 500px), 100%)`,
34
32
  }, children: (0, jsx_runtime_1.jsx)("iframe", { width: "100%", height: "100%", src: node.src, allowFullScreen: true, allow: "autoplay", style: {
@@ -38,7 +36,7 @@ const IFrame = (node) => {
38
36
  top: 0,
39
37
  left: 0,
40
38
  border: 'none',
41
- } }) }) }, node.key));
39
+ } }) }) }));
42
40
  };
43
41
  exports.IFrame = IFrame;
44
42
  const IFRAME_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,KAAK,SAAS,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA2GrD,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,CAczC,CAAC;AAEF,QAAA,MAAM,eAAe;;CAEpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,KAAK,SAAS,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA2GrD,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,CAazC,CAAC;AAEF,QAAA,MAAM,eAAe;;CAEpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
package/dist/cjs/image.js CHANGED
@@ -48,10 +48,10 @@ function Picture({ src, srcOptimized, urlSource, align = 'center', alt, width, h
48
48
  return image;
49
49
  return ((0, jsx_runtime_1.jsxs)("picture", { children: [(0, jsx_runtime_1.jsx)("source", { srcSet: srcOptimized, type: "image/webp" }), image] }));
50
50
  }
51
- const Image = (node) => {
51
+ const Image = ({ node }) => {
52
52
  return ((0, jsx_runtime_1.jsx)(Picture, { src: node.url, srcOptimized: node.urlOptimized, alt: node.alt || node.title, width: node.width || undefined, height: node.height || undefined, align: node.align,
53
53
  // Note that sourceUrl is for backwards compatibility
54
- urlSource: node.urlSource || node.sourceUrl }, node.key));
54
+ urlSource: node.urlSource || node.sourceUrl }));
55
55
  };
56
56
  exports.Image = Image;
57
57
  const IMAGE_RENDERERS = {
@@ -1,12 +1,10 @@
1
- /// <reference types="react" />
2
1
  import type { NodeRenderer } from '@myst-theme/providers';
3
- import type { GenericParent } from 'myst-common';
4
- export { CopyIcon } from './components/CopyIcon';
2
+ export { CopyIcon, HoverPopover, Tooltip, LinkCard } from './components';
5
3
  export { CodeBlock } from './code';
6
4
  export { Admonition, AdmonitionKind } from './admonitions';
7
5
  export { Details } from './dropdown';
8
6
  export { TabSet, TabItem } from './tabs';
9
7
  export { useFetchMdast } from './crossReference';
10
8
  export declare const DEFAULT_RENDERERS: Record<string, NodeRenderer>;
11
- export declare function useParse(node: GenericParent | null, renderers?: Record<string, NodeRenderer>): import("react").ReactNode;
9
+ export { MyST } from './MyST';
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwBjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsB1D,CAAC;AAEF,wBAAgB,QAAQ,CACtB,IAAI,EAAE,aAAa,GAAG,IAAI,EAC1B,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAqB,6BAU5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsB1D,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useParse = exports.DEFAULT_RENDERERS = exports.useFetchMdast = exports.TabItem = exports.TabSet = exports.Details = exports.AdmonitionKind = exports.Admonition = exports.CodeBlock = exports.CopyIcon = void 0;
7
- const convertToReact_1 = require("./convertToReact");
6
+ exports.MyST = exports.DEFAULT_RENDERERS = exports.useFetchMdast = exports.TabItem = exports.TabSet = exports.Details = exports.AdmonitionKind = exports.Admonition = exports.CodeBlock = exports.LinkCard = exports.Tooltip = exports.HoverPopover = exports.CopyIcon = void 0;
8
7
  const basic_1 = __importDefault(require("./basic"));
9
8
  const admonitions_1 = __importDefault(require("./admonitions"));
10
9
  const dropdown_1 = __importDefault(require("./dropdown"));
@@ -26,8 +25,11 @@ const inlineExpression_1 = __importDefault(require("./inlineExpression"));
26
25
  const proof_1 = __importDefault(require("./proof"));
27
26
  const exercise_1 = __importDefault(require("./exercise"));
28
27
  const unknown_1 = __importDefault(require("./unknown"));
29
- var CopyIcon_1 = require("./components/CopyIcon");
30
- Object.defineProperty(exports, "CopyIcon", { enumerable: true, get: function () { return CopyIcon_1.CopyIcon; } });
28
+ var components_1 = require("./components");
29
+ Object.defineProperty(exports, "CopyIcon", { enumerable: true, get: function () { return components_1.CopyIcon; } });
30
+ Object.defineProperty(exports, "HoverPopover", { enumerable: true, get: function () { return components_1.HoverPopover; } });
31
+ Object.defineProperty(exports, "Tooltip", { enumerable: true, get: function () { return components_1.Tooltip; } });
32
+ Object.defineProperty(exports, "LinkCard", { enumerable: true, get: function () { return components_1.LinkCard; } });
31
33
  var code_2 = require("./code");
32
34
  Object.defineProperty(exports, "CodeBlock", { enumerable: true, get: function () { return code_2.CodeBlock; } });
33
35
  var admonitions_2 = require("./admonitions");
@@ -41,16 +43,5 @@ Object.defineProperty(exports, "TabItem", { enumerable: true, get: function () {
41
43
  var crossReference_2 = require("./crossReference");
42
44
  Object.defineProperty(exports, "useFetchMdast", { enumerable: true, get: function () { return crossReference_2.useFetchMdast; } });
43
45
  exports.DEFAULT_RENDERERS = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, basic_1.default), unknown_1.default), image_1.default), links_1.default), code_1.default), math_1.default), cite_1.default), tabs_1.default), iframe_1.default), footnotes_1.default), admonitions_1.default), reactive_1.default), heading_1.default), crossReference_1.default), dropdown_1.default), card_1.default), grid_1.default), inlineExpression_1.default), extensions_1.default), proof_1.default), exercise_1.default);
44
- function useParse(node, renderers = exports.DEFAULT_RENDERERS) {
45
- if (!node)
46
- return null;
47
- try {
48
- const nodes = (0, convertToReact_1.mystToReact)(node, renderers);
49
- return nodes;
50
- }
51
- catch (error) {
52
- console.error(error);
53
- return null;
54
- }
55
- }
56
- exports.useParse = useParse;
46
+ var MyST_1 = require("./MyST");
47
+ Object.defineProperty(exports, "MyST", { enumerable: true, get: function () { return MyST_1.MyST; } });
@@ -1 +1 @@
1
- {"version":3,"file":"inlineExpression.d.ts","sourceRoot":"","sources":["../../src/inlineExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,EAAE,YAa9B,CAAC;AAEF,QAAA,MAAM,2BAA2B;;CAEhC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"inlineExpression.d.ts","sourceRoot":"","sources":["../../src/inlineExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,gBAAgB,EAAE,YAe9B,CAAC;AAEF,QAAA,MAAM,2BAA2B;;CAEhC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InlineExpression = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const inlineError_1 = require("./inlineError");
6
- const InlineExpression = (node, children) => {
6
+ const components_1 = require("./components");
7
+ const MyST_1 = require("./MyST");
8
+ const InlineExpression = ({ node }) => {
7
9
  var _a, _b, _c;
8
10
  if (!node.result) {
9
11
  return (0, jsx_runtime_1.jsx)(inlineError_1.InlineError, { value: `Unexecuted inline expression for: ${node.value}` });
@@ -12,7 +14,7 @@ const InlineExpression = (node, children) => {
12
14
  return (0, jsx_runtime_1.jsx)(inlineError_1.InlineError, { value: `${(_b = node.result) === null || _b === void 0 ? void 0 : _b.ename}: ${(_c = node.result) === null || _c === void 0 ? void 0 : _c.evalue}` });
13
15
  }
14
16
  // TODO: something with Thebe in the future!
15
- return ((0, jsx_runtime_1.jsx)("span", { title: `Evaluated from: "${node.value}"`, children: children }, node.key));
17
+ return ((0, jsx_runtime_1.jsx)(components_1.Tooltip, { title: (0, jsx_runtime_1.jsx)("code", { children: node.value }), children: (0, jsx_runtime_1.jsx)("span", { className: "border-b border-dotted cursor-help", children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }) }));
16
18
  };
17
19
  exports.InlineExpression = InlineExpression;
18
20
  const INLINE_EXPRESSION_RENDERERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/links/github.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAoNnD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,2CAoCA"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/links/github.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAoNnD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,2CAoCA"}
@@ -9,8 +9,7 @@ const swr_1 = __importDefault(require("swr"));
9
9
  const ArrowTopRightOnSquareIcon_1 = __importDefault(require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"));
10
10
  const PlusCircleIcon_1 = __importDefault(require("@heroicons/react/24/outline/PlusCircleIcon"));
11
11
  const CheckCircleIcon_1 = __importDefault(require("@heroicons/react/24/outline/CheckCircleIcon"));
12
- const HoverPopover_1 = require("../components/HoverPopover");
13
- const LinkCard_1 = require("../components/LinkCard");
12
+ const components_1 = require("../components");
14
13
  const react_1 = require("react");
15
14
  const code_1 = require("../code");
16
15
  const classnames_1 = __importDefault(require("classnames"));
@@ -65,7 +64,7 @@ function GithubFilePreview({ url, raw, org, repo, file, from, to, open, }) {
65
64
  code = code === null || code === void 0 ? void 0 : code.split('\n').slice(0, 10).join('\n');
66
65
  }
67
66
  const description = code ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(code_1.CodeBlock, { value: code, lang: lang, filename: file, showLineNumbers: true, startingLineNumber: startingLineNumber, emphasizeLines: emphasizeLines, showCopy: false }) })) : null;
68
- return ((0, jsx_runtime_1.jsx)(LinkCard_1.LinkCard, { loading: !code, url: url, title: `GitHub - ${org}/${repo}`, description: description, className: "hover-document max-w-[80vw]" }));
67
+ return ((0, jsx_runtime_1.jsx)(components_1.LinkCard, { loading: !code, url: url, title: `GitHub - ${org}/${repo}`, description: description, className: "hover-document max-w-[80vw]" }));
69
68
  }
70
69
  // https://stackoverflow.com/questions/3942878/how-to-decide-font-color-in-white-or-black-depending-on-background-color
71
70
  function useWhiteTextColor(bgColor) {
@@ -90,12 +89,12 @@ function GithubIssuePreview({ url, org, repo, issue_number, open, }) {
90
89
  month: 'long',
91
90
  day: 'numeric',
92
91
  });
93
- return ((0, jsx_runtime_1.jsxs)("div", { className: "hover-document w-[400px] sm:max-w-[400px] p-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-light", children: [org, "/", repo] }), (0, jsx_runtime_1.jsxs)("div", { className: "my-2 text-lg font-bold dark:text-white", children: [resp.state === 'open' && ((0, jsx_runtime_1.jsx)(PlusCircleIcon_1.default, { className: "inline-block w-6 h-6 mr-2 text-green-700 dark:text-green-500 -translate-y-px" })), resp.state === 'closed' && ((0, jsx_runtime_1.jsx)(CheckCircleIcon_1.default, { className: "inline-block w-6 h-6 mr-2 text-purple-700 dark:text-purple-500 -translate-y-px" })), resp.title] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-light", children: ["#", issue_number, " opened on ", dateString, " by", ' ', (0, jsx_runtime_1.jsxs)("span", { className: "font-normal", children: ["@", resp.user.login] })] }), (0, jsx_runtime_1.jsx)("p", { className: "text-md max-h-[4rem] overflow-hidden", children: resp.body }), ((_a = resp.labels) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap", children: (_b = resp.labels) === null || _b === void 0 ? void 0 : _b.map((label) => ((0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('mr-1 text-xs inline-flex items-center px-2 py-0.5 rounded-full', {
92
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "hover-document w-[400px] sm:max-w-[400px] p-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-light", children: [org, "/", repo] }), (0, jsx_runtime_1.jsxs)("div", { className: "my-2 text-lg font-bold dark:text-white", children: [resp.state === 'open' && ((0, jsx_runtime_1.jsx)(PlusCircleIcon_1.default, { className: "inline-block w-6 h-6 mr-2 text-green-700 -translate-y-px dark:text-green-500" })), resp.state === 'closed' && ((0, jsx_runtime_1.jsx)(CheckCircleIcon_1.default, { className: "inline-block w-6 h-6 mr-2 text-purple-700 -translate-y-px dark:text-purple-500" })), resp.title] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-light", children: ["#", issue_number, " opened on ", dateString, " by", ' ', (0, jsx_runtime_1.jsxs)("span", { className: "font-normal", children: ["@", resp.user.login] })] }), (0, jsx_runtime_1.jsx)("p", { className: "text-md max-h-[4rem] overflow-hidden", children: resp.body }), ((_a = resp.labels) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap", children: (_b = resp.labels) === null || _b === void 0 ? void 0 : _b.map((label) => ((0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('mr-1 text-xs inline-flex items-center px-2 py-0.5 rounded-full', {
94
93
  'text-white': useWhiteTextColor(label.color),
95
94
  }), style: { backgroundColor: `#${label.color}` }, children: label.name }, label.id))) }))] }));
96
95
  }
97
96
  function GithubLink({ kind, children, url, org, repo, raw, file, from, to, issue_number, }) {
98
- return ((0, jsx_runtime_1.jsx)(HoverPopover_1.HoverPopover, { card: ({ load }) => {
97
+ return ((0, jsx_runtime_1.jsx)(components_1.HoverPopover, { card: ({ load }) => {
99
98
  if (kind === 'file') {
100
99
  return ((0, jsx_runtime_1.jsx)(GithubFilePreview, { url: url, raw: raw, file: file, from: from, to: to, open: load, org: org, repo: repo }));
101
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/links/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,KAAK,eAAe,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA0CxE,eAAO,MAAM,IAAI,EAAE,YAAY,CAAC,eAAe,CAiD9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,YAAY,CAAC,eAAe,CAkCnD,CAAC;AAEF,QAAA,MAAM,cAAc;;;CAGnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/links/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,KAAK,eAAe,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA0CxE,eAAO,MAAM,IAAI,EAAE,YAAY,CAAC,eAAe,CA2C9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,YAAY,CAAC,eAAe,CA8BnD,CAAC;AAEF,QAAA,MAAM,cAAc;;;CAGnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -8,11 +8,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const ArrowTopRightOnSquareIcon_1 = __importDefault(require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"));
9
9
  const LinkIcon_1 = __importDefault(require("@heroicons/react/24/outline/LinkIcon"));
10
10
  const providers_1 = require("@myst-theme/providers");
11
- const HoverPopover_1 = require("../components/HoverPopover");
12
- const LinkCard_1 = require("../components/LinkCard");
11
+ const components_1 = require("../components");
13
12
  const wiki_1 = require("./wiki");
14
13
  const rrid_1 = require("./rrid");
15
14
  const github_1 = require("./github");
15
+ const MyST_1 = require("../MyST");
16
16
  function getPageInfo(site, path) {
17
17
  var _a;
18
18
  if (!site)
@@ -32,37 +32,37 @@ function InternalLink({ url, children }) {
32
32
  if (!page || skipPreview) {
33
33
  return ((0, jsx_runtime_1.jsx)(Link, { to: (0, providers_1.withBaseurl)(url, baseurl), prefetch: "intent", children: children }));
34
34
  }
35
- return ((0, jsx_runtime_1.jsx)(HoverPopover_1.HoverPopover, { card: (0, jsx_runtime_1.jsx)(LinkCard_1.LinkCard, { internal: true, url: url, title: page.title, description: page.description, thumbnail: page.thumbnailOptimized || page.thumbnail }), children: (0, jsx_runtime_1.jsx)(Link, { to: (0, providers_1.withBaseurl)(url, baseurl), prefetch: "intent", children: children }) }));
35
+ return ((0, jsx_runtime_1.jsx)(components_1.HoverPopover, { card: (0, jsx_runtime_1.jsx)(components_1.LinkCard, { internal: true, url: url, title: page.title, description: page.description, thumbnail: page.thumbnailOptimized || page.thumbnail }), children: (0, jsx_runtime_1.jsx)(Link, { to: (0, providers_1.withBaseurl)(url, baseurl), prefetch: "intent", children: children }) }));
36
36
  }
37
- const link = (node, children) => {
37
+ const link = ({ node }) => {
38
38
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
39
39
  const internal = (_a = node.internal) !== null && _a !== void 0 ? _a : false;
40
40
  const protocol = node.protocol;
41
41
  switch (protocol) {
42
42
  case 'wiki':
43
- return ((0, jsx_runtime_1.jsx)(wiki_1.WikiLink, { url: node.url, page: (_b = node.data) === null || _b === void 0 ? void 0 : _b.page, wiki: (_c = node.data) === null || _c === void 0 ? void 0 : _c.wiki, children: children }, node.key));
43
+ return ((0, jsx_runtime_1.jsx)(wiki_1.WikiLink, { url: node.url, page: (_b = node.data) === null || _b === void 0 ? void 0 : _b.page, wiki: (_c = node.data) === null || _c === void 0 ? void 0 : _c.wiki, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
44
44
  case 'github':
45
- return ((0, jsx_runtime_1.jsx)(github_1.GithubLink, { kind: (_d = node.data) === null || _d === void 0 ? void 0 : _d.kind, url: node.url, org: (_e = node.data) === null || _e === void 0 ? void 0 : _e.org, repo: (_f = node.data) === null || _f === void 0 ? void 0 : _f.repo, raw: (_g = node.data) === null || _g === void 0 ? void 0 : _g.raw, file: (_h = node.data) === null || _h === void 0 ? void 0 : _h.file, from: (_j = node.data) === null || _j === void 0 ? void 0 : _j.from, to: (_k = node.data) === null || _k === void 0 ? void 0 : _k.to, issue_number: (_l = node.data) === null || _l === void 0 ? void 0 : _l.issue_number, children: children }, node.key));
45
+ return ((0, jsx_runtime_1.jsx)(github_1.GithubLink, { kind: (_d = node.data) === null || _d === void 0 ? void 0 : _d.kind, url: node.url, org: (_e = node.data) === null || _e === void 0 ? void 0 : _e.org, repo: (_f = node.data) === null || _f === void 0 ? void 0 : _f.repo, raw: (_g = node.data) === null || _g === void 0 ? void 0 : _g.raw, file: (_h = node.data) === null || _h === void 0 ? void 0 : _h.file, from: (_j = node.data) === null || _j === void 0 ? void 0 : _j.from, to: (_k = node.data) === null || _k === void 0 ? void 0 : _k.to, issue_number: (_l = node.data) === null || _l === void 0 ? void 0 : _l.issue_number, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
46
46
  case 'rrid':
47
- return (0, jsx_runtime_1.jsx)(rrid_1.RRIDLink, { rrid: (_m = node.data) === null || _m === void 0 ? void 0 : _m.rrid }, node.key);
47
+ return (0, jsx_runtime_1.jsx)(rrid_1.RRIDLink, { rrid: (_m = node.data) === null || _m === void 0 ? void 0 : _m.rrid });
48
48
  default:
49
49
  if (internal) {
50
- return ((0, jsx_runtime_1.jsx)(InternalLink, { url: node.url, children: children }, node.key));
50
+ return ((0, jsx_runtime_1.jsx)(InternalLink, { url: node.url, children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
51
51
  }
52
- return ((0, jsx_runtime_1.jsx)("a", { target: "_blank", href: node.url, rel: "noreferrer", children: children }, node.key));
52
+ return ((0, jsx_runtime_1.jsx)("a", { target: "_blank", href: node.url, rel: "noreferrer", children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) }));
53
53
  }
54
54
  };
55
55
  exports.link = link;
56
- const linkBlock = (node, children) => {
56
+ const linkBlock = ({ node }) => {
57
57
  var _a;
58
58
  const iconClass = 'w-6 h-6 self-center transition-transform flex-none ml-3';
59
59
  const containerClass = 'flex-1 p-4 my-5 block border font-normal hover:border-blue-500 dark:hover:border-blue-400 no-underline hover:text-blue-600 dark:hover:text-blue-400 text-gray-600 dark:text-gray-100 border-gray-200 dark:border-gray-500 rounded shadow-sm hover:shadow-lg dark:shadow-neutral-700';
60
60
  const internal = (_a = node.internal) !== null && _a !== void 0 ? _a : false;
61
- const nested = ((0, jsx_runtime_1.jsxs)("div", { className: "flex h-full align-middle", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-grow", children: [node.title, (0, jsx_runtime_1.jsx)("div", { className: "text-xs text-gray-500 dark:text-gray-400", children: children })] }), internal && (0, jsx_runtime_1.jsx)(LinkIcon_1.default, { className: iconClass }), !internal && (0, jsx_runtime_1.jsx)(ArrowTopRightOnSquareIcon_1.default, { className: iconClass })] }));
61
+ const nested = ((0, jsx_runtime_1.jsxs)("div", { className: "flex h-full align-middle", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-grow", children: [node.title, (0, jsx_runtime_1.jsx)("div", { className: "text-xs text-gray-500 dark:text-gray-400", children: (0, jsx_runtime_1.jsx)(MyST_1.MyST, { ast: node.children }) })] }), internal && (0, jsx_runtime_1.jsx)(LinkIcon_1.default, { className: iconClass }), !internal && (0, jsx_runtime_1.jsx)(ArrowTopRightOnSquareIcon_1.default, { className: iconClass })] }));
62
62
  if (internal) {
63
- return ((0, jsx_runtime_1.jsx)("a", { href: node.url, className: containerClass, children: nested }, node.key));
63
+ return ((0, jsx_runtime_1.jsx)("a", { href: node.url, className: containerClass, children: nested }));
64
64
  }
65
- return ((0, jsx_runtime_1.jsx)("a", { className: containerClass, target: "_blank", rel: "noopener noreferrer", href: node.url, children: nested }, node.key));
65
+ return ((0, jsx_runtime_1.jsx)("a", { className: containerClass, target: "_blank", rel: "noopener noreferrer", href: node.url, children: nested }));
66
66
  };
67
67
  exports.linkBlock = linkBlock;
68
68
  const LINK_RENDERERS = {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.RRIDLink = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const swr_1 = __importDefault(require("swr"));
9
- const HoverPopover_1 = require("../components/HoverPopover");
9
+ const components_1 = require("../components");
10
10
  const fetcher = (...args) => fetch(...args).then((res) => {
11
11
  if (res.status === 200)
12
12
  return res.json();
@@ -29,6 +29,6 @@ function RRIDChild({ rrid }) {
29
29
  return ((0, jsx_runtime_1.jsxs)("div", { className: "hover-document w-[500px] sm:max-w-[500px] p-3", children: [(0, jsx_runtime_1.jsxs)("p", { className: "text-sm font-light", children: ["RRID: ", category] }), (0, jsx_runtime_1.jsxs)("div", { className: "mb-4 text-xl font-bold", children: [title, " ", (0, jsx_runtime_1.jsx)("code", { children: curie })] }), (0, jsx_runtime_1.jsx)("p", { className: "text-md", children: description }), types.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "my-2 text-xs font-thin", children: "Categories" }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap ml-1", children: types === null || types === void 0 ? void 0 : types.map((tag) => ((0, jsx_runtime_1.jsx)("span", { className: "inline-flex items-center px-3 py-1 ml-1 text-xs uppercase border rounded-full", children: tag }))) })] })), tags.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "my-2 text-xs font-thin", children: "Tags" }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap ml-1", children: tags === null || tags === void 0 ? void 0 : tags.map((tag) => ((0, jsx_runtime_1.jsx)("span", { className: "inline-flex items-center px-3 py-1 ml-1 text-xs uppercase border rounded-full", children: tag }))) })] }))] }));
30
30
  }
31
31
  function RRIDLink({ rrid }) {
32
- return ((0, jsx_runtime_1.jsx)(HoverPopover_1.HoverPopover, { card: (0, jsx_runtime_1.jsx)(RRIDChild, { rrid: rrid }), children: (0, jsx_runtime_1.jsxs)("a", { href: `https://scicrunch.org/resolver/${rrid}`, target: "_blank", rel: "noopener noreferrer", children: ["RRID: ", (0, jsx_runtime_1.jsx)("cite", { className: "italic", children: rrid })] }) }));
32
+ return ((0, jsx_runtime_1.jsx)(components_1.HoverPopover, { card: (0, jsx_runtime_1.jsx)(RRIDChild, { rrid: rrid }), children: (0, jsx_runtime_1.jsxs)("a", { href: `https://scicrunch.org/resolver/${rrid}`, target: "_blank", rel: "noopener noreferrer", children: ["RRID: ", (0, jsx_runtime_1.jsx)("cite", { className: "italic", children: rrid })] }) }));
33
33
  }
34
34
  exports.RRIDLink = RRIDLink;
@@ -1 +1 @@
1
- {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../../src/links/wiki.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqG1B,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,2CAQA"}
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../../src/links/wiki.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqG1B,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,2CAQA"}