@jupyterlab/json-extension 4.0.0-alpha.16 → 4.0.0-alpha.18

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.
@@ -11,6 +11,7 @@ export interface IProps {
11
11
  * The application language translator.
12
12
  */
13
13
  translator?: ITranslator;
14
+ forwardedRef?: React.Ref<HTMLDivElement>;
14
15
  }
15
16
  /**
16
17
  * The state of the JSON tree component.
@@ -28,6 +29,7 @@ export declare class Component extends React.Component<IProps, IState> {
28
29
  value: string;
29
30
  };
30
31
  timer: number;
32
+ componentDidMount(): void;
31
33
  handleChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
32
34
  render(): JSX.Element;
33
35
  }
package/lib/component.js CHANGED
@@ -8,6 +8,7 @@ import { JSONExt } from '@lumino/coreutils';
8
8
  import * as React from 'react';
9
9
  import Highlight from 'react-highlighter';
10
10
  import { JSONTree } from 'react-json-tree';
11
+ import { StyleModule } from 'style-mod';
11
12
  /**
12
13
  * Get the CodeMirror style for a given tag.
13
14
  */
@@ -32,15 +33,18 @@ export class Component extends React.Component {
32
33
  }, 300);
33
34
  };
34
35
  }
36
+ componentDidMount() {
37
+ StyleModule.mount(document, jupyterHighlightStyle.module);
38
+ }
35
39
  render() {
36
40
  const translator = this.props.translator || nullTranslator;
37
41
  const trans = translator.load('jupyterlab');
38
- const { data, metadata } = this.props;
42
+ const { data, metadata, forwardedRef } = this.props;
39
43
  const root = metadata && metadata.root ? metadata.root : 'root';
40
44
  const keyPaths = this.state.filter
41
45
  ? filterPaths(data, this.state.filter, [root])
42
46
  : [root];
43
- return (React.createElement("div", { className: "container" },
47
+ return (React.createElement("div", { className: "container", ref: forwardedRef },
44
48
  React.createElement(InputGroup, { className: "filter", type: "text", placeholder: trans.__('Filter…'), onChange: this.handleChange, value: this.state.value, rightIcon: "ui-components:search" }),
45
49
  React.createElement(JSONTree, { data: data, collectionLimit: 100, theme: {
46
50
  extend: theme,
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export declare class RenderedJSON extends Widget implements IRenderMime.IRendere
30
30
  protected onBeforeDetach(msg: Message): void;
31
31
  translator: ITranslator;
32
32
  private _mimeType;
33
+ private _rootDOM;
33
34
  }
34
35
  /**
35
36
  * A mime renderer factory for JSON data.
package/lib/index.js CHANGED
@@ -8,7 +8,7 @@ import { Printing } from '@jupyterlab/apputils';
8
8
  import { nullTranslator } from '@jupyterlab/translation';
9
9
  import { Widget } from '@lumino/widgets';
10
10
  import * as React from 'react';
11
- import * as ReactDOM from 'react-dom';
11
+ import { createRoot } from 'react-dom/client';
12
12
  import { Component } from './component';
13
13
  /**
14
14
  * The CSS class to add to the JSON Widget.
@@ -27,6 +27,7 @@ export class RenderedJSON extends Widget {
27
27
  */
28
28
  constructor(options) {
29
29
  super();
30
+ this._rootDOM = null;
30
31
  this.addClass(CSS_CLASS);
31
32
  this.addClass('CodeMirror');
32
33
  this._mimeType = options.mimeType;
@@ -41,10 +42,11 @@ export class RenderedJSON extends Widget {
41
42
  renderModel(model) {
42
43
  const data = (model.data[this._mimeType] || {});
43
44
  const metadata = (model.metadata[this._mimeType] || {});
45
+ if (this._rootDOM === null) {
46
+ this._rootDOM = createRoot(this.node);
47
+ }
44
48
  return new Promise((resolve, reject) => {
45
- ReactDOM.render(React.createElement(Component, { data: data, metadata: metadata, translator: this.translator }), this.node, () => {
46
- resolve();
47
- });
49
+ this._rootDOM.render(React.createElement(Component, { data: data, metadata: metadata, translator: this.translator, forwardedRef: () => resolve() }));
48
50
  });
49
51
  }
50
52
  /**
@@ -52,7 +54,10 @@ export class RenderedJSON extends Widget {
52
54
  */
53
55
  onBeforeDetach(msg) {
54
56
  // Unmount the component so it can tear down.
55
- ReactDOM.unmountComponentAtNode(this.node);
57
+ if (this._rootDOM) {
58
+ this._rootDOM.unmount();
59
+ this._rootDOM = null;
60
+ }
56
61
  }
57
62
  }
58
63
  /**
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,YACX,SAAQ,MAAM;IAGd;;OAEG;IACH,YAAY,OAAqC;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;IACzD,CAAC;IAED,CAAC,QAAQ,CAAC,MAAM,CAAC;QACf,OAAO,GAAkB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAA6B;QACvC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1E,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAe,CAAC;QACtE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,QAAQ,CAAC,MAAM,CACb,oBAAC,SAAS,IACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,IAAI,CAAC,UAAU,GAC3B,EACF,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,GAAY;QACnC,6CAA6C;QAC7C,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CAIF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiC;IAC3D,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;CACrD,CAAC;AAEF,MAAM,UAAU,GAAsD;IACpE;QACE,EAAE,EAAE,oCAAoC;QACxC,eAAe;QACf,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,MAAM;QAChB,4BAA4B,EAAE;YAC5B,IAAI,EAAE,MAAM;YACZ,+CAA+C;YAC/C,eAAe,EAAE,MAAM;YACvB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;YAC1C,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB;KACF;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/json-extension",
3
- "version": "4.0.0-alpha.16",
3
+ "version": "4.0.0-alpha.18",
4
4
  "description": "JupyterLab - JSON Renderer",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -32,23 +32,24 @@
32
32
  "watch": "tsc -b --watch"
33
33
  },
34
34
  "dependencies": {
35
- "@jupyterlab/apputils": "^4.0.0-alpha.16",
36
- "@jupyterlab/codemirror": "^4.0.0-alpha.16",
37
- "@jupyterlab/rendermime-interfaces": "^3.8.0-alpha.16",
38
- "@jupyterlab/translation": "^4.0.0-alpha.16",
39
- "@jupyterlab/ui-components": "^4.0.0-alpha.31",
35
+ "@jupyterlab/apputils": "^4.0.0-alpha.18",
36
+ "@jupyterlab/codemirror": "^4.0.0-alpha.18",
37
+ "@jupyterlab/rendermime-interfaces": "^3.8.0-alpha.18",
38
+ "@jupyterlab/translation": "^4.0.0-alpha.18",
39
+ "@jupyterlab/ui-components": "^4.0.0-alpha.33",
40
40
  "@lezer/highlight": "^1.0.0",
41
41
  "@lumino/coreutils": "^2.0.0-alpha.6",
42
42
  "@lumino/messaging": "^2.0.0-alpha.6",
43
43
  "@lumino/widgets": "^2.0.0-alpha.6",
44
- "react": "^17.0.1",
45
- "react-dom": "^17.0.1",
44
+ "react": "^18.2.0",
45
+ "react-dom": "^18.2.0",
46
46
  "react-highlighter": "^0.4.3",
47
- "react-json-tree": "^0.16.1"
47
+ "react-json-tree": "^0.16.1",
48
+ "style-mod": "^4.0.0"
48
49
  },
49
50
  "devDependencies": {
50
- "@types/react": "^17.0.0",
51
- "@types/react-dom": "^17.0.0",
51
+ "@types/react": "^18.0.26",
52
+ "@types/react-dom": "^18.0.9",
52
53
  "@types/react-highlighter": "^0.3.4",
53
54
  "rimraf": "~3.0.0",
54
55
  "typedoc": "~0.22.10",