From efa46c3c5816ca64c32f537b8f37baecb62ee10b Mon Sep 17 00:00:00 2001 From: Philipp Rudiger Date: Fri, 18 Nov 2022 15:21:51 +0100 Subject: [PATCH] Add compatibility for ipywidgets>=8 --- ipywidgets_bokeh/package-lock.json | 632 +++++++++++++++++------------ ipywidgets_bokeh/package.json | 4 +- ipywidgets_bokeh/src/manager.ts | 55 +-- 3 files changed, 395 insertions(+), 296 deletions(-) diff --git a/ipywidgets_bokeh/package-lock.json b/ipywidgets_bokeh/package-lock.json index a3e4183..0185239 100644 --- a/ipywidgets_bokeh/package-lock.json +++ b/ipywidgets_bokeh/package-lock.json @@ -1,16 +1,16 @@ { "name": "@bokeh/ipywidgets_bokeh", - "version": "1.2.1", + "version": "1.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bokeh/ipywidgets_bokeh", - "version": "1.2.1", + "version": "1.3.0", "license": "BSD-3-Clause", "dependencies": { "@bokeh/bokehjs": "~2.4.0", - "@jupyter-widgets/html-manager": "~0.20.0" + "@jupyter-widgets/html-manager": "~1.0.3" }, "devDependencies": { "css-loader": "^6.3.0", @@ -168,6 +168,15 @@ "node": ">=10.0.0" } }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", + "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, "node_modules/@hypnosphi/create-react-context": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz", @@ -182,69 +191,102 @@ } }, "node_modules/@jupyter-widgets/base": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/base/-/base-4.0.0.tgz", - "integrity": "sha512-lBQgLYzq6C+XjfVJTidk+rckKo/+xlTgIm1XUtACA3BUz8bgi2du2zmbYkcrplJMwGub4QWP6GnKgM5ZZRhzYg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/base/-/base-6.0.1.tgz", + "integrity": "sha512-EDuEaM10WtLYvqAaC8nXl0lmss8P+pDPtFIsCmRiodZNg3xyXAxTHDJM9Gl5gtXk31ny62Y+C7l275uir1/0sw==", "dependencies": { "@jupyterlab/services": "^6.0.0", - "@lumino/coreutils": "^1.2.0", - "@lumino/messaging": "^1.2.1", - "@lumino/widgets": "^1.3.0", - "@types/backbone": "^1.4.1", + "@lumino/coreutils": "^1.11.1", + "@lumino/messaging": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "@types/backbone": "1.4.14", "@types/lodash": "^4.14.134", - "backbone": "1.2.3", - "base64-js": "^1.2.1", + "backbone": "1.4.0", "jquery": "^3.1.1", "lodash": "^4.17.4" } }, + "node_modules/@jupyter-widgets/base-manager": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/base-manager/-/base-manager-1.0.2.tgz", + "integrity": "sha512-U0FaNjDttrF+et8Tl77MT0+iVSjClAbCCJnPRvsgs+NRZ3hA7Ka0B+TR6hutV2u2GafA1HFZCq1LXhkhgbNqDw==", + "dependencies": { + "@jupyter-widgets/base": "^6.0.1", + "@jupyterlab/services": "^6.0.0", + "@lumino/coreutils": "^1.11.1", + "base64-js": "^1.2.1", + "sanitize-html": "^2.3" + } + }, "node_modules/@jupyter-widgets/controls": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/controls/-/controls-3.0.0.tgz", - "integrity": "sha512-VyoBxUp/8pf7IFlM4hriD/UvYpHzXFXrUAaT/NRAhMUFO4Ruh4ALcxeHdWFnqxMjiSyOnWdjzdIeQL0pYi83Gg==", - "dependencies": { - "@jupyter-widgets/base": "^4.0.0", - "@lumino/algorithm": "^1.1.0", - "@lumino/domutils": "^1.1.0", - "@lumino/messaging": "^1.2.1", - "@lumino/signaling": "^1.2.0", - "@lumino/widgets": "^1.3.0", - "d3-format": "^1.3.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/controls/-/controls-5.0.1.tgz", + "integrity": "sha512-duph77/U832Op6H3HuhEtvBWmexJfXAC0ZfWGnZrAQsHE2iyozw1zBI1+jgYAZxZRKjcfVU/In0lh4yhB3rRBQ==", + "dependencies": { + "@jupyter-widgets/base": "^6.0.1", + "@lumino/algorithm": "^1.9.1", + "@lumino/domutils": "^1.8.1", + "@lumino/messaging": "^1.10.1", + "@lumino/signaling": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "d3-color": "^3.0.1", + "d3-format": "^3.0.1", "jquery": "^3.1.1", - "jquery-ui": "^1.12.1", - "underscore": "^1.8.3" + "nouislider": "15.4.0" } }, "node_modules/@jupyter-widgets/html-manager": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/html-manager/-/html-manager-0.20.0.tgz", - "integrity": "sha512-u7S3ioF6A9gmZ87b6V+6RuSqQp6oHPgdYWxfqUkkt8PZbOH0nDDk/eN+st5b98+pJJWwyj8kMMb1aR+fhQTcyg==", - "dependencies": { - "@jupyter-widgets/base": "^4.0.0", - "@jupyter-widgets/controls": "^3.0.0", - "@jupyter-widgets/output": "^4.0.0", - "@jupyter-widgets/schema": "^0.4.0", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/html-manager/-/html-manager-1.0.3.tgz", + "integrity": "sha512-C4szxvH522+j+4i8HB5n4Kmk9zbRK4MpPNnVPe7pLiNs/F+II+Lx0ujkAqOYhF4+ClJ7HxlVQa+qkojvQHHJig==", + "dependencies": { + "@fortawesome/fontawesome-free": "^5.12.0", + "@jupyter-widgets/base": "^6.0.1", + "@jupyter-widgets/base-manager": "^1.0.2", + "@jupyter-widgets/controls": "^5.0.1", + "@jupyter-widgets/output": "^6.0.1", + "@jupyter-widgets/schema": "^0.5.1", "@jupyterlab/outputarea": "^3.0.0", "@jupyterlab/rendermime": "^3.0.0", "@jupyterlab/rendermime-interfaces": "^3.0.0", - "@lumino/widgets": "^1.6.0", - "ajv": "^6.10.0", - "font-awesome": "^4.7.0", + "@lumino/messaging": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "ajv": "^8.6.0", "jquery": "^3.1.1" } }, + "node_modules/@jupyter-widgets/html-manager/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@jupyter-widgets/html-manager/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, "node_modules/@jupyter-widgets/output": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/output/-/output-4.0.0.tgz", - "integrity": "sha512-v9vyGhp6IFKKTSxlaa19Z9qo50ofGfvOwqlIyek6PzCAulE+8/UTGz4sw876Yts0cbCSQIwh1zF9HCQ8XfqH2A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/output/-/output-6.0.1.tgz", + "integrity": "sha512-2aqifVUVEV39XnYQvDiZn9LAcX3SYCZclQIyOJTODfas56Wellg7DJ+qL75xRB6HAwTwfjweZX08lw0Zt7gQ1Q==", "dependencies": { - "@jupyter-widgets/base": "^4.0.0" + "@jupyter-widgets/base": "^6.0.1" } }, "node_modules/@jupyter-widgets/schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/schema/-/schema-0.4.0.tgz", - "integrity": "sha512-0MAZ6hLOCe2dYiUvEAfYvWKD7zV9AdkC4AoIEQiWqAai9Pq06oPNWMMg6x+J0ZaNnZWqR2c16f62ehd57Ql7Zw==" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/schema/-/schema-0.5.1.tgz", + "integrity": "sha512-GnslBB7lkGt/Jg0DEJhbze+ot5iJWNqmcuLmm/O6aFBprlxmRQTTvpIcbxQierq5b9n6lsAmNTgSFD69TKeFxg==" }, "node_modules/@jupyterlab/apputils": { "version": "3.1.13", @@ -519,75 +561,75 @@ } }, "node_modules/@lumino/algorithm": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@lumino/algorithm/-/algorithm-1.8.0.tgz", - "integrity": "sha512-6eJ+8Y6UpAbKyCYLNURSK9nJr/oKYvdmlSjOsNu64nEPw/aESr4qc8BPNAonwl4QbMnF2X8tcVMyLbDrUQSrZA==" + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@lumino/algorithm/-/algorithm-1.9.2.tgz", + "integrity": "sha512-Z06lp/yuhz8CtIir3PNTGnuk7909eXt4ukJsCzChsGuot2l5Fbs96RJ/FOHgwCedaX74CtxPjXHXoszFbUA+4A==" }, "node_modules/@lumino/collections": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@lumino/collections/-/collections-1.8.0.tgz", - "integrity": "sha512-pSK/wkbp0Jo0gnyk61xLBySn0ppwXSyEIBFfSKIKnGJWdJq5RAG4f38NawowhSAfARcrMGpDMOySifIM+03y4Q==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@lumino/collections/-/collections-1.9.3.tgz", + "integrity": "sha512-2i2Wf1xnfTgEgdyKEpqM16bcYRIhUOGCDzaVCEZACVG9R1CgYwOe3zfn71slBQOVSjjRgwYrgLXu4MBpt6YK+g==", "dependencies": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2" } }, "node_modules/@lumino/commands": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@lumino/commands/-/commands-1.17.0.tgz", - "integrity": "sha512-vRT0QAtkvRP3E3wAAirAveyHZKMusOAp3cUZwGzJpNkS586SGoCrn1I3AZtFnuOquDrJoM3vyYePYnfeCsc/sw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@lumino/commands/-/commands-1.21.0.tgz", + "integrity": "sha512-N2LNL5fVNLdD48WEa7yyUtVRc2kIf4YpBojxygzZcMGVaoemLnCnUlw7espB5DTDl+WRO/pi5fkWTnoNvp+8Bg==", "dependencies": { - "@lumino/algorithm": "^1.8.0", - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0", - "@lumino/domutils": "^1.7.0", - "@lumino/keyboard": "^1.7.0", - "@lumino/signaling": "^1.9.0", - "@lumino/virtualdom": "^1.13.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3", + "@lumino/domutils": "^1.8.2", + "@lumino/keyboard": "^1.8.2", + "@lumino/signaling": "^1.11.0", + "@lumino/virtualdom": "^1.14.3" } }, "node_modules/@lumino/coreutils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@lumino/coreutils/-/coreutils-1.10.0.tgz", - "integrity": "sha512-YtM277oRy+aDe5CPiYH7jWut7ZyfThCKdWgdY9B+cZ4rQl25SRzKiVPZvaz3rmLRGxiNxgawxoFm/1xD4O1LFQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@lumino/coreutils/-/coreutils-1.12.1.tgz", + "integrity": "sha512-JLu3nTHzJk9N8ohZ85u75YxemMrmDzJdNgZztfP7F7T7mxND3YVNCkJG35a6aJ7edu1sIgCjBxOvV+hv27iYvQ==", "peerDependencies": { "crypto": "1.0.1" } }, "node_modules/@lumino/disposable": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/disposable/-/disposable-1.9.0.tgz", - "integrity": "sha512-/e3l9mb+AuZC/i7qwHKGwGttUnKHn2AJ1IfsMk7/1MUA/cvK1Wi18xrphF0QEGB21IIoKqVHGke0rd8oQ1BjLQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@lumino/disposable/-/disposable-1.10.3.tgz", + "integrity": "sha512-a+LplaVGuubmM0KcgAK5NCcJxo0vuw020p3r5AaM/uvAtvLHM+po0wqD0Lcz633ERunf+bDdQ+8BcOhrQLPofQ==", "dependencies": { - "@lumino/algorithm": "^1.8.0", - "@lumino/signaling": "^1.9.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/signaling": "^1.11.0" } }, "node_modules/@lumino/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-YqLDjy70WigIJDlHmnJOXGRkCTwcTonbBMrVdNwabjZjqtFv1rli4NiInfK3Wm0kueXgn954Dp+bgv/fZ7cOYw==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/domutils/-/domutils-1.8.2.tgz", + "integrity": "sha512-QIpMfkPJrs4GrWBuJf2Sn1fpyVPmvqUUAeD8xAQo8+4V5JAT0vUDLxZ9HijefMgNCi3+Bs8Z3lQwRCrz+cFP1A==" }, "node_modules/@lumino/dragdrop": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@lumino/dragdrop/-/dragdrop-1.12.0.tgz", - "integrity": "sha512-LGpHxj9cFr+SIMGZOj8FQojaGSfyI/uvvieuz4TofieaT2Ts5QhmjB2QrIMOYrkZBxBA/htrsB1Jc/yvBY9rjQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@lumino/dragdrop/-/dragdrop-1.14.3.tgz", + "integrity": "sha512-e3/lnc7bSqtdbDyamx+yeLuAECY1XGcczh8Wu66p6nkkohiajLqeNXicvWQd5G+T2xGce6QFkUnqWUcO5KNHOw==", "dependencies": { - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0" + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3" } }, "node_modules/@lumino/keyboard": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/keyboard/-/keyboard-1.7.0.tgz", - "integrity": "sha512-4AhOcBuRbx+7CBeUmg49u9JT+7N3xhSuwLhiYH75Fwibp7nqAq7fdx6QC7F8t/8EkcpuFnZo1m59dAu+bBmQQQ==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/keyboard/-/keyboard-1.8.2.tgz", + "integrity": "sha512-Dy+XqQ1wXbcnuYtjys5A0pAqf4SpAFl9NY6owyIhXAo0Va7w3LYp3jgiP1xAaBAwMuUppiUAfrbjrysZuZ625g==" }, "node_modules/@lumino/messaging": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/messaging/-/messaging-1.9.0.tgz", - "integrity": "sha512-SwSWcLvo1G8FM7kUVP1SnFvQqfNf7OiNHFTofcNk5rFyg1tb+yVPkm6JNmDauyG4H9ZOt/Ai82q4nf+nmdWaeA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@lumino/messaging/-/messaging-1.10.3.tgz", + "integrity": "sha512-F/KOwMCdqvdEG8CYAJcBSadzp6aI7a47Fr60zAKGqZATSRRRV41q53iXU7HjFPqQqQIvdn9Z7J32rBEAyQAzww==", "dependencies": { - "@lumino/algorithm": "^1.8.0", - "@lumino/collections": "^1.8.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/collections": "^1.9.3" } }, "node_modules/@lumino/polling": { @@ -601,48 +643,49 @@ } }, "node_modules/@lumino/properties": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/properties/-/properties-1.7.0.tgz", - "integrity": "sha512-H9kZggQMHRZmoZcnMegWIVwCRHBhq6uBlRZr2RmBlBS2lrGMkwdDlwPWPhUN10kkpVi6Wq5HFdrVwxW8eq0s1g==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/properties/-/properties-1.8.2.tgz", + "integrity": "sha512-EkjI9Cw8R0U+xC9HxdFSu7X1tz1H1vKu20cGvJ2gU+CXlMB1DvoYJCYxCThByHZ+kURTAap4SE5x8HvKwNPbig==" }, "node_modules/@lumino/signaling": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/signaling/-/signaling-1.9.0.tgz", - "integrity": "sha512-nxvBFF7WrpsPUe3zK2VIEYrzCA6IDf9wICuL1vo1lsVAlmlEwER2hF/HXwvaCfd6lThE1y9w5I3JWahLx4XLaw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@lumino/signaling/-/signaling-1.11.0.tgz", + "integrity": "sha512-c4mfkmwr9RDh/cUF7BFoPj8KdSsmJRfGLt0e2ez4sgnbSX2afeMNQBIi/gKsD4mMmhI5bXa17tVDYQn6ICBXAw==", "dependencies": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/properties": "^1.8.2" } }, "node_modules/@lumino/virtualdom": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@lumino/virtualdom/-/virtualdom-1.13.0.tgz", - "integrity": "sha512-TDolOVWQPCGiP8iOwUefTIqmDp8ycD7MiYo1g4Q8KUk8+Ce8SBEBILonZytVRTP9ZWazFNTf48jCdlGgKx68gg==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@lumino/virtualdom/-/virtualdom-1.14.3.tgz", + "integrity": "sha512-5joUC1yuxeXbpfbSBm/OR8Mu9HoTo6PDX0RKqzlJ9o97iml7zayFN/ynzcxScKGQAo9iaXOY8uVIvGUT8FnsGw==", "dependencies": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2" } }, "node_modules/@lumino/widgets": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@lumino/widgets/-/widgets-1.28.0.tgz", - "integrity": "sha512-wcpmXA47qz6YBqHYc3Zbj7fcCZBWX5Wka684pPkNGvpTQY5HbtXceVsGgm/SzL1GzRedVL5EfsnSPcqYfdMV2w==", - "dependencies": { - "@lumino/algorithm": "^1.8.0", - "@lumino/commands": "^1.17.0", - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0", - "@lumino/domutils": "^1.7.0", - "@lumino/dragdrop": "^1.12.0", - "@lumino/keyboard": "^1.7.0", - "@lumino/messaging": "^1.9.0", - "@lumino/properties": "^1.7.0", - "@lumino/signaling": "^1.9.0", - "@lumino/virtualdom": "^1.13.0" + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@lumino/widgets/-/widgets-1.35.0.tgz", + "integrity": "sha512-AFwCCt/4g6+3YwnrxRqjLusuLUidnldkQ+Dims3ZSm8keRtyjhr6ltnhj4KPZ5Nexxb0jmzWYcHHTceYTgU10w==", + "dependencies": { + "@lumino/algorithm": "^1.9.2", + "@lumino/commands": "^1.21.0", + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3", + "@lumino/domutils": "^1.8.2", + "@lumino/dragdrop": "^1.14.3", + "@lumino/keyboard": "^1.8.2", + "@lumino/messaging": "^1.10.3", + "@lumino/properties": "^1.8.2", + "@lumino/signaling": "^1.11.0", + "@lumino/virtualdom": "^1.14.3" } }, "node_modules/@types/backbone": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@types/backbone/-/backbone-1.4.13.tgz", - "integrity": "sha512-arounMgMfBIPogi/ga0HdJT9juu1lHFWBete3abTPKeA0eIVX7U09Vq0SKWviRf5GjPXvxtGeHoXhBKD4ce+zQ==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@types/backbone/-/backbone-1.4.14.tgz", + "integrity": "sha512-85ldQ99fiYTJFBlZuAJRaCdvTZKZ2p1fSs3fVf+6Ub6k1X0g0hNJ0qJ/2FOByyyAQYLtbEz3shX5taKQfBKBDw==", "dependencies": { "@types/jquery": "*", "@types/underscore": "*" @@ -694,9 +737,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.175", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", - "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" + "version": "4.14.189", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.189.tgz", + "integrity": "sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA==" }, "node_modules/@types/node": { "version": "16.10.2", @@ -738,9 +781,9 @@ } }, "node_modules/@types/underscore": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.3.tgz", - "integrity": "sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw==" + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", @@ -982,11 +1025,11 @@ } }, "node_modules/backbone": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.2.3.tgz", - "integrity": "sha1-wiz9B/yG676uYdGJKe0RXpmdZbk=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", "dependencies": { - "underscore": ">=1.7.0" + "underscore": ">=1.8.3" } }, "node_modules/balanced-match": { @@ -1232,10 +1275,21 @@ "type": "^1.0.1" } }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, "node_modules/d3-format": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", - "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } }, "node_modules/deep-equal": { "version": "1.1.1", @@ -1661,14 +1715,6 @@ "resolved": "https://registry.npmjs.org/flatqueue/-/flatqueue-1.2.1.tgz", "integrity": "sha512-X86TpWS1rGuY7m382HuA9vngLeDuWA9lJvhEG+GfgKMV5onSvx5a71cl7GMbXzhWtlN9dGfqOBrpfqeOtUfGYQ==" }, - "node_modules/font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=", - "engines": { - "node": ">=0.10.3" - } - }, "node_modules/free-style": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/free-style/-/free-style-3.1.0.tgz", @@ -2734,6 +2780,14 @@ "resolved": "https://registry.npmjs.org/regl/-/regl-2.1.0.tgz", "integrity": "sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==" }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -3131,9 +3185,9 @@ "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==" }, "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/underscore.template": { "version": "0.1.7", @@ -3621,6 +3675,11 @@ "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", "dev": true }, + "@fortawesome/fontawesome-free": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", + "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==" + }, "@hypnosphi/create-react-context": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz", @@ -3631,69 +3690,100 @@ } }, "@jupyter-widgets/base": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/base/-/base-4.0.0.tgz", - "integrity": "sha512-lBQgLYzq6C+XjfVJTidk+rckKo/+xlTgIm1XUtACA3BUz8bgi2du2zmbYkcrplJMwGub4QWP6GnKgM5ZZRhzYg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/base/-/base-6.0.1.tgz", + "integrity": "sha512-EDuEaM10WtLYvqAaC8nXl0lmss8P+pDPtFIsCmRiodZNg3xyXAxTHDJM9Gl5gtXk31ny62Y+C7l275uir1/0sw==", "requires": { "@jupyterlab/services": "^6.0.0", - "@lumino/coreutils": "^1.2.0", - "@lumino/messaging": "^1.2.1", - "@lumino/widgets": "^1.3.0", - "@types/backbone": "^1.4.1", + "@lumino/coreutils": "^1.11.1", + "@lumino/messaging": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "@types/backbone": "1.4.14", "@types/lodash": "^4.14.134", - "backbone": "1.2.3", - "base64-js": "^1.2.1", + "backbone": "1.4.0", "jquery": "^3.1.1", "lodash": "^4.17.4" } }, + "@jupyter-widgets/base-manager": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/base-manager/-/base-manager-1.0.2.tgz", + "integrity": "sha512-U0FaNjDttrF+et8Tl77MT0+iVSjClAbCCJnPRvsgs+NRZ3hA7Ka0B+TR6hutV2u2GafA1HFZCq1LXhkhgbNqDw==", + "requires": { + "@jupyter-widgets/base": "^6.0.1", + "@jupyterlab/services": "^6.0.0", + "@lumino/coreutils": "^1.11.1", + "base64-js": "^1.2.1", + "sanitize-html": "^2.3" + } + }, "@jupyter-widgets/controls": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/controls/-/controls-3.0.0.tgz", - "integrity": "sha512-VyoBxUp/8pf7IFlM4hriD/UvYpHzXFXrUAaT/NRAhMUFO4Ruh4ALcxeHdWFnqxMjiSyOnWdjzdIeQL0pYi83Gg==", - "requires": { - "@jupyter-widgets/base": "^4.0.0", - "@lumino/algorithm": "^1.1.0", - "@lumino/domutils": "^1.1.0", - "@lumino/messaging": "^1.2.1", - "@lumino/signaling": "^1.2.0", - "@lumino/widgets": "^1.3.0", - "d3-format": "^1.3.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/controls/-/controls-5.0.1.tgz", + "integrity": "sha512-duph77/U832Op6H3HuhEtvBWmexJfXAC0ZfWGnZrAQsHE2iyozw1zBI1+jgYAZxZRKjcfVU/In0lh4yhB3rRBQ==", + "requires": { + "@jupyter-widgets/base": "^6.0.1", + "@lumino/algorithm": "^1.9.1", + "@lumino/domutils": "^1.8.1", + "@lumino/messaging": "^1.10.1", + "@lumino/signaling": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "d3-color": "^3.0.1", + "d3-format": "^3.0.1", "jquery": "^3.1.1", - "jquery-ui": "^1.12.1", - "underscore": "^1.8.3" + "nouislider": "15.4.0" } }, "@jupyter-widgets/html-manager": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/html-manager/-/html-manager-0.20.0.tgz", - "integrity": "sha512-u7S3ioF6A9gmZ87b6V+6RuSqQp6oHPgdYWxfqUkkt8PZbOH0nDDk/eN+st5b98+pJJWwyj8kMMb1aR+fhQTcyg==", - "requires": { - "@jupyter-widgets/base": "^4.0.0", - "@jupyter-widgets/controls": "^3.0.0", - "@jupyter-widgets/output": "^4.0.0", - "@jupyter-widgets/schema": "^0.4.0", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/html-manager/-/html-manager-1.0.3.tgz", + "integrity": "sha512-C4szxvH522+j+4i8HB5n4Kmk9zbRK4MpPNnVPe7pLiNs/F+II+Lx0ujkAqOYhF4+ClJ7HxlVQa+qkojvQHHJig==", + "requires": { + "@fortawesome/fontawesome-free": "^5.12.0", + "@jupyter-widgets/base": "^6.0.1", + "@jupyter-widgets/base-manager": "^1.0.2", + "@jupyter-widgets/controls": "^5.0.1", + "@jupyter-widgets/output": "^6.0.1", + "@jupyter-widgets/schema": "^0.5.1", "@jupyterlab/outputarea": "^3.0.0", "@jupyterlab/rendermime": "^3.0.0", "@jupyterlab/rendermime-interfaces": "^3.0.0", - "@lumino/widgets": "^1.6.0", - "ajv": "^6.10.0", - "font-awesome": "^4.7.0", + "@lumino/messaging": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "ajv": "^8.6.0", "jquery": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } } }, "@jupyter-widgets/output": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/output/-/output-4.0.0.tgz", - "integrity": "sha512-v9vyGhp6IFKKTSxlaa19Z9qo50ofGfvOwqlIyek6PzCAulE+8/UTGz4sw876Yts0cbCSQIwh1zF9HCQ8XfqH2A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/output/-/output-6.0.1.tgz", + "integrity": "sha512-2aqifVUVEV39XnYQvDiZn9LAcX3SYCZclQIyOJTODfas56Wellg7DJ+qL75xRB6HAwTwfjweZX08lw0Zt7gQ1Q==", "requires": { - "@jupyter-widgets/base": "^4.0.0" + "@jupyter-widgets/base": "^6.0.1" } }, "@jupyter-widgets/schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@jupyter-widgets/schema/-/schema-0.4.0.tgz", - "integrity": "sha512-0MAZ6hLOCe2dYiUvEAfYvWKD7zV9AdkC4AoIEQiWqAai9Pq06oPNWMMg6x+J0ZaNnZWqR2c16f62ehd57Ql7Zw==" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/schema/-/schema-0.5.1.tgz", + "integrity": "sha512-GnslBB7lkGt/Jg0DEJhbze+ot5iJWNqmcuLmm/O6aFBprlxmRQTTvpIcbxQierq5b9n6lsAmNTgSFD69TKeFxg==" }, "@jupyterlab/apputils": { "version": "3.1.13", @@ -3965,73 +4055,73 @@ } }, "@lumino/algorithm": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@lumino/algorithm/-/algorithm-1.8.0.tgz", - "integrity": "sha512-6eJ+8Y6UpAbKyCYLNURSK9nJr/oKYvdmlSjOsNu64nEPw/aESr4qc8BPNAonwl4QbMnF2X8tcVMyLbDrUQSrZA==" + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@lumino/algorithm/-/algorithm-1.9.2.tgz", + "integrity": "sha512-Z06lp/yuhz8CtIir3PNTGnuk7909eXt4ukJsCzChsGuot2l5Fbs96RJ/FOHgwCedaX74CtxPjXHXoszFbUA+4A==" }, "@lumino/collections": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@lumino/collections/-/collections-1.8.0.tgz", - "integrity": "sha512-pSK/wkbp0Jo0gnyk61xLBySn0ppwXSyEIBFfSKIKnGJWdJq5RAG4f38NawowhSAfARcrMGpDMOySifIM+03y4Q==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@lumino/collections/-/collections-1.9.3.tgz", + "integrity": "sha512-2i2Wf1xnfTgEgdyKEpqM16bcYRIhUOGCDzaVCEZACVG9R1CgYwOe3zfn71slBQOVSjjRgwYrgLXu4MBpt6YK+g==", "requires": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2" } }, "@lumino/commands": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@lumino/commands/-/commands-1.17.0.tgz", - "integrity": "sha512-vRT0QAtkvRP3E3wAAirAveyHZKMusOAp3cUZwGzJpNkS586SGoCrn1I3AZtFnuOquDrJoM3vyYePYnfeCsc/sw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@lumino/commands/-/commands-1.21.0.tgz", + "integrity": "sha512-N2LNL5fVNLdD48WEa7yyUtVRc2kIf4YpBojxygzZcMGVaoemLnCnUlw7espB5DTDl+WRO/pi5fkWTnoNvp+8Bg==", "requires": { - "@lumino/algorithm": "^1.8.0", - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0", - "@lumino/domutils": "^1.7.0", - "@lumino/keyboard": "^1.7.0", - "@lumino/signaling": "^1.9.0", - "@lumino/virtualdom": "^1.13.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3", + "@lumino/domutils": "^1.8.2", + "@lumino/keyboard": "^1.8.2", + "@lumino/signaling": "^1.11.0", + "@lumino/virtualdom": "^1.14.3" } }, "@lumino/coreutils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@lumino/coreutils/-/coreutils-1.10.0.tgz", - "integrity": "sha512-YtM277oRy+aDe5CPiYH7jWut7ZyfThCKdWgdY9B+cZ4rQl25SRzKiVPZvaz3rmLRGxiNxgawxoFm/1xD4O1LFQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@lumino/coreutils/-/coreutils-1.12.1.tgz", + "integrity": "sha512-JLu3nTHzJk9N8ohZ85u75YxemMrmDzJdNgZztfP7F7T7mxND3YVNCkJG35a6aJ7edu1sIgCjBxOvV+hv27iYvQ==", "requires": {} }, "@lumino/disposable": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/disposable/-/disposable-1.9.0.tgz", - "integrity": "sha512-/e3l9mb+AuZC/i7qwHKGwGttUnKHn2AJ1IfsMk7/1MUA/cvK1Wi18xrphF0QEGB21IIoKqVHGke0rd8oQ1BjLQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@lumino/disposable/-/disposable-1.10.3.tgz", + "integrity": "sha512-a+LplaVGuubmM0KcgAK5NCcJxo0vuw020p3r5AaM/uvAtvLHM+po0wqD0Lcz633ERunf+bDdQ+8BcOhrQLPofQ==", "requires": { - "@lumino/algorithm": "^1.8.0", - "@lumino/signaling": "^1.9.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/signaling": "^1.11.0" } }, "@lumino/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-YqLDjy70WigIJDlHmnJOXGRkCTwcTonbBMrVdNwabjZjqtFv1rli4NiInfK3Wm0kueXgn954Dp+bgv/fZ7cOYw==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/domutils/-/domutils-1.8.2.tgz", + "integrity": "sha512-QIpMfkPJrs4GrWBuJf2Sn1fpyVPmvqUUAeD8xAQo8+4V5JAT0vUDLxZ9HijefMgNCi3+Bs8Z3lQwRCrz+cFP1A==" }, "@lumino/dragdrop": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@lumino/dragdrop/-/dragdrop-1.12.0.tgz", - "integrity": "sha512-LGpHxj9cFr+SIMGZOj8FQojaGSfyI/uvvieuz4TofieaT2Ts5QhmjB2QrIMOYrkZBxBA/htrsB1Jc/yvBY9rjQ==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@lumino/dragdrop/-/dragdrop-1.14.3.tgz", + "integrity": "sha512-e3/lnc7bSqtdbDyamx+yeLuAECY1XGcczh8Wu66p6nkkohiajLqeNXicvWQd5G+T2xGce6QFkUnqWUcO5KNHOw==", "requires": { - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0" + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3" } }, "@lumino/keyboard": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/keyboard/-/keyboard-1.7.0.tgz", - "integrity": "sha512-4AhOcBuRbx+7CBeUmg49u9JT+7N3xhSuwLhiYH75Fwibp7nqAq7fdx6QC7F8t/8EkcpuFnZo1m59dAu+bBmQQQ==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/keyboard/-/keyboard-1.8.2.tgz", + "integrity": "sha512-Dy+XqQ1wXbcnuYtjys5A0pAqf4SpAFl9NY6owyIhXAo0Va7w3LYp3jgiP1xAaBAwMuUppiUAfrbjrysZuZ625g==" }, "@lumino/messaging": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/messaging/-/messaging-1.9.0.tgz", - "integrity": "sha512-SwSWcLvo1G8FM7kUVP1SnFvQqfNf7OiNHFTofcNk5rFyg1tb+yVPkm6JNmDauyG4H9ZOt/Ai82q4nf+nmdWaeA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@lumino/messaging/-/messaging-1.10.3.tgz", + "integrity": "sha512-F/KOwMCdqvdEG8CYAJcBSadzp6aI7a47Fr60zAKGqZATSRRRV41q53iXU7HjFPqQqQIvdn9Z7J32rBEAyQAzww==", "requires": { - "@lumino/algorithm": "^1.8.0", - "@lumino/collections": "^1.8.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/collections": "^1.9.3" } }, "@lumino/polling": { @@ -4045,48 +4135,49 @@ } }, "@lumino/properties": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@lumino/properties/-/properties-1.7.0.tgz", - "integrity": "sha512-H9kZggQMHRZmoZcnMegWIVwCRHBhq6uBlRZr2RmBlBS2lrGMkwdDlwPWPhUN10kkpVi6Wq5HFdrVwxW8eq0s1g==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@lumino/properties/-/properties-1.8.2.tgz", + "integrity": "sha512-EkjI9Cw8R0U+xC9HxdFSu7X1tz1H1vKu20cGvJ2gU+CXlMB1DvoYJCYxCThByHZ+kURTAap4SE5x8HvKwNPbig==" }, "@lumino/signaling": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lumino/signaling/-/signaling-1.9.0.tgz", - "integrity": "sha512-nxvBFF7WrpsPUe3zK2VIEYrzCA6IDf9wICuL1vo1lsVAlmlEwER2hF/HXwvaCfd6lThE1y9w5I3JWahLx4XLaw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@lumino/signaling/-/signaling-1.11.0.tgz", + "integrity": "sha512-c4mfkmwr9RDh/cUF7BFoPj8KdSsmJRfGLt0e2ez4sgnbSX2afeMNQBIi/gKsD4mMmhI5bXa17tVDYQn6ICBXAw==", "requires": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2", + "@lumino/properties": "^1.8.2" } }, "@lumino/virtualdom": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@lumino/virtualdom/-/virtualdom-1.13.0.tgz", - "integrity": "sha512-TDolOVWQPCGiP8iOwUefTIqmDp8ycD7MiYo1g4Q8KUk8+Ce8SBEBILonZytVRTP9ZWazFNTf48jCdlGgKx68gg==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@lumino/virtualdom/-/virtualdom-1.14.3.tgz", + "integrity": "sha512-5joUC1yuxeXbpfbSBm/OR8Mu9HoTo6PDX0RKqzlJ9o97iml7zayFN/ynzcxScKGQAo9iaXOY8uVIvGUT8FnsGw==", "requires": { - "@lumino/algorithm": "^1.8.0" + "@lumino/algorithm": "^1.9.2" } }, "@lumino/widgets": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@lumino/widgets/-/widgets-1.28.0.tgz", - "integrity": "sha512-wcpmXA47qz6YBqHYc3Zbj7fcCZBWX5Wka684pPkNGvpTQY5HbtXceVsGgm/SzL1GzRedVL5EfsnSPcqYfdMV2w==", - "requires": { - "@lumino/algorithm": "^1.8.0", - "@lumino/commands": "^1.17.0", - "@lumino/coreutils": "^1.10.0", - "@lumino/disposable": "^1.9.0", - "@lumino/domutils": "^1.7.0", - "@lumino/dragdrop": "^1.12.0", - "@lumino/keyboard": "^1.7.0", - "@lumino/messaging": "^1.9.0", - "@lumino/properties": "^1.7.0", - "@lumino/signaling": "^1.9.0", - "@lumino/virtualdom": "^1.13.0" + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@lumino/widgets/-/widgets-1.35.0.tgz", + "integrity": "sha512-AFwCCt/4g6+3YwnrxRqjLusuLUidnldkQ+Dims3ZSm8keRtyjhr6ltnhj4KPZ5Nexxb0jmzWYcHHTceYTgU10w==", + "requires": { + "@lumino/algorithm": "^1.9.2", + "@lumino/commands": "^1.21.0", + "@lumino/coreutils": "^1.12.1", + "@lumino/disposable": "^1.10.3", + "@lumino/domutils": "^1.8.2", + "@lumino/dragdrop": "^1.14.3", + "@lumino/keyboard": "^1.8.2", + "@lumino/messaging": "^1.10.3", + "@lumino/properties": "^1.8.2", + "@lumino/signaling": "^1.11.0", + "@lumino/virtualdom": "^1.14.3" } }, "@types/backbone": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@types/backbone/-/backbone-1.4.13.tgz", - "integrity": "sha512-arounMgMfBIPogi/ga0HdJT9juu1lHFWBete3abTPKeA0eIVX7U09Vq0SKWviRf5GjPXvxtGeHoXhBKD4ce+zQ==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@types/backbone/-/backbone-1.4.14.tgz", + "integrity": "sha512-85ldQ99fiYTJFBlZuAJRaCdvTZKZ2p1fSs3fVf+6Ub6k1X0g0hNJ0qJ/2FOByyyAQYLtbEz3shX5taKQfBKBDw==", "requires": { "@types/jquery": "*", "@types/underscore": "*" @@ -4138,9 +4229,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.175", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", - "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" + "version": "4.14.189", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.189.tgz", + "integrity": "sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA==" }, "@types/node": { "version": "16.10.2", @@ -4182,9 +4273,9 @@ } }, "@types/underscore": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.3.tgz", - "integrity": "sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw==" + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" }, "@webassemblyjs/ast": { "version": "1.11.1", @@ -4399,11 +4490,11 @@ "requires": {} }, "backbone": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.2.3.tgz", - "integrity": "sha1-wiz9B/yG676uYdGJKe0RXpmdZbk=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", "requires": { - "underscore": ">=1.7.0" + "underscore": ">=1.8.3" } }, "balanced-match": { @@ -4585,10 +4676,15 @@ "type": "^1.0.1" } }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" + }, "d3-format": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", - "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" }, "deep-equal": { "version": "1.1.1", @@ -4932,11 +5028,6 @@ "resolved": "https://registry.npmjs.org/flatqueue/-/flatqueue-1.2.1.tgz", "integrity": "sha512-X86TpWS1rGuY7m382HuA9vngLeDuWA9lJvhEG+GfgKMV5onSvx5a71cl7GMbXzhWtlN9dGfqOBrpfqeOtUfGYQ==" }, - "font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" - }, "free-style": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/free-style/-/free-style-3.1.0.tgz", @@ -5719,6 +5810,11 @@ "resolved": "https://registry.npmjs.org/regl/-/regl-2.1.0.tgz", "integrity": "sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -6002,9 +6098,9 @@ } }, "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "underscore.template": { "version": "0.1.7", diff --git a/ipywidgets_bokeh/package.json b/ipywidgets_bokeh/package.json index 39d0b75..e888605 100644 --- a/ipywidgets_bokeh/package.json +++ b/ipywidgets_bokeh/package.json @@ -1,6 +1,6 @@ { "name": "@bokeh/ipywidgets_bokeh", - "version": "1.2.1", + "version": "1.3.0", "description": "Allows embedding of Jupyter widgets in Bokeh applications.", "keywords": [ "bokeh", @@ -15,7 +15,7 @@ }, "dependencies": { "@bokeh/bokehjs": "~2.4.0", - "@jupyter-widgets/html-manager": "~0.20.0" + "@jupyter-widgets/html-manager": "~1.0.3" }, "devDependencies": { "css-loader": "^6.3.0", diff --git a/ipywidgets_bokeh/src/manager.ts b/ipywidgets_bokeh/src/manager.ts index 82403ec..3addd87 100644 --- a/ipywidgets_bokeh/src/manager.ts +++ b/ipywidgets_bokeh/src/manager.ts @@ -1,44 +1,27 @@ import {HTMLManager} from "@jupyter-widgets/html-manager" -import {ModelOptions, IClassicComm, shims} from "@jupyter-widgets/base" +import {IModelOptions, IClassicComm, shims} from "@jupyter-widgets/base" import * as utils from "@jupyter-widgets/base" +import {IState, IManagerState} from "@jupyter-widgets/base-manager" import {Kernel, KernelManager, ServerConnection} from "@jupyterlab/services" import {isString} from "@bokehjs/core/util/types" export type WidgetModel = utils.DOMWidgetModel -export type Buffer = { - path: (string | number)[] - data: string - encoding: "hex" | "base64" -} - -export type ModelState = { - model_name: string - model_module: string - model_module_version: string - state: object - buffers: Buffer[] -} - export type ModelBundle = { spec: {model_id: string} - state: State -} - -export type State = { - version_major?: number - state: {[key: string]: ModelState} + state: IManagerState } let _kernel_id = 0 export class WidgetManager extends HTMLManager { - private _known_models: {[key: string]: ModelState} = {} + private _known_models: {[key: string]: IState} = {} private kernel_manager: KernelManager private kernel: Kernel.IKernelConnection private ws: WebSocket | null = null + private _model_objs: { [key: string]: WidgetModel } = {} protected bk_send?: (data: string | ArrayBuffer) => void @@ -133,12 +116,25 @@ export class WidgetManager extends HTMLManager { this.kernel_manager = new KernelManager({serverSettings: settings}) const kernel_model: Kernel.IModel = {name: "bokeh_kernel", id: `${_kernel_id++}`} this.kernel = this.kernel_manager.connectTo({model: kernel_model, handleComms: true}) - this.kernel.registerCommTarget(this.comm_target_name, (comm, msg) => { - this.handle_comm_open(new shims.services.Comm(comm), msg) + const model = this._model_objs[msg.content.comm_id] + if (model != null && !model.comm_live) { + const comm_wrapper = new shims.services.Comm(comm) + this._attach_comm(comm_wrapper, model); + } }) } + _attach_comm(comm: any, model: WidgetModel) { + model.comm = comm; + + // Hook comm messages up to model. + comm.on_close(model._handle_comm_closed.bind(model)); + comm.on_msg(model._handle_comm_msg.bind(model)); + + model.comm_live = true; + } + async render(bundle: ModelBundle, el: HTMLElement): Promise { const {spec, state} = bundle const new_models = state.state @@ -147,9 +143,16 @@ export class WidgetManager extends HTMLManager { } try { const models = await this.set_state(state) + for (const model of models) { + const comm = await this._create_comm('jupyter.widget', model.model_id) + this._attach_comm(comm, model); + this._model_objs[model.model_id] = model + } const model = models.find((item) => item.model_id == spec.model_id) + if (model != null) { - await this.display_model(undefined as any, model, {el}) + const view = await this.create_view(model, {el}) + await this.display_view(view, el) } } finally { for (const id in new_models) { @@ -180,7 +183,7 @@ export class WidgetManager extends HTMLManager { return Promise.resolve(this._known_models) } - async new_model(options: ModelOptions, serialized_state?: any): Promise { + async new_model(options: IModelOptions, serialized_state?: any): Promise { // XXX: this is a hack that allows to connect to a live comm and use initial // state sent via a state bundle, essentially turning new_model(modelCreate) // into new_model(modelCreate, modelState) in ManagerBase.set_state(), possibly