myst-to-react 1.0.0 → 1.0.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.
@@ -1,11 +1,12 @@
1
1
  import type { CrossReference } from 'myst-spec';
2
+ import type { PageLoader } from '@myst-theme/common';
2
3
  import { type NodeRenderer } from '@myst-theme/providers';
3
4
  export declare function useFetchMdast({ remote, url, remoteBaseUrl, dataUrl, }: {
4
5
  remote?: boolean;
5
6
  url?: string;
6
7
  remoteBaseUrl?: string;
7
8
  dataUrl?: string;
8
- }): import("swr").SWRResponse<any, any, any>;
9
+ }): import("swr").SWRResponse<PageLoader, any, any>;
9
10
  export declare function CrossReferenceHover({ url: urlIn, dataUrl: dataUrlIn, remote: remoteIn, remoteBaseUrl: remoteBaseUrlIn, children, identifier, className, htmlId, }: {
10
11
  remote?: boolean;
11
12
  url?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"crossReference.d.ts","sourceRoot":"","sources":["../src/crossReference.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AA6E/B,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,GAAG,EACH,aAAa,EACb,OAAO,GACR,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,4CAIA;AAqBD,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,QAAQ,EAChB,aAAa,EAAE,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,MAAW,GACZ,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAuEA;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAkC3D,CAAC;AAEF,QAAA,MAAM,yBAAyB;;CAE9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"crossReference.d.ts","sourceRoot":"","sources":["../src/crossReference.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAyF/B,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,GAAG,EACH,aAAa,EACb,OAAO,GACR,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,mDAIA;AAqBD,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,QAAQ,EAChB,aAAa,EAAE,eAAe,EAC9B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,MAAW,GACZ,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAuEA;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAkC3D,CAAC;AAEF,QAAA,MAAM,yBAAyB;;CAE9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1,4 +1,14 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { MYST_SPEC_VERSION } from '@myst-theme/common';
2
12
  import { useLinkProvider, useReferences, useBaseurl, withBaseurl, XRefProvider, useXRefState, useFrontmatter, } from '@myst-theme/providers';
3
13
  import { InlineError } from './inlineError.js';
4
14
  import { default as useSWR } from 'swr';
@@ -7,11 +17,21 @@ import { MyST } from './MyST.js';
7
17
  import { selectMdastNodes } from 'myst-common';
8
18
  import { scrollToElement } from './hashLink.js';
9
19
  import classNames from 'classnames';
10
- const fetcher = (...args) => fetch(...args).then((res) => {
11
- if (res.status === 200)
12
- return res.json();
20
+ import { migrate } from 'myst-migrate';
21
+ const fetcher = (...args) => fetch(...args).then((res) => __awaiter(void 0, void 0, void 0, function* () {
22
+ var _a;
23
+ if (res.status === 200) {
24
+ let data = (yield res.json());
25
+ try {
26
+ data = (yield migrate(Object.assign({ version: (_a = data.version) !== null && _a !== void 0 ? _a : 0 }, data), { to: MYST_SPEC_VERSION }));
27
+ }
28
+ catch (error) {
29
+ console.error(`Error migrating content for ${args[0]} (aborted):`, error);
30
+ }
31
+ return data;
32
+ }
13
33
  throw new Error(`Content returned with status ${res.status}.`);
14
- });
34
+ }));
15
35
  // This is a small component that must be distinct based on the nodes
16
36
  function XrefChildren({ load, identifier }) {
17
37
  const data = useSelectNodes({ load, identifier });
@@ -100,7 +120,7 @@ export function CrossReferenceHover({ url: urlIn, dataUrl: dataUrlIn, remote: re
100
120
  scrollToElement(el, { htmlId });
101
121
  };
102
122
  const isButtonLike = (className !== null && className !== void 0 ? className : '').split(' ').includes('button');
103
- return (_jsx(HoverPopover, { card: ({ load }) => (_jsx(XRefProvider, { remote: remote, remoteBaseUrl: remoteBaseUrl, url: url, dataUrl: dataUrl, children: _jsxs("div", { className: "hover-document article w-[500px] sm:max-w-[500px] overflow-auto", children: [remoteBaseUrl && (_jsxs("div", { className: "w-full px-3 py-1 text-xs border-b bg-gray-50", children: [_jsx("strong", { className: "text-gray-700", children: "Source: " }), _jsx("a", { className: classNames('text-gray-700', className), href: `${createRemoteBaseUrl(url, remoteBaseUrl)}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", children: remoteBaseUrl })] })), _jsx("div", { className: "px-3", children: _jsx(XrefChildren, { load: load, identifier: identifier }) })] }) })), children: _jsxs("span", { children: [remote && external && (_jsx("a", { href: `${createRemoteBaseUrl(url, remoteBaseUrl)}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", className: classNames({ 'hover-link': !isButtonLike }, className), children: children })), remote && !external && (_jsx(Link, { to: `${withBaseurl(url, baseurl)}${htmlId ? `#${htmlId}` : ''}`, prefetch: "intent", className: classNames({ 'hover-link': !isButtonLike }, className), children: children })), !remote && (_jsx("a", { href: `#${htmlId}`, onClick: scroll, className: classNames({ 'hover-link': !isButtonLike }, className), children: children }))] }) }));
123
+ return (_jsx(HoverPopover, { card: ({ load }) => (_jsx(XRefProvider, { remote: remote, remoteBaseUrl: remoteBaseUrl, url: url, dataUrl: dataUrl, children: _jsxs("div", { className: "hover-document article w-[500px] sm:max-w-[500px] overflow-auto", children: [remoteBaseUrl && (_jsxs("div", { className: "px-3 py-1 w-full text-xs bg-gray-50 border-b", children: [_jsx("strong", { className: "text-gray-700", children: "Source: " }), _jsx("a", { className: classNames('text-gray-700', className), href: `${createRemoteBaseUrl(url, remoteBaseUrl)}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", children: remoteBaseUrl })] })), _jsx("div", { className: "px-3", children: _jsx(XrefChildren, { load: load, identifier: identifier }) })] }) })), children: _jsxs("span", { children: [remote && external && (_jsx("a", { href: `${createRemoteBaseUrl(url, remoteBaseUrl)}${htmlId ? `#${htmlId}` : ''}`, target: "_blank", className: classNames({ 'hover-link': !isButtonLike }, className), children: children })), remote && !external && (_jsx(Link, { to: `${withBaseurl(url, baseurl)}${htmlId ? `#${htmlId}` : ''}`, prefetch: "intent", className: classNames({ 'hover-link': !isButtonLike }, className), children: children })), !remote && (_jsx("a", { href: `#${htmlId}`, onClick: scroll, className: classNames({ 'hover-link': !isButtonLike }, className), children: children }))] }) }));
104
124
  }
105
125
  export const CrossReferenceNode = ({ node, className }) => {
106
126
  if (!node.children) {
package/dist/index.d.ts CHANGED
@@ -6,6 +6,8 @@ export { Admonition, AdmonitionKind } from './admonitions.js';
6
6
  export { Details } from './dropdown.js';
7
7
  export { TabSet, TabItem } from './tabs.js';
8
8
  export { useFetchMdast } from './crossReference.js';
9
+ export { Callout } from './exercise.js';
10
+ export { MYST_SPEC_VERSION } from '@myst-theme/common';
9
11
  export declare const DEFAULT_RENDERERS: import("@myst-theme/providers").NodeRenderersValidated;
10
12
  export { MyST, selectRenderer } from './MyST.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,wDA2B7B,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,wDA2B7B,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -30,6 +30,8 @@ export { Admonition, AdmonitionKind } from './admonitions.js';
30
30
  export { Details } from './dropdown.js';
31
31
  export { TabSet, TabItem } from './tabs.js';
32
32
  export { useFetchMdast } from './crossReference.js';
33
+ export { Callout } from './exercise.js';
34
+ export { MYST_SPEC_VERSION } from '@myst-theme/common';
33
35
  export const DEFAULT_RENDERERS = mergeRenderers([
34
36
  BASIC_RENDERERS,
35
37
  UNKNOWN_MYST_RENDERERS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myst-to-react",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "exports": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,6 +11,10 @@
11
11
  "node": ">=16"
12
12
  },
13
13
  "license": "MIT",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/jupyter-book/myst-theme.git"
17
+ },
14
18
  "scripts": {
15
19
  "clean": "rimraf dist",
16
20
  "lint": "eslint \"src/**/*.ts*\" \"src/**/*.tsx\" -c ./.eslintrc.cjs",
@@ -21,13 +25,14 @@
21
25
  },
22
26
  "dependencies": {
23
27
  "@heroicons/react": "^2.0.18",
24
- "@myst-theme/providers": "^1.0.0",
25
- "@scienceicons/react": "^0.0.13",
28
+ "@myst-theme/providers": "^1.0.1",
26
29
  "@radix-ui/react-hover-card": "^1.0.6",
30
+ "@scienceicons/react": "^0.0.13",
27
31
  "buffer": "^6.0.3",
28
32
  "classnames": "^2.3.2",
29
33
  "myst-common": "^1.8.1",
30
34
  "myst-config": "^1.8.1",
35
+ "myst-migrate": "^1.7.0",
31
36
  "myst-spec": "^0.0.5",
32
37
  "nanoid": "^4.0.2",
33
38
  "react-syntax-highlighter": "15.5.0",