From 62145492fb50e5ca0a7ac518e7d36e2c04746842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADnez?= <28702884+jorgepiloto@users.noreply.github.com> Date: Fri, 26 Jul 2024 09:02:47 +0200 Subject: [PATCH 01/22] doc: update yarn version in dev_install.md (#3929) --- docs/source/dev_install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/dev_install.md b/docs/source/dev_install.md index 2aa71b25d3..ad90794b4b 100644 --- a/docs/source/dev_install.md +++ b/docs/source/dev_install.md @@ -7,7 +7,7 @@ The core Jupyter Widgets packages are developed in the To install ipywidgets from git, you will need: -- [yarn](https://yarnpkg.com/) package manager ** version 1.2.1 or later ** +- [yarn](https://yarnpkg.com/) package manager ** version 3.0 or later ** - the latest [Jupyter Notebook development release](https://github.com/jupyter/notebook/releases) From c579fcd1265af77a0d793aa47a7b9a401d952550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?= Date: Fri, 26 Jul 2024 09:03:11 +0200 Subject: [PATCH 02/22] Fix compatibility with pytest 8 (#3903) Resolves: https://github.com/jupyter-widgets/ipywidgets/issues/3883 --- .../ipywidgets/ipywidgets/widgets/tests/test_interaction.py | 2 -- python/ipywidgets/ipywidgets/widgets/tests/test_link.py | 1 - .../ipywidgets/ipywidgets/widgets/tests/test_send_state.py | 2 +- .../ipywidgets/ipywidgets/widgets/tests/test_set_state.py | 2 +- python/ipywidgets/ipywidgets/widgets/tests/utils.py | 6 +++--- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py b/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py index 0dc7e5fcfc..feb1afe50c 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py @@ -19,8 +19,6 @@ # Utility stuff #----------------------------------------------------------------------------- -from .utils import setup, teardown - def f(**kwargs): pass diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_link.py b/python/ipywidgets/ipywidgets/widgets/tests/test_link.py index 0c92dfdcb2..9301764d40 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_link.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_link.py @@ -4,7 +4,6 @@ import pytest from .. import jslink, jsdlink, ToggleButton -from .utils import setup, teardown def test_jslink_args(): with pytest.raises(TypeError): diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_send_state.py b/python/ipywidgets/ipywidgets/widgets/tests/test_send_state.py index ec18ae4af1..98465b9b7d 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_send_state.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_send_state.py @@ -3,7 +3,7 @@ from traitlets import Bool, Tuple, List -from .utils import setup, teardown, DummyComm +from .utils import setup from ..widget import Widget diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_set_state.py b/python/ipywidgets/ipywidgets/widgets/tests/test_set_state.py index 82ecbd9311..22ec54d90f 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_set_state.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_set_state.py @@ -6,7 +6,7 @@ from traitlets import Bool, Tuple, List, Instance, CFloat, CInt, Float, Int, TraitError, observe -from .utils import setup, teardown +from .utils import setup import ipywidgets from ipywidgets import Widget diff --git a/python/ipywidgets/ipywidgets/widgets/tests/utils.py b/python/ipywidgets/ipywidgets/widgets/tests/utils.py index 260485e3f8..8dbbcb355b 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/utils.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/utils.py @@ -12,7 +12,7 @@ NEW_COMM_PACKAGE = False import ipykernel.comm - +import pytest class DummyComm(): comm_id = 'a-b-c-d' @@ -87,10 +87,10 @@ def teardown_test_comm(): setattr(Widget, attr, value) _widget_attrs.clear() +@pytest.fixture(autouse=True) def setup(): setup_test_comm() - -def teardown(): + yield teardown_test_comm() def call_method(method, *args, **kwargs): From 73c98f080cdb70254a5c1ddc6295e83d17f37e03 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Wed, 21 Aug 2024 12:50:55 +0100 Subject: [PATCH 03/22] HTMLManager: Support both ipywidgets 7 and 8 models (#3932) * HTMLManager: Support both ipywidgets 7 and 8 models * Linter * Fix integrity test * Add test * Fix the tests * Apply same special case for jupyter-widgets packages as in the lab manager * Reduce PR diff --- docs/requirements.txt | 4 +- packages/html-manager/package.json | 5 +- .../html-manager/scripts/concat-amd-build.js | 11 +- packages/html-manager/src/htmlmanager.ts | 54 ++- packages/html-manager/src/libembed-amd.ts | 20 +- packages/html-manager/src/libembed.ts | 10 - packages/html-manager/src/output_renderers.ts | 2 +- packages/html-manager/test/src/output_test.ts | 83 +++- packages/html-manager/webpack.config.js | 28 ++ scripts/package-integrity.js | 6 +- yarn.lock | 389 +++++++++++++++--- 11 files changed, 531 insertions(+), 81 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 922711b316..4c431f62ba 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -6,8 +6,8 @@ ipyleaflet jupyter-client jupyter-packaging jupyterlab >=4 -jupyterlite-core >=0.3.0<0.4.0 -jupyterlite-pyodide-kernel >=0.3.0<0.4.0 +jupyterlite-core >=0.3.0,<0.4.0 +jupyterlite-pyodide-kernel >=0.3.0,<0.4.0 matplotlib myst-nb >=0.17,<0.18 numpy diff --git a/packages/html-manager/package.json b/packages/html-manager/package.json index aed9619ec9..1df0e53a38 100644 --- a/packages/html-manager/package.json +++ b/packages/html-manager/package.json @@ -38,7 +38,9 @@ "@fortawesome/fontawesome-free": "^5.12.0", "@jupyter-widgets/base": "^6.0.8", "@jupyter-widgets/base-manager": "^1.0.9", + "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6", "@jupyter-widgets/controls": "^5.0.9", + "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6", "@jupyter-widgets/output": "^6.0.8", "@jupyter-widgets/schema": "^0.5.5", "@jupyterlab/outputarea": "^3.0.0 || ^4.0.0", @@ -47,7 +49,8 @@ "@lumino/messaging": "^1.10.1 || ^2.1", "@lumino/widgets": "^1.30.0 || ^2.1", "ajv": "^8.6.0", - "jquery": "^3.1.1" + "jquery": "^3.1.1", + "semver": "^7.3.5" }, "devDependencies": { "@types/jquery": "^3.5.16", diff --git a/packages/html-manager/scripts/concat-amd-build.js b/packages/html-manager/scripts/concat-amd-build.js index d63b26d746..71338cdce5 100755 --- a/packages/html-manager/scripts/concat-amd-build.js +++ b/packages/html-manager/scripts/concat-amd-build.js @@ -4,7 +4,14 @@ var fs = require('fs'); // Make a script file that defines all of the relevant AMD modules -var files = ['base.js', 'controls.js', 'index.js', 'libembed-amd.js']; +var files = [ + 'base.js', + 'controls.js', + 'base7.js', + 'controls7.js', + 'index.js', + 'libembed-amd.js', +]; var output = files .map((f) => { return fs.readFileSync('./dist/amd/' + f).toString(); @@ -17,6 +24,8 @@ fs.writeFileSync('./dist/libembed-amd.js', output); files = [ 'base.js', 'controls.js', + 'base7.js', + 'controls7.js', 'index.js', 'libembed-amd.js', 'embed-amd-render.js', diff --git a/packages/html-manager/src/htmlmanager.ts b/packages/html-manager/src/htmlmanager.ts index 50f5807da5..731c1e0c61 100644 --- a/packages/html-manager/src/htmlmanager.ts +++ b/packages/html-manager/src/htmlmanager.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import * as widgets from '@jupyter-widgets/controls'; +import { maxSatisfying } from 'semver'; import * as base from '@jupyter-widgets/base'; import * as outputWidgets from './output'; import { ManagerBase } from '@jupyter-widgets/base-manager'; @@ -38,7 +38,7 @@ export class HTMLManager extends ManagerBase { window.addEventListener('resize', () => { this._viewList.forEach((view) => { MessageLoop.postMessage( - view.luminoWidget, + view.luminoWidget || view.pWidget, LuminoWidget.Widget.ResizeMessage.UnknownSize ); }); @@ -66,7 +66,7 @@ export class HTMLManager extends ManagerBase { v.render(); } - LuminoWidget.Widget.attach(v.luminoWidget, el); + LuminoWidget.Widget.attach(v.luminoWidget || v.pWidget, el); this._viewList.add(v); v.once('remove', () => { this._viewList.delete(v); @@ -112,10 +112,54 @@ export class HTMLManager extends ManagerBase { moduleVersion: string ): Promise { return new Promise((resolve, reject) => { + if ( + moduleName === '@jupyter-widgets/base' || + moduleName === '@jupyter-widgets/controls' + ) { + moduleVersion = `^${moduleVersion}`; + } + if (moduleName === '@jupyter-widgets/base') { - resolve(base); + const best = maxSatisfying(['1.2.0', '2.0.0'], moduleVersion); + + if (best === '1.2.0') { + // ipywidgets 7 model + resolve(require('@jupyter-widgets/base7')); + } else { + // ipywidgets 8 model + resolve(require('@jupyter-widgets/base')); + } } else if (moduleName === '@jupyter-widgets/controls') { - resolve(widgets); + const best = maxSatisfying(['1.5.0', '2.0.0'], moduleVersion); + + if (best === '1.5.0') { + // ipywidgets 7 controls JS and CSS + require('@jupyter-widgets/controls7/css/widgets-base.css'); + + // If lab variables are not found, we set them (we don't want to reset the variables if they are already defined) + if ( + getComputedStyle(document.documentElement).getPropertyValue( + '--jp-layout-color0' + ) === '' + ) { + require('@jupyter-widgets/controls7/css/labvariables.css'); + } + resolve(require('@jupyter-widgets/controls7')); + } else { + // ipywidgets 8 controls JS and CSS + require('@jupyter-widgets/controls/css/widgets-base.css'); + + // If lab variables are not found, we set them (we don't want to reset the variables if they are already defined) + if ( + getComputedStyle(document.documentElement).getPropertyValue( + '--jp-layout-color0' + ) === '' + ) { + require('@jupyter-widgets/controls/css/labvariables.css'); + } + + resolve(require('@jupyter-widgets/controls')); + } } else if (moduleName === '@jupyter-widgets/output') { resolve(outputWidgets); } else if (this.loader !== undefined) { diff --git a/packages/html-manager/src/libembed-amd.ts b/packages/html-manager/src/libembed-amd.ts index 6cf1868c60..1a3ed21742 100644 --- a/packages/html-manager/src/libembed-amd.ts +++ b/packages/html-manager/src/libembed-amd.ts @@ -3,16 +3,6 @@ import * as libembed from './libembed'; -let cdn = 'https://cdn.jsdelivr.net/npm/'; -let onlyCDN = false; - -// find the data-cdn for any script tag, assuming it is only used for embed-amd.js -const scripts = document.getElementsByTagName('script'); -Array.prototype.forEach.call(scripts, (script: HTMLScriptElement) => { - cdn = script.getAttribute('data-jupyter-widgets-cdn') || cdn; - onlyCDN = onlyCDN || script.hasAttribute('data-jupyter-widgets-cdn-only'); -}); - /** * Load a package using requirejs and return a promise * @@ -29,6 +19,16 @@ const requirePromise = function (pkg: string | string[]): Promise { }); }; +let cdn = 'https://cdn.jsdelivr.net/npm/'; +let onlyCDN = false; + +// find the data-cdn for any script tag, assuming it is only used for embed-amd.js +const scripts = document.getElementsByTagName('script'); +Array.prototype.forEach.call(scripts, (script: HTMLScriptElement) => { + cdn = script.getAttribute('data-jupyter-widgets-cdn') || cdn; + onlyCDN = onlyCDN || script.hasAttribute('data-jupyter-widgets-cdn-only'); +}); + function moduleNameToCDNUrl(moduleName: string, moduleVersion: string): string { let packageName = moduleName; let fileName = 'index'; // default filename diff --git a/packages/html-manager/src/libembed.ts b/packages/html-manager/src/libembed.ts index 494734d6aa..00e5ceb13e 100644 --- a/packages/html-manager/src/libembed.ts +++ b/packages/html-manager/src/libembed.ts @@ -11,16 +11,6 @@ import '@fortawesome/fontawesome-free/css/all.min.css'; import '@fortawesome/fontawesome-free/css/v4-shims.min.css'; import '@lumino/widgets/style/index.css'; -import '@jupyter-widgets/controls/css/widgets-base.css'; - -// If lab variables are not found, we set them (we don't want to reset the variables if they are already defined) -if ( - getComputedStyle(document.documentElement).getPropertyValue( - '--jp-layout-color0' - ) === '' -) { - require('@jupyter-widgets/controls/css/labvariables.css'); -} // Used just for the typing. We must not import the javascript because we don't // want to include it in the require embedding. diff --git a/packages/html-manager/src/output_renderers.ts b/packages/html-manager/src/output_renderers.ts index c343aa1201..24155086ec 100644 --- a/packages/html-manager/src/output_renderers.ts +++ b/packages/html-manager/src/output_renderers.ts @@ -27,7 +27,7 @@ export class WidgetRenderer extends Widget implements IRenderMime.IRenderer { try { const wModel = await this._manager.get_model(source.model_id); const wView = await this._manager.create_view(wModel); - Widget.attach(wView.luminoWidget, this.node); + Widget.attach(wView.luminoWidget || wView.pWidget, this.node); } catch (err) { console.log('Error displaying widget'); console.log(err); diff --git a/packages/html-manager/test/src/output_test.ts b/packages/html-manager/test/src/output_test.ts index f5ac1d7707..ad1298e213 100644 --- a/packages/html-manager/test/src/output_test.ts +++ b/packages/html-manager/test/src/output_test.ts @@ -63,6 +63,83 @@ describe('Output widget', function () { expect(elt.querySelectorAll('table').length).to.equal(1); }); + it('renders widgets ipywidgets 7', async function () { + const modelState = { + _view_module: '@jupyter-widgets/output', + outputs: [ + { + output_type: 'display_data', + data: { + 'application/vnd.jupyter.widget-view+json': { + model_id: 'adffc4580a0944f6929c381463b0059b', + version_minor: 0, + version_major: 2, + }, + 'text/plain': 'A Jupyter Widget', + }, + metadata: {}, + }, + ], + }; + + const elt = document.createElement('div'); + elt.className = 'widget-subarea'; + document.body.appendChild(elt); + const manager = new HTMLManager(); + + // We need to seed the manager with the state of the widgets + const managerState = { + adffc4580a0944f6929c381463b0059b: { + model_name: 'IntSliderModel', + model_module: '@jupyter-widgets/controls', + model_module_version: '1.5.0', + state: { + style: 'IPY_MODEL_3b8780f457254737a83be48bc32b0613', + _view_module: '@jupyter-widgets/controls', + layout: 'IPY_MODEL_33cb011834fd4c9d9af512e5e98c9904', + value: 45, + _model_module: '@jupyter-widgets/controls', + }, + }, + '3b8780f457254737a83be48bc32b0613': { + model_name: 'SliderStyleModel', + model_module: '@jupyter-widgets/controls', + model_module_version: '1.5.0', + state: { + description_width: '', + _model_module: '@jupyter-widgets/controls', + }, + }, + '33cb011834fd4c9d9af512e5e98c9904': { + model_name: 'LayoutModel', + model_module: '@jupyter-widgets/base', + model_module_version: '1.2.0', + state: {}, + }, + }; + await manager.set_state({ + state: managerState, + version_major: 2, + version_minor: 0, + }); + const modelId = 'u-u-i-d'; + const modelCreate: base.IModelOptions = { + model_name: 'OutputModel', + model_id: modelId, + model_module: '@jupyter-widgets/output', + model_module_version: '*', + }; + const model = await manager.new_model(modelCreate, modelState); + await manager.display_view(manager.create_view(model), elt); + + // Give the widget time to render + await new Promise((resolve) => { + setTimeout(resolve, 20); + }); + + expect(elt.querySelectorAll('.slider').length).to.equal(1); + }); + it('renders widgets', async function () { const modelState = { _view_module: '@jupyter-widgets/output', @@ -92,7 +169,7 @@ describe('Output widget', function () { adffc4580a0944f6929c381463b0059b: { model_name: 'IntSliderModel', model_module: '@jupyter-widgets/controls', - model_module_version: '1.0.0', + model_module_version: '2.0.0', state: { style: 'IPY_MODEL_3b8780f457254737a83be48bc32b0613', _view_module: '@jupyter-widgets/controls', @@ -104,7 +181,7 @@ describe('Output widget', function () { '3b8780f457254737a83be48bc32b0613': { model_name: 'SliderStyleModel', model_module: '@jupyter-widgets/controls', - model_module_version: '1.0.0', + model_module_version: '2.0.0', state: { description_width: '', _model_module: '@jupyter-widgets/controls', @@ -113,7 +190,7 @@ describe('Output widget', function () { '33cb011834fd4c9d9af512e5e98c9904': { model_name: 'LayoutModel', model_module: '@jupyter-widgets/base', - model_module_version: '1.0.0', + model_module_version: '2.0.0', state: {}, }, }; diff --git a/packages/html-manager/webpack.config.js b/packages/html-manager/webpack.config.js index 7b8dc1d5bb..826566add0 100644 --- a/packages/html-manager/webpack.config.js +++ b/packages/html-manager/webpack.config.js @@ -93,4 +93,32 @@ module.exports = [ externals: ['@jupyter-widgets/base', 'module'], ...options, }, + { + // @jupyter-widgets/base ipywidgets 7 + entry: ['./amd-public-path.js', '@jupyter-widgets/base7/lib/index'], + output: { + library: '@jupyter-widgets/base7', + filename: 'base7.js', + path: path.resolve(__dirname, 'dist', 'amd'), + libraryTarget: 'amd', + publicPath: '', // Set in amd-public-path.js + }, + // 'module' is the magic requirejs dependency used to set the publicPath + externals: ['module'], + ...options, + }, + { + // @jupyter-widgets/controls + entry: ['./amd-public-path.js', '@jupyter-widgets/controls7/lib/index'], + output: { + library: '@jupyter-widgets/controls7', + filename: 'controls7.js', + path: path.resolve(__dirname, 'dist', 'amd'), + libraryTarget: 'amd', + publicPath: '', // Set in amd-public-path.js + }, + // 'module' is the magic requirejs dependency used to set the publicPath + externals: ['@jupyter-widgets/base7', 'module'], + ...options, + }, ]; diff --git a/scripts/package-integrity.js b/scripts/package-integrity.js index d516132992..1edb3c2cf1 100644 --- a/scripts/package-integrity.js +++ b/scripts/package-integrity.js @@ -108,7 +108,11 @@ function validate(dname) { problems.push('Bad core version: ' + name + ' should be ' + desired); } } - if (names.indexOf(name) === -1) { + if ( + names.indexOf(name) === -1 && + !name.startsWith('@jupyter-widgets/base') && + !name.startsWith('@jupyter-widgets/controls') + ) { problems.push('Unused package: ' + name); } }); diff --git a/yarn.lock b/yarn.lock index 3cf819b206..953df175c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -732,11 +732,11 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/base-manager@^1.0.8, @jupyter-widgets/base-manager@workspace:packages/base-manager": +"@jupyter-widgets/base-manager@^1.0.9, @jupyter-widgets/base-manager@workspace:packages/base-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/base-manager@workspace:packages/base-manager" dependencies: - "@jupyter-widgets/base": ^6.0.7 + "@jupyter-widgets/base": ^6.0.8 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/coreutils": ^1.11.1 || ^2 "@types/base64-js": ^1.2.5 @@ -771,7 +771,25 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/base@^6.0.7, @jupyter-widgets/base@workspace:packages/base": +"@jupyter-widgets/base7@npm:@jupyter-widgets/base@4.1.6, @jupyter-widgets/base@npm:^4.1.6": + version: 4.1.6 + resolution: "@jupyter-widgets/base@npm:4.1.6" + 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 + "@types/lodash": ^4.14.134 + backbone: 1.2.3 + base64-js: ^1.2.1 + jquery: ^3.1.1 + lodash: ^4.17.4 + checksum: cdd11e8fd480a44b9e9f5a37529361c407456d9e2d2a09f35b8f067b65e915c132aaaaab8d8523f3c8c624e3403215d6eb56a21337f57213b75ebb377a26c208 + languageName: node + linkType: hard + +"@jupyter-widgets/base@^6.0.8, @jupyter-widgets/base@workspace:packages/base": version: 0.0.0-use.local resolution: "@jupyter-widgets/base@workspace:packages/base" dependencies: @@ -814,11 +832,29 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/controls@^5.0.8, @jupyter-widgets/controls@workspace:packages/controls": +"@jupyter-widgets/controls7@npm:@jupyter-widgets/controls@3.1.6": + version: 3.1.6 + resolution: "@jupyter-widgets/controls@npm:3.1.6" + dependencies: + "@jupyter-widgets/base": ^4.1.6 + "@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 + jquery: ^3.1.1 + jquery-ui: ^1.12.1 + underscore: ^1.8.3 + checksum: 9c69ebe9ce22d7e7cf3cd66dc849505c1433da4424d8daa7411d85f41027d5600c20c2350d703fe582fd44a4b5d11ad8b404fe058b686f17cd47bafd41547646 + languageName: node + linkType: hard + +"@jupyter-widgets/controls@^5.0.9, @jupyter-widgets/controls@workspace:packages/controls": version: 0.0.0-use.local resolution: "@jupyter-widgets/controls@workspace:packages/controls" dependencies: - "@jupyter-widgets/base": ^6.0.7 + "@jupyter-widgets/base": ^6.0.8 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/algorithm": ^1.9.1 || ^2.1 "@lumino/domutils": ^1.8.1 || ^2.1 @@ -869,9 +905,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web1@workspace:examples/web1" dependencies: - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/base-manager": ^1.0.8 - "@jupyter-widgets/controls": ^5.0.8 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/controls": ^5.0.9 chai: ^4.0.0 css-loader: ^6.5.1 karma: ^6.3.3 @@ -890,9 +926,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web2@workspace:examples/web2" dependencies: - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/base-manager": ^1.0.8 - "@jupyter-widgets/controls": ^5.0.8 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/controls": ^5.0.9 codemirror: ^5.48.0 css-loader: ^6.5.1 font-awesome: ^4.7.0 @@ -905,9 +941,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web3@workspace:examples/web3" dependencies: - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/controls": ^5.0.8 - "@jupyter-widgets/html-manager": ^1.0.10 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/html-manager": ^1.0.11 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@types/codemirror": ^5.60.0 "@types/node": ^17.0.2 @@ -927,7 +963,7 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web4@workspace:examples/web4" dependencies: - "@jupyter-widgets/html-manager": ^1.0.10 + "@jupyter-widgets/html-manager": ^1.0.11 css-loader: ^6.5.1 font-awesome: ^4.7.0 style-loader: ^3.3.1 @@ -935,16 +971,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/html-manager@^1.0.10, @jupyter-widgets/html-manager@workspace:packages/html-manager": +"@jupyter-widgets/html-manager@^1.0.11, @jupyter-widgets/html-manager@workspace:packages/html-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/html-manager@workspace:packages/html-manager" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/base-manager": ^1.0.8 - "@jupyter-widgets/controls": ^5.0.8 - "@jupyter-widgets/output": ^6.0.7 - "@jupyter-widgets/schema": ^0.5.4 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6" + "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6" + "@jupyter-widgets/output": ^6.0.8 + "@jupyter-widgets/schema": ^0.5.5 "@jupyterlab/outputarea": ^3.0.0 || ^4.0.0 "@jupyterlab/rendermime": ^3.0.0 || ^4.0.0 "@jupyterlab/rendermime-interfaces": ^3.0.0 || ^4.0.0 @@ -970,6 +1008,7 @@ __metadata: postcss-import: ^14.0.2 postcss-loader: ^6.1.0 rimraf: ^3.0.2 + semver: ^7.3.5 style-loader: ^3.3.1 typescript: ~4.9.4 webpack: ^5.65.0 @@ -981,10 +1020,10 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/jupyterlab-manager@workspace:python/jupyterlab_widgets" dependencies: - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/base-manager": ^1.0.8 - "@jupyter-widgets/controls": ^5.0.8 - "@jupyter-widgets/output": ^6.0.7 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/output": ^6.0.8 "@jupyterlab/application": ^3.0.0 || ^4.0.0 "@jupyterlab/apputils": ^3.0.0 || ^4.0.0 "@jupyterlab/builder": ^3.0.0 || ^4.0.0 @@ -1028,11 +1067,11 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/notebook-manager@workspace:python/widgetsnbextension" dependencies: - "@jupyter-widgets/base": ^6.0.7 - "@jupyter-widgets/base-manager": ^1.0.8 - "@jupyter-widgets/controls": ^5.0.8 - "@jupyter-widgets/html-manager": ^1.0.10 - "@jupyter-widgets/output": ^6.0.7 + "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/html-manager": ^1.0.11 + "@jupyter-widgets/output": ^6.0.8 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/messaging": ^1.10.1 || ^2.1 "@lumino/widgets": ^1.30.0 || ^2.1 @@ -1046,17 +1085,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/output@^6.0.7, @jupyter-widgets/output@workspace:packages/output": +"@jupyter-widgets/output@^6.0.8, @jupyter-widgets/output@workspace:packages/output": version: 0.0.0-use.local resolution: "@jupyter-widgets/output@workspace:packages/output" dependencies: - "@jupyter-widgets/base": ^6.0.7 + "@jupyter-widgets/base": ^6.0.8 rimraf: ^3.0.2 typescript: ~4.9.4 languageName: unknown linkType: soft -"@jupyter-widgets/schema@^0.5.4, @jupyter-widgets/schema@workspace:packages/schema": +"@jupyter-widgets/schema@^0.5.5, @jupyter-widgets/schema@workspace:packages/schema": version: 0.0.0-use.local resolution: "@jupyter-widgets/schema@workspace:packages/schema" languageName: unknown @@ -1371,6 +1410,21 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/coreutils@npm:^5.6.7": + version: 5.6.7 + resolution: "@jupyterlab/coreutils@npm:5.6.7" + dependencies: + "@lumino/coreutils": ^1.11.0 + "@lumino/disposable": ^1.10.0 + "@lumino/signaling": ^1.10.0 + minimist: ~1.2.0 + moment: ^2.24.0 + path-browserify: ^1.0.0 + url-parse: ~1.5.1 + checksum: 94530cd2559ce8b5fe6b86a3125868be10d15bcdf91ae71abaf3f96653b76a618158b707f60d30aaf0bcc372993ed3dca874814e500bd43351a724930e6af81d + languageName: node + linkType: hard + "@jupyterlab/coreutils@npm:^6.2.1": version: 6.2.1 resolution: "@jupyterlab/coreutils@npm:6.2.1" @@ -1549,6 +1603,15 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/nbformat@npm:^3.6.7": + version: 3.6.7 + resolution: "@jupyterlab/nbformat@npm:3.6.7" + dependencies: + "@lumino/coreutils": ^1.11.0 + checksum: 41def9da46c8cc2baddc61e5d43f9fd567ba9729d7f78f0cc9c34cb894e765d2b713643b8457c1d97272c52a1f10cc62febcbf97450fdfa1b26a7c205bd9581c + languageName: node + linkType: hard + "@jupyterlab/notebook@npm:^3.0.0 || ^4.0.0": version: 4.2.1 resolution: "@jupyterlab/notebook@npm:4.2.1" @@ -1587,6 +1650,19 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/observables@npm:^4.6.7": + version: 4.6.7 + resolution: "@jupyterlab/observables@npm:4.6.7" + dependencies: + "@lumino/algorithm": ^1.9.0 + "@lumino/coreutils": ^1.11.0 + "@lumino/disposable": ^1.10.0 + "@lumino/messaging": ^1.10.0 + "@lumino/signaling": ^1.10.0 + checksum: af9ccc6db2c63bb38a041ae1c2c6ec3b29f8b9ab3fce03e8b18e79095ccd1690fc00c79d606fcfc388d9595ef38d4f98e5df36f6fc12c58f10aa152177fb1c6b + languageName: node + linkType: hard + "@jupyterlab/observables@npm:^5.2.1": version: 5.2.1 resolution: "@jupyterlab/observables@npm:5.2.1" @@ -1652,6 +1728,26 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/services@npm:^6.0.0": + version: 6.6.7 + resolution: "@jupyterlab/services@npm:6.6.7" + dependencies: + "@jupyterlab/coreutils": ^5.6.7 + "@jupyterlab/nbformat": ^3.6.7 + "@jupyterlab/observables": ^4.6.7 + "@jupyterlab/settingregistry": ^3.6.7 + "@jupyterlab/statedb": ^3.6.7 + "@lumino/algorithm": ^1.9.0 + "@lumino/coreutils": ^1.11.0 + "@lumino/disposable": ^1.10.0 + "@lumino/polling": ^1.9.0 + "@lumino/signaling": ^1.10.0 + node-fetch: ^2.6.0 + ws: ^7.4.6 + checksum: ad3e8f5c9edb6b09ddad50be2285c80bafa22c604fd4f99cc46f7bdb9c9592079f5ccea7a497bf791e9b388b114fd2952814db806a9dd25df8eaed17bb5ec9e6 + languageName: node + linkType: hard + "@jupyterlab/services@npm:^6.0.0 || ^7.0.0, @jupyterlab/services@npm:^7.2.1": version: 7.2.1 resolution: "@jupyterlab/services@npm:7.2.1" @@ -1690,6 +1786,34 @@ __metadata: languageName: node linkType: hard +"@jupyterlab/settingregistry@npm:^3.6.7": + version: 3.6.7 + resolution: "@jupyterlab/settingregistry@npm:3.6.7" + dependencies: + "@jupyterlab/statedb": ^3.6.7 + "@lumino/commands": ^1.19.0 + "@lumino/coreutils": ^1.11.0 + "@lumino/disposable": ^1.10.0 + "@lumino/signaling": ^1.10.0 + ajv: ^6.12.3 + json5: ^2.1.1 + checksum: 01e2066d1fc08af7465ad458e06096e3d893776567e1818841fb204c763ba9c067fde49fcc57941a4f8399a5006d36e63832042b77cd5c3447c48ccaaafee864 + languageName: node + linkType: hard + +"@jupyterlab/statedb@npm:^3.6.7": + version: 3.6.7 + resolution: "@jupyterlab/statedb@npm:3.6.7" + dependencies: + "@lumino/commands": ^1.19.0 + "@lumino/coreutils": ^1.11.0 + "@lumino/disposable": ^1.10.0 + "@lumino/properties": ^1.8.0 + "@lumino/signaling": ^1.10.0 + checksum: 4c92b467e6c616becd8fc958ffe699a648215516e33d0b3987d23469f81e0ad81404b3b2c6413b250620ce8a2940489bea6cf3ed31a82f9063f7291b7f8f655f + languageName: node + linkType: hard + "@jupyterlab/statedb@npm:^4.2.1": version: 4.2.1 resolution: "@jupyterlab/statedb@npm:4.2.1" @@ -2755,6 +2879,13 @@ __metadata: languageName: node linkType: hard +"@lumino/algorithm@npm:^1.1.0, @lumino/algorithm@npm:^1.9.0, @lumino/algorithm@npm:^1.9.1 || ^2.1, @lumino/algorithm@npm:^1.9.2": + version: 1.9.2 + resolution: "@lumino/algorithm@npm:1.9.2" + checksum: a89e7c63504236119634858e271db1cc649684d30ced5a6ebe2788af7c0837f1e05a6fd3047d8525eb756c42ce137f76b3688f75fd3ef915b71cd4f213dfbb96 + languageName: node + linkType: hard + "@lumino/algorithm@npm:^1.11.1 || ^2.0.0, @lumino/algorithm@npm:^2.0.1": version: 2.0.1 resolution: "@lumino/algorithm@npm:2.0.1" @@ -2762,13 +2893,6 @@ __metadata: languageName: node linkType: hard -"@lumino/algorithm@npm:^1.9.1 || ^2.1, @lumino/algorithm@npm:^1.9.2": - version: 1.9.2 - resolution: "@lumino/algorithm@npm:1.9.2" - checksum: a89e7c63504236119634858e271db1cc649684d30ced5a6ebe2788af7c0837f1e05a6fd3047d8525eb756c42ce137f76b3688f75fd3ef915b71cd4f213dfbb96 - languageName: node - linkType: hard - "@lumino/application@npm:^2.3.1": version: 2.3.1 resolution: "@lumino/application@npm:2.3.1" @@ -2798,6 +2922,21 @@ __metadata: languageName: node linkType: hard +"@lumino/commands@npm:^1.19.0, @lumino/commands@npm:^1.21.1": + version: 1.21.1 + resolution: "@lumino/commands@npm:1.21.1" + dependencies: + "@lumino/algorithm": ^1.9.2 + "@lumino/coreutils": ^1.12.1 + "@lumino/disposable": ^1.10.4 + "@lumino/domutils": ^1.8.2 + "@lumino/keyboard": ^1.8.2 + "@lumino/signaling": ^1.11.1 + "@lumino/virtualdom": ^1.14.3 + checksum: 1e2ee7ce14b7241aee829df76f2bee6c046a82c2c137c6bb58049142c52a67f8ae74168fdcc4027b0d5a1c9f2ffa8b8f5231ef89f6f0ea8dcc4cab8d475e1ad4 + languageName: node + linkType: hard + "@lumino/commands@npm:^2.3.0": version: 2.3.0 resolution: "@lumino/commands@npm:2.3.0" @@ -2820,6 +2959,15 @@ __metadata: languageName: node linkType: hard +"@lumino/coreutils@npm:^1.11.0, @lumino/coreutils@npm:^1.12.1, @lumino/coreutils@npm:^1.2.0": + version: 1.12.1 + resolution: "@lumino/coreutils@npm:1.12.1" + peerDependencies: + crypto: 1.0.1 + checksum: 55f1b87997f8dd0af28ff23c2d4b3aa252e515b9d3bc91b350a5c6c8526ceae61b14b55dc0d8d01691c69d42974b3d559f2b49bc7ced0f474b8f5dc52b3e83ed + languageName: node + linkType: hard + "@lumino/disposable@npm:^1.10.0 || ^2.0.0, @lumino/disposable@npm:^1.10.1 || ^2.1, @lumino/disposable@npm:^2.1.2": version: 2.1.2 resolution: "@lumino/disposable@npm:2.1.2" @@ -2829,7 +2977,17 @@ __metadata: languageName: node linkType: hard -"@lumino/domutils@npm:^1.8.1 || ^2.1": +"@lumino/disposable@npm:^1.10.0, @lumino/disposable@npm:^1.10.4": + version: 1.10.4 + resolution: "@lumino/disposable@npm:1.10.4" + dependencies: + "@lumino/algorithm": ^1.9.2 + "@lumino/signaling": ^1.11.1 + checksum: b53e259830f1d3231455548e6b95c9ae0f4b91e1b501980a1d0bb9708322bf5469b5cbb4e5005653d6f33b549d4bb7e58ce02226477876f51c124ea755152a33 + languageName: node + linkType: hard + +"@lumino/domutils@npm:^1.1.0, @lumino/domutils@npm:^1.8.1 || ^2.1, @lumino/domutils@npm:^1.8.2": version: 1.8.2 resolution: "@lumino/domutils@npm:1.8.2" checksum: 196f25316a17cd8df8f11dbe17f10cbd96e5ce166ea97aab6402307dc554382423d860859bb5d05226f05909748b781fb281bb9220690fe1f3ddc716072c2ed5 @@ -2843,6 +3001,16 @@ __metadata: languageName: node linkType: hard +"@lumino/dragdrop@npm:^1.14.5": + version: 1.14.5 + resolution: "@lumino/dragdrop@npm:1.14.5" + dependencies: + "@lumino/coreutils": ^1.12.1 + "@lumino/disposable": ^1.10.4 + checksum: c10031e9aa9ef7f3ab71a1b73f761b84291dda85a449e5f4d2d7c462277759a947513eb7ee3e3d984f7cfc2730b1c96d0706124802492f9adbd7be00d13137ee + languageName: node + linkType: hard + "@lumino/dragdrop@npm:^2.1.4": version: 2.1.4 resolution: "@lumino/dragdrop@npm:2.1.4" @@ -2853,6 +3021,13 @@ __metadata: languageName: node linkType: hard +"@lumino/keyboard@npm:^1.8.2": + version: 1.8.2 + resolution: "@lumino/keyboard@npm:1.8.2" + checksum: 30f8ced53ca0aa466dba33be3c9379a2a6abcf1c52485073d9f9d9bc119eb3327a7343fad764c2d63a8a30ae05c0047098c40ec605e60af215356f3edb9ab4a9 + languageName: node + linkType: hard + "@lumino/keyboard@npm:^2.0.1": version: 2.0.1 resolution: "@lumino/keyboard@npm:2.0.1" @@ -2860,7 +3035,7 @@ __metadata: languageName: node linkType: hard -"@lumino/messaging@npm:^1.10.1 || ^2.1": +"@lumino/messaging@npm:^1.10.0, @lumino/messaging@npm:^1.10.1 || ^2.1, @lumino/messaging@npm:^1.10.3, @lumino/messaging@npm:^1.2.1": version: 1.10.3 resolution: "@lumino/messaging@npm:1.10.3" dependencies: @@ -2880,6 +3055,17 @@ __metadata: languageName: node linkType: hard +"@lumino/polling@npm:^1.9.0": + version: 1.11.4 + resolution: "@lumino/polling@npm:1.11.4" + dependencies: + "@lumino/coreutils": ^1.12.1 + "@lumino/disposable": ^1.10.4 + "@lumino/signaling": ^1.11.1 + checksum: d4625da7bf5399f6bffed29251daaeb4bf14a0733ad77ad1573c9893973480961be445d8700a5d004102d14ab5a2cf4b79244b1fe74680d060167e55db211c04 + languageName: node + linkType: hard + "@lumino/polling@npm:^2.1.2": version: 2.1.2 resolution: "@lumino/polling@npm:2.1.2" @@ -2891,6 +3077,13 @@ __metadata: languageName: node linkType: hard +"@lumino/properties@npm:^1.8.0, @lumino/properties@npm:^1.8.2": + version: 1.8.2 + resolution: "@lumino/properties@npm:1.8.2" + checksum: 9a53709fe58d3abbc99062f0c0fda4d5f64a4c7dca509251f0f89cdcaf881fdf6172ee852dbfe70594ee34bb97255acca771a722d62e7e2150ba8cf6f7e7d15c + languageName: node + linkType: hard + "@lumino/properties@npm:^2.0.1": version: 2.0.1 resolution: "@lumino/properties@npm:2.0.1" @@ -2908,6 +3101,25 @@ __metadata: languageName: node linkType: hard +"@lumino/signaling@npm:^1.10.0, @lumino/signaling@npm:^1.11.1, @lumino/signaling@npm:^1.2.0": + version: 1.11.1 + resolution: "@lumino/signaling@npm:1.11.1" + dependencies: + "@lumino/algorithm": ^1.9.2 + "@lumino/properties": ^1.8.2 + checksum: 3d822be705d9ba8adc46ec405a4422cd4f76ed774f94da5386a511f01df4325c3c8bfa288c9c812184c94cfd0c3ef7b1121dcc9c9489750ad6cfaa7ffb2a3a67 + languageName: node + linkType: hard + +"@lumino/virtualdom@npm:^1.14.3": + version: 1.14.3 + resolution: "@lumino/virtualdom@npm:1.14.3" + dependencies: + "@lumino/algorithm": ^1.9.2 + checksum: dd6acc5402eb7961ab05f5ce9afaebce4258eb92111f4d97b58ac87a6453686376d2b7d0a2041a54eef6e78091e36a430c74834c97b862fba31fa82ef43c72cb + languageName: node + linkType: hard + "@lumino/virtualdom@npm:^2.0.1": version: 2.0.1 resolution: "@lumino/virtualdom@npm:2.0.1" @@ -2917,6 +3129,25 @@ __metadata: languageName: node linkType: hard +"@lumino/widgets@npm:^1.3.0": + version: 1.37.2 + resolution: "@lumino/widgets@npm:1.37.2" + dependencies: + "@lumino/algorithm": ^1.9.2 + "@lumino/commands": ^1.21.1 + "@lumino/coreutils": ^1.12.1 + "@lumino/disposable": ^1.10.4 + "@lumino/domutils": ^1.8.2 + "@lumino/dragdrop": ^1.14.5 + "@lumino/keyboard": ^1.8.2 + "@lumino/messaging": ^1.10.3 + "@lumino/properties": ^1.8.2 + "@lumino/signaling": ^1.11.1 + "@lumino/virtualdom": ^1.14.3 + checksum: 3193f8cca4bad2c9d59031515b7b81b8a3655088f2b8c4f69f575116140d45c5caed935da0ed3fab9dc5ce96fde037bfa5fef0c129921955b3fb73cf725d1b06 + languageName: node + linkType: hard + "@lumino/widgets@npm:^1.30.0 || ^2.1, @lumino/widgets@npm:^1.37.2 || ^2.3.2, @lumino/widgets@npm:^2.3.2": version: 2.3.2 resolution: "@lumino/widgets@npm:2.3.2" @@ -3587,6 +3818,16 @@ __metadata: languageName: node linkType: hard +"@types/backbone@npm:^1.4.1": + version: 1.4.19 + resolution: "@types/backbone@npm:1.4.19" + dependencies: + "@types/jquery": "*" + "@types/underscore": "*" + checksum: fdd3452c9ccba44e54eeeeeab408421ae95e0303a971a45b908f33f6b1d33721fe559e38103a40103d3767c3334b10ce6f3a85659cd19cd30f0f4f30e5f5794f + languageName: node + linkType: hard + "@types/base64-js@npm:^1.2.5": version: 1.3.2 resolution: "@types/base64-js@npm:1.3.2" @@ -4832,7 +5073,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -5299,6 +5540,15 @@ __metadata: languageName: node linkType: hard +"backbone@npm:1.2.3": + version: 1.2.3 + resolution: "backbone@npm:1.2.3" + dependencies: + underscore: ">=1.7.0" + checksum: 7e460e9e951bcba0907334d41ccc4bd84b5d17658e72fc61f4c7e1057c238e82f97d3545582cfa0501cb824ee2d44f78a45cd18f735d869e6b71430a0c183073 + languageName: node + linkType: hard + "backbone@npm:1.4.0": version: 1.4.0 resolution: "backbone@npm:1.4.0" @@ -6624,6 +6874,13 @@ __metadata: languageName: node linkType: hard +"d3-format@npm:^1.3.0": + version: 1.4.5 + resolution: "d3-format@npm:1.4.5" + checksum: 1b8b2c0bca182173bccd290a43e8b635a83fc8cfe52ec878c7bdabb997d47daac11f2b175cebbe73f807f782ad655f542bdfe18180ca5eb3498a3a82da1e06ab + languageName: node + linkType: hard + "d3-format@npm:^3.0.1": version: 3.1.0 resolution: "d3-format@npm:3.1.0" @@ -9809,7 +10066,16 @@ __metadata: languageName: node linkType: hard -"jquery@npm:^3.1.1": +"jquery-ui@npm:^1.12.1": + version: 1.13.3 + resolution: "jquery-ui@npm:1.13.3" + dependencies: + jquery: ">=1.8.0 <4.0.0" + checksum: e0df58215db4acc4ae160f637cb18d9abc4d8315b3187308f8ad8d1ef101c71ae6bcc4103a3b8e8767b347bd42f453706a13993af183c8d0c1d4b99e2c820245 + languageName: node + linkType: hard + +"jquery@npm:>=1.8.0 <4.0.0, jquery@npm:^3.1.1": version: 3.7.1 resolution: "jquery@npm:3.7.1" checksum: 4370b8139d6ae82867eb6f7f21d1edccf1d1bdf41c0840920ea80d366c2cd5dbe1ceebb110ee9772aa839b04400faa1572c5c560b507c688ed7b61cea26c0e27 @@ -9986,7 +10252,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.1.1, json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -11372,6 +11638,13 @@ __metadata: languageName: node linkType: hard +"moment@npm:^2.24.0": + version: 2.30.1 + resolution: "moment@npm:2.30.1" + checksum: 859236bab1e88c3e5802afcf797fc801acdbd0ee509d34ea3df6eea21eb6bcc2abd4ae4e4e64aa7c986aa6cba563c6e62806218e6412a765010712e5fa121ba6 + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -11534,7 +11807,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -15681,6 +15954,13 @@ __metadata: languageName: node linkType: hard +"underscore@npm:>=1.7.0, underscore@npm:^1.8.3": + version: 1.13.7 + resolution: "underscore@npm:1.13.7" + checksum: 174b011af29e4fbe2c70eb2baa8bfab0d0336cf2f5654f364484967bc6264a86224d0134b9176e4235c8cceae00d11839f0fd4824268de04b11c78aca1241684 + languageName: node + linkType: hard + "underscore@npm:>=1.8.3": version: 1.13.6 resolution: "underscore@npm:1.13.6" @@ -15836,7 +16116,7 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3, url-parse@npm:~1.5.4": +"url-parse@npm:^1.5.3, url-parse@npm:~1.5.1, url-parse@npm:~1.5.4": version: 1.5.10 resolution: "url-parse@npm:1.5.10" dependencies: @@ -16585,6 +16865,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.4.6": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: f9bb062abf54cc8f02d94ca86dcd349c3945d63851f5d07a3a61c2fcb755b15a88e943a63cf580cbdb5b74436d67ef6b67f745b8f7c0814e411379138e1863cb + languageName: node + linkType: hard + "ws@npm:^8.11.0": version: 8.17.0 resolution: "ws@npm:8.17.0" From c0c8eb8b8f89d593eae9c12a11ef9f438df5f0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?= Date: Wed, 21 Aug 2024 14:03:27 +0200 Subject: [PATCH 04/22] Make tests compatible with Python 3.13 (#3924) Python compiler newly removes indent from docstrings https://github.com/python/cpython/issues/81283 --- python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py b/python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py index 1f8b09aa34..462293326c 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py @@ -15,7 +15,7 @@ def test_substitution(self): def f(): """ Docstring with value {key} """ - assert f.__doc__ == " Docstring with value 62 " + assert "Docstring with value 62" in f.__doc__ def test_unused_keys(self): snippets = {'key': '62', 'other-key': 'unused'} @@ -24,4 +24,4 @@ def test_unused_keys(self): def f(): """ Docstring with value {key} """ - assert f.__doc__ == " Docstring with value 62 " + assert "Docstring with value 62" in f.__doc__ From 72b939704a6caaef044550a8097388cf934521b4 Mon Sep 17 00:00:00 2001 From: Manon Marchand Date: Wed, 21 Aug 2024 14:28:40 +0200 Subject: [PATCH 05/22] fix: get_metadata deprecated since traitlets 4.1 (#3894) see https://github.com/ipython/traitlets/blob/cb672eb5ba235fdfee6407bd7f1b1985de934e7c/traitlets/traitlets.py#L833 --- python/ipywidgets/ipywidgets/widgets/widget.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/ipywidgets/ipywidgets/widgets/widget.py b/python/ipywidgets/ipywidgets/widgets/widget.py index 2dc674097d..cb05ff2bbb 100644 --- a/python/ipywidgets/ipywidgets/widgets/widget.py +++ b/python/ipywidgets/ipywidgets/widgets/widget.py @@ -684,7 +684,7 @@ def add_traits(self, **traits): """Dynamically add trait attributes to the Widget.""" super().add_traits(**traits) for name, trait in traits.items(): - if trait.get_metadata('sync'): + if 'sync' in trait.metadata: self.keys.append(name) self.send_state(name) From 188abff9a1fe5509c48a98995387b2cd55299744 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Wed, 21 Aug 2024 13:28:49 +0100 Subject: [PATCH 06/22] Phosphor widget backward compatibility fix on WidgetRenderer (#3933) --- packages/base/src/widget.ts | 5 +++++ python/jupyterlab_widgets/src/renderer.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/base/src/widget.ts b/packages/base/src/widget.ts index aea060fc8d..a187730d8b 100644 --- a/packages/base/src/widget.ts +++ b/packages/base/src/widget.ts @@ -983,6 +983,11 @@ export class JupyterLuminoPanelWidget extends Panel { private _view: DOMWidgetView; } +/** + * @deprecated Use {@link JupyterLuminoPanelWidget} instead (Since 8.0). + */ +export const JupyterPhosphorPanelWidget = JupyterLuminoPanelWidget; + export class DOMWidgetView extends WidgetView { /** * Public constructor diff --git a/python/jupyterlab_widgets/src/renderer.ts b/python/jupyterlab_widgets/src/renderer.ts index 1e0aa34f37..ce0d257625 100644 --- a/python/jupyterlab_widgets/src/renderer.ts +++ b/python/jupyterlab_widgets/src/renderer.ts @@ -74,7 +74,8 @@ export class WidgetRenderer let widget: LuminoWidget; try { - widget = (await manager.create_view(wModel)).luminoWidget; + const view = await manager.create_view(wModel); + widget = view.luminoWidget || view.pWidget; } catch (err) { this.node.textContent = 'Error displaying widget'; this.addClass('jupyter-widgets'); From 0aa1efb563edeb3564f5738dfbee630fd6e4ed6f Mon Sep 17 00:00:00 2001 From: Corran Webster Date: Wed, 21 Aug 2024 13:30:46 +0100 Subject: [PATCH 07/22] Allow `interact` to use basic type hint annotations (#3908) * Add basic implementation of type-hint-based `interact` * Add tests for type annotated interact. * Update interact documentation to discuss type annotations. * Use EnumMeta instead of EnumType for backwards compatibility. --- docs/source/examples/Using Interact.ipynb | 115 +++++++++++++++++- .../ipywidgets/widgets/interaction.py | 29 ++++- .../widgets/tests/test_interaction.py | 36 ++++++ 3 files changed, 174 insertions(+), 6 deletions(-) diff --git a/docs/source/examples/Using Interact.ipynb b/docs/source/examples/Using Interact.ipynb index db26232faf..9f58f28174 100644 --- a/docs/source/examples/Using Interact.ipynb +++ b/docs/source/examples/Using Interact.ipynb @@ -18,7 +18,9 @@ "cell_type": "code", "execution_count": null, "metadata": { - "tags": ["remove-cell"] + "tags": [ + "remove-cell" + ] }, "outputs": [], "source": [ @@ -353,6 +355,111 @@ "interact(f, x=widgets.Combobox(options=[\"Chicago\", \"New York\", \"Washington\"], value=\"Chicago\"));" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type Annotations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the function that you are using with interact uses type annotations, `interact` may be able to use those to determine what UI components to use in the auto-generated UI. For example, given a function with an argument annotated with type `float`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def f(x: float):\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "then `interact` will create a UI with a `FloatText` component without needing to be passed any values or abbreviations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "interact(f);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following table gives an overview of different annotation types, and how they map to interactive controls:\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Type AnnotationWidget
`bool`Checkbox
`str`Text
`int`IntText
`float`FloatText
`Enum` subclassesDropdown
\n", + "\n", + "Other type annotations are ignored." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If values or abbreviations are passed to the `interact` function, those will override any type annotations when determining what widgets to create." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Parameters which are annotationed with an `Enum` subclass will have a dropdown created whose labels are the names of the enumeration and which pass the corresponding values to the function parameter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from enum import Enum\n", + "\n", + "class Color(Enum):\n", + " red = 0\n", + " green = 1\n", + " blue = 2\n", + "\n", + "def h(color: Color):\n", + " return color" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When `interact` is used with the function `h`, the Dropdown widget it creates will have options `\"red\"`, `\"green\"` and `\"blue\"` and the values passed to the function will be, correspondingly, `Color.red`, `Color.green` and `Color.blue`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "interact(h);" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -715,7 +822,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -762,9 +869,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.5" + "version": "3.12.2" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/python/ipywidgets/ipywidgets/widgets/interaction.py b/python/ipywidgets/ipywidgets/widgets/interaction.py index 6dcb4a8695..50539ed3ff 100644 --- a/python/ipywidgets/ipywidgets/widgets/interaction.py +++ b/python/ipywidgets/ipywidgets/widgets/interaction.py @@ -4,6 +4,7 @@ """Interact with functions using widgets.""" from collections.abc import Iterable, Mapping +from enum import EnumMeta as EnumType from inspect import signature, Parameter from inspect import getcallargs from inspect import getfullargspec as check_argspec @@ -11,8 +12,8 @@ from IPython import get_ipython from . import (Widget, ValueWidget, Text, - FloatSlider, IntSlider, Checkbox, Dropdown, - VBox, Button, DOMWidget, Output) + FloatSlider, FloatText, IntSlider, IntText, Checkbox, + Dropdown, VBox, Button, DOMWidget, Output) from IPython.display import display, clear_output from traitlets import HasTraits, Any, Unicode, observe from numbers import Real, Integral @@ -125,6 +126,8 @@ def _yield_abbreviations_for_parameter(param, kwargs): value = kwargs.pop(name) elif default is not empty: value = default + elif param.annotation: + value = param.annotation else: yield not_found yield (name, value, default) @@ -304,6 +307,12 @@ def widget_from_abbrev(cls, abbrev, default=empty): # ignore failure to set default pass return widget + + # Try type annotation + if isinstance(abbrev, type): + widget = cls.widget_from_annotation(abbrev) + if widget is not None: + return widget # Try single value widget = cls.widget_from_single_value(abbrev) @@ -341,6 +350,22 @@ def widget_from_single_value(o): else: return None + @staticmethod + def widget_from_annotation(t): + """Make widgets from type annotation and optional default value.""" + if t is str: + return Text() + elif t is bool: + return Checkbox() + elif t in {int, Integral}: + return IntText() + elif t in {float, Real}: + return FloatText() + elif isinstance(t, EnumType): + return Dropdown(options={option.name: option for option in t}) + else: + return None + @staticmethod def widget_from_tuple(o): """Make widgets from a tuple abbreviation.""" diff --git a/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py b/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py index feb1afe50c..7915e59ef0 100644 --- a/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py +++ b/python/ipywidgets/ipywidgets/widgets/tests/test_interaction.py @@ -6,6 +6,7 @@ from unittest.mock import patch import os +from enum import Enum from collections import OrderedDict import pytest @@ -22,6 +23,17 @@ def f(**kwargs): pass + +class Color(Enum): + red = 0 + green = 1 + blue = 2 + + +def g(a: str, b: bool, c: int, d: float, e: Color) -> None: + pass + + displayed = [] @pytest.fixture() def clear_display(): @@ -622,3 +634,27 @@ def test_state_schema(): with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../../', 'state.schema.json')) as f: schema = json.load(f) jsonschema.validate(state, schema) + +def test_type_hints(): + c = interactive(g) + + assert len(c.children) == 6 + + check_widget_children( + c, + a={'cls': widgets.Text}, + b={'cls': widgets.Checkbox}, + c={'cls': widgets.IntText}, + d={'cls': widgets.FloatText}, + e={ + 'cls': widgets.Dropdown, + 'options': { + 'red': Color.red, + 'green': Color.green, + 'blue': Color.blue, + }, + '_options_labels': ("red", "green", "blue"), + '_options_values': (Color.red, Color.green, Color.blue), + }, + ) + From 69efca91a6e7373c1fb1d159746a897be323ab71 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 10:17:40 +0100 Subject: [PATCH 08/22] Remove confusing error message (#3936) This error message was introduced in https://github.com/jupyter-widgets/ipywidgets/pull/3335. It shows up when the user refreshes the JupyterLab page on a kernel that has not yet imported ipywidgets, because the manager requests for widgets states, but the kernel is not able to answer back any widget model as ipwidgets was not imported. It is a normal workflow that should not show any error message. This error message would also show up when using the manager with a kernel using ipywidgets 7, in that case as well we should not show any error message as it's a normal workflow too. This PR removes the error message to prevent any confusion from the user. --- packages/base-manager/src/manager-base.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/base-manager/src/manager-base.ts b/packages/base-manager/src/manager-base.ts index 4953767894..c8e3ee9964 100644 --- a/packages/base-manager/src/manager-base.ts +++ b/packages/base-manager/src/manager-base.ts @@ -427,10 +427,6 @@ export abstract class ManagerBase implements IWidgetManager { initComm.close(); } catch (error) { - console.warn( - 'Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason:', - error - ); // Fall back to the old implementation for old ipywidgets backend versions (ipywidgets<=7.6) return this._loadFromKernelModels(); } From cecd2b0d0314a92b71dce364e3db7a06af8cf64a Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 22 Aug 2024 02:18:39 -0700 Subject: [PATCH 09/22] specify Jupyterlab (version 3.x or above) (#3880) Current Jupyterlab is 4.x, added clarity to version compat. --- docs/source/examples/Widget Custom.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/examples/Widget Custom.ipynb b/docs/source/examples/Widget Custom.ipynb index d6d021ee00..c297c593d7 100644 --- a/docs/source/examples/Widget Custom.ipynb +++ b/docs/source/examples/Widget Custom.ipynb @@ -122,7 +122,7 @@ "\n", "You also need to enable the widget frontend extension.\n", "\n", - "If you are using JupyterLab 3.x:\n", + "If you are using JupyterLab (version 3.x or above):\n", "\n", "\n", "```bash\n", From 5ce66fcfbd36a88f7719a88dcdfec80038eb3342 Mon Sep 17 00:00:00 2001 From: Sebastian Weigand Date: Thu, 22 Aug 2024 11:21:04 +0200 Subject: [PATCH 10/22] =?UTF-8?q?=F0=9F=A9=B9=20Fix=20wrong=20tag=20index?= =?UTF-8?q?=20in=20TagsInput=20when=20updated=20via=20python=20(#3862)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/controls/src/widget_tagsinput.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/controls/src/widget_tagsinput.ts b/packages/controls/src/widget_tagsinput.ts index 5c8ad45bdb..e0ba3acaca 100644 --- a/packages/controls/src/widget_tagsinput.ts +++ b/packages/controls/src/widget_tagsinput.ts @@ -167,6 +167,7 @@ abstract class TagsInputBaseView extends DOMWidgetView { this.tags = []; const value: Array = this.model.get('value'); + this.inputIndex = value.length; for (const idx in value) { const index = parseInt(idx); From cd817839ab8b6ef80c8e2b7a94c8f1df1de29734 Mon Sep 17 00:00:00 2001 From: Rosio Date: Thu, 22 Aug 2024 02:21:38 -0700 Subject: [PATCH 11/22] update image processing example notebok imports and function call (#3896) --- docs/source/examples/Image Processing.ipynb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/source/examples/Image Processing.ipynb b/docs/source/examples/Image Processing.ipynb index addd12ec1d..d4eb140b6d 100644 --- a/docs/source/examples/Image Processing.ipynb +++ b/docs/source/examples/Image Processing.ipynb @@ -18,7 +18,9 @@ "cell_type": "code", "execution_count": null, "metadata": { - "tags": ["remove-cell"] + "tags": [ + "remove-cell" + ] }, "outputs": [], "source": [ @@ -39,6 +41,7 @@ "from IPython.display import Image\n", "from ipywidgets import interact, interactive, fixed\n", "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", "from skimage import data, filters, io, img_as_float\n", "import numpy as np" ] @@ -84,7 +87,7 @@ " # Don't let matplotlib autoscale the color range so we can control overall luminosity\n", " vmax = 255 if arr.dtype == 'uint8' else 1.0\n", " with BytesIO() as buffer:\n", - " mpl.image.imsave(buffer, arr, format=format, cmap=cmap, vmin=0, vmax=vmax)\n", + " plt.imsave(buffer, arr, format=format, cmap=cmap, vmin=0, vmax=vmax)\n", " out = buffer.getvalue()\n", " return Image(out)" ] @@ -230,9 +233,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.5" + "version": "3.11.4" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } From 3171b1c746643a3893987190dc505661c5562877 Mon Sep 17 00:00:00 2001 From: tomichec Date: Thu, 22 Aug 2024 11:22:11 +0200 Subject: [PATCH 12/22] Update Output Widget.ipynb (#3881) Fix: the `itertools` library has not been loaded before being used. --- docs/source/examples/Output Widget.ipynb | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/examples/Output Widget.ipynb b/docs/source/examples/Output Widget.ipynb index 70c9de2a2c..8a4d74cb9c 100644 --- a/docs/source/examples/Output Widget.ipynb +++ b/docs/source/examples/Output Widget.ipynb @@ -354,6 +354,7 @@ "```python\n", "import threading\n", "import time\n", + "import itertools\n", "\n", "def run():\n", " for i in itertools.count(0):\n", From b05c8489ab3346e924dc54c61d52db0b19d1f7e5 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Thu, 22 Aug 2024 19:25:38 +1000 Subject: [PATCH 13/22] Support horizontal orientation of radio buttons (#3620) --- packages/controls/css/widgets-base.css | 18 ++++++++++++++++++ packages/controls/src/widget_selection.ts | 18 +++++++++++++----- .../ipywidgets/widgets/widget_selection.py | 4 ++++ 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/packages/controls/css/widgets-base.css b/packages/controls/css/widgets-base.css index b5c14f83a8..0ee115b192 100644 --- a/packages/controls/css/widgets-base.css +++ b/packages/controls/css/widgets-base.css @@ -975,6 +975,19 @@ margin-bottom: var(--jp-widgets-radio-item-height-adjustment); } +/* */ +.widget-radio-box-vertical, /* */ +.jupyter-widget-radio-box-vertical { + flex-direction: column; +} + + +/* */ +.widget-radio-box-horizontal, /* */ +.jupyter-widget-radio-box-horizontal { + flex-direction: row; +} + /* */ .widget-radio-box label, /* */ .jupyter-widget-radio-box label { @@ -983,6 +996,11 @@ font-size: var(--jp-widgets-font-size); } +.widget-radio-box-horizontal label, +.jupyter-widget-radio-box-horizontal label { + margin: 0 calc(var(--jp-widgets-input-padding) * 2) 0 0; +} + /* */ .widget-radio-box input, /* */ .jupyter-widget-radio-box input { diff --git a/packages/controls/src/widget_selection.ts b/packages/controls/src/widget_selection.ts index 11174799cd..11e7d22d1a 100644 --- a/packages/controls/src/widget_selection.ts +++ b/packages/controls/src/widget_selection.ts @@ -288,6 +288,7 @@ export class RadioButtonsModel extends SelectionModel { tooltips: [], icons: [], button_style: '', + orientation:'vertical', }; } } @@ -305,17 +306,24 @@ export class RadioButtonsView extends DescriptionView { this.el.appendChild(this.container); this.container.classList.add('widget-radio-box'); - this.update(); + this.update(); } /** * Update the contents of this view * - * Called when the model is changed. The model may have been - * changed by another view or by a state update from the back-end. + * Called when the model is changed. The model may have been + * changed by another view or by a state update from the back-end. */ - update(options?: any): void { - const items: string[] = this.model.get('_options_labels'); + update(options?: any): void { + if (this.model.get('orientation') === 'vertical') { + this.container.classList.remove('widget-radio-box-horizontal'); + this.container.classList.add('widget-radio-box-vertical'); + } else { + this.container.classList.remove('widget-radio-box-vertical'); + this.container.classList.add('widget-radio-box-horizontal'); + } + const items: string[] = this.model.get('_options_labels'); const radios = Array.from( this.container.querySelectorAll('input[type="radio"]') ).map((x) => x.value); diff --git a/python/ipywidgets/ipywidgets/widgets/widget_selection.py b/python/ipywidgets/ipywidgets/widgets/widget_selection.py index d81a779b96..ef19f66979 100644 --- a/python/ipywidgets/ipywidgets/widgets/widget_selection.py +++ b/python/ipywidgets/ipywidgets/widgets/widget_selection.py @@ -478,6 +478,10 @@ class RadioButtons(_Selection): _view_name = Unicode('RadioButtonsView').tag(sync=True) _model_name = Unicode('RadioButtonsModel').tag(sync=True) + orientation = CaselessStrEnum( + values=['horizontal', 'vertical'], default_value='vertical', + help="Vertical or horizontal.").tag(sync=True) + @register @doc_subst(_doc_snippets) From 27715acfa399414ea303757beda8c0eb6e15147b Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 11:29:21 +0200 Subject: [PATCH 14/22] Fix linting --- packages/controls/css/widgets-base.css | 3 +-- packages/controls/src/widget_selection.ts | 26 +++++++++++------------ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/packages/controls/css/widgets-base.css b/packages/controls/css/widgets-base.css index 0ee115b192..6a16589ddc 100644 --- a/packages/controls/css/widgets-base.css +++ b/packages/controls/css/widgets-base.css @@ -981,7 +981,6 @@ flex-direction: column; } - /* */ .widget-radio-box-horizontal, /* */ .jupyter-widget-radio-box-horizontal { @@ -998,7 +997,7 @@ .widget-radio-box-horizontal label, .jupyter-widget-radio-box-horizontal label { - margin: 0 calc(var(--jp-widgets-input-padding) * 2) 0 0; + margin: 0 calc(var(--jp-widgets-input-padding) * 2) 0 0; } /* */ diff --git a/packages/controls/src/widget_selection.ts b/packages/controls/src/widget_selection.ts index 11e7d22d1a..7986383d79 100644 --- a/packages/controls/src/widget_selection.ts +++ b/packages/controls/src/widget_selection.ts @@ -288,7 +288,7 @@ export class RadioButtonsModel extends SelectionModel { tooltips: [], icons: [], button_style: '', - orientation:'vertical', + orientation: 'vertical', }; } } @@ -306,24 +306,24 @@ export class RadioButtonsView extends DescriptionView { this.el.appendChild(this.container); this.container.classList.add('widget-radio-box'); - this.update(); + this.update(); } /** * Update the contents of this view * - * Called when the model is changed. The model may have been - * changed by another view or by a state update from the back-end. + * Called when the model is changed. The model may have been + * changed by another view or by a state update from the back-end. */ - update(options?: any): void { - if (this.model.get('orientation') === 'vertical') { - this.container.classList.remove('widget-radio-box-horizontal'); - this.container.classList.add('widget-radio-box-vertical'); - } else { - this.container.classList.remove('widget-radio-box-vertical'); - this.container.classList.add('widget-radio-box-horizontal'); - } - const items: string[] = this.model.get('_options_labels'); + update(options?: any): void { + if (this.model.get('orientation') === 'vertical') { + this.container.classList.remove('widget-radio-box-horizontal'); + this.container.classList.add('widget-radio-box-vertical'); + } else { + this.container.classList.remove('widget-radio-box-vertical'); + this.container.classList.add('widget-radio-box-horizontal'); + } + const items: string[] = this.model.get('_options_labels'); const radios = Array.from( this.container.querySelectorAll('input[type="radio"]') ).map((x) => x.value); From da1dd09a35f9313bc0e4d2c43515207e5168cc59 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 12:05:12 +0200 Subject: [PATCH 15/22] Update specs --- .../schema/jupyterwidgetmodels.latest.json | 7 ++++ packages/schema/jupyterwidgetmodels.latest.md | 37 ++++++++++--------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json index 0169099d31..0cefeb25bf 100644 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -5935,6 +5935,13 @@ "type": "reference", "widget": "Layout" }, + { + "default": "vertical", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, { "default": "reference to new instance", "help": "Styling customizations", diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 436023a476..eb7e7147b8 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -1040,24 +1040,25 @@ that the widget is registered with. ### RadioButtonsModel (@jupyter-widgets/controls, 2.0.0); RadioButtonsView (@jupyter-widgets/controls, 2.0.0) -| Attribute | Type | Default | Help | -| ------------------------ | ------------------------------------ | ----------------------------- | ----------------------------------------- | -| `_dom_classes` | array of string | `[]` | CSS classes applied to widget DOM element | -| `_model_module` | string | `'@jupyter-widgets/controls'` | -| `_model_module_version` | string | `'2.0.0'` | -| `_model_name` | string | `'RadioButtonsModel'` | -| `_options_labels` | array of string | `[]` | The labels for the options. | -| `_view_module` | string | `'@jupyter-widgets/controls'` | -| `_view_module_version` | string | `'2.0.0'` | -| `_view_name` | string | `'RadioButtonsView'` | -| `description` | string | `''` | Description of the control. | -| `description_allow_html` | boolean | `false` | Accept HTML in the description. | -| `disabled` | boolean | `false` | Enable or disable user changes | -| `index` | `null` or number (integer) | `null` | Selected index | -| `layout` | reference to Layout widget | reference to new instance | -| `style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations | -| `tabbable` | `null` or boolean | `null` | Is widget tabbable? | -| `tooltip` | `null` or string | `null` | A tooltip caption. | +| Attribute | Type | Default | Help | +| ------------------------ | -------------------------------------------- | ----------------------------- | ----------------------------------------- | +| `_dom_classes` | array of string | `[]` | CSS classes applied to widget DOM element | +| `_model_module` | string | `'@jupyter-widgets/controls'` | +| `_model_module_version` | string | `'2.0.0'` | +| `_model_name` | string | `'RadioButtonsModel'` | +| `_options_labels` | array of string | `[]` | The labels for the options. | +| `_view_module` | string | `'@jupyter-widgets/controls'` | +| `_view_module_version` | string | `'2.0.0'` | +| `_view_name` | string | `'RadioButtonsView'` | +| `description` | string | `''` | Description of the control. | +| `description_allow_html` | boolean | `false` | Accept HTML in the description. | +| `disabled` | boolean | `false` | Enable or disable user changes | +| `index` | `null` or number (integer) | `null` | Selected index | +| `layout` | reference to Layout widget | reference to new instance | +| `orientation` | string (one of `'horizontal'`, `'vertical'`) | `'vertical'` | Vertical or horizontal. | +| `style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations | +| `tabbable` | `null` or boolean | `null` | Is widget tabbable? | +| `tooltip` | `null` or string | `null` | A tooltip caption. | ### SelectModel (@jupyter-widgets/controls, 2.0.0); SelectView (@jupyter-widgets/controls, 2.0.0) From d14c4c67b629e4761f738ce3c8155af0ef03fe3c Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 12:06:30 +0200 Subject: [PATCH 16/22] Bump version - @jupyter-widgets/example-web1@8.0.11 - @jupyter-widgets/example-web2@8.0.11 - @jupyter-widgets/example-web3@8.0.12 - @jupyter-widgets/example-web4@8.0.12 - @jupyter-widgets/base-manager@1.0.10 - @jupyter-widgets/base@6.0.9 - @jupyter-widgets/controls@5.0.10 - @jupyter-widgets/html-manager@1.0.12 - @jupyter-widgets/output@6.0.9 - @jupyter-widgets/schema@0.5.6 - @jupyter-widgets/jupyterlab-manager@5.0.12 - @jupyter-widgets/notebook-manager@8.0.12 --- examples/web1/package.json | 8 ++++---- examples/web2/package.json | 8 ++++---- examples/web3/package.json | 8 ++++---- examples/web4/package.json | 4 ++-- packages/base-manager/package.json | 4 ++-- packages/base/package.json | 2 +- packages/controls/package.json | 4 ++-- packages/html-manager/package.json | 12 ++++++------ packages/output/package.json | 4 ++-- packages/schema/package.json | 2 +- python/jupyterlab_widgets/package.json | 10 +++++----- python/widgetsnbextension/package.json | 12 ++++++------ 12 files changed, 39 insertions(+), 39 deletions(-) diff --git a/examples/web1/package.json b/examples/web1/package.json index 6b7bf2ca88..33ed0aa8a1 100644 --- a/examples/web1/package.json +++ b/examples/web1/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web1", - "version": "8.0.10", + "version": "8.0.11", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -16,9 +16,9 @@ "test:firefox:headless": "npm run test:default -- --browsers=FirefoxHeadless" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/base-manager": "^1.0.9", - "@jupyter-widgets/controls": "^5.0.9" + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base-manager": "^1.0.10", + "@jupyter-widgets/controls": "^5.0.10" }, "devDependencies": { "chai": "^4.0.0", diff --git a/examples/web2/package.json b/examples/web2/package.json index 58b70356d9..5bcd789c1d 100644 --- a/examples/web2/package.json +++ b/examples/web2/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web2", - "version": "8.0.10", + "version": "8.0.11", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -13,9 +13,9 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/base-manager": "^1.0.9", - "@jupyter-widgets/controls": "^5.0.9", + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base-manager": "^1.0.10", + "@jupyter-widgets/controls": "^5.0.10", "codemirror": "^5.48.0", "font-awesome": "^4.7.0" }, diff --git a/examples/web3/package.json b/examples/web3/package.json index a3cf766cb4..05551995a0 100644 --- a/examples/web3/package.json +++ b/examples/web3/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web3", - "version": "8.0.11", + "version": "8.0.12", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -14,9 +14,9 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/controls": "^5.0.9", - "@jupyter-widgets/html-manager": "^1.0.11", + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/controls": "^5.0.10", + "@jupyter-widgets/html-manager": "^1.0.12", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "codemirror": "^5.48.0", "font-awesome": "^4.7.0", diff --git a/examples/web4/package.json b/examples/web4/package.json index 8bf7781d85..6ddc7973ff 100644 --- a/examples/web4/package.json +++ b/examples/web4/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web4", - "version": "8.0.11", + "version": "8.0.12", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -13,7 +13,7 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/html-manager": "^1.0.11", + "@jupyter-widgets/html-manager": "^1.0.12", "font-awesome": "^4.7.0" }, "devDependencies": { diff --git a/packages/base-manager/package.json b/packages/base-manager/package.json index 41dcbd1f21..676fa541ea 100644 --- a/packages/base-manager/package.json +++ b/packages/base-manager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/base-manager", - "version": "1.0.9", + "version": "1.0.10", "description": "Jupyter interactive widgets - base manager", "repository": { "type": "git", @@ -32,7 +32,7 @@ "test:unit:ie": "npm run test:unit:default -- --browsers=IE" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", + "@jupyter-widgets/base": "^6.0.9", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "@lumino/coreutils": "^1.11.1 || ^2", "base64-js": "^1.2.1", diff --git a/packages/base/package.json b/packages/base/package.json index bc576c14f7..b170715ce7 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/base", - "version": "6.0.8", + "version": "6.0.9", "description": "Jupyter interactive widgets", "repository": { "type": "git", diff --git a/packages/controls/package.json b/packages/controls/package.json index 8c1d90f663..5a5dfa8fab 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/controls", - "version": "5.0.9", + "version": "5.0.10", "description": "Jupyter interactive widgets", "repository": { "type": "git", @@ -34,7 +34,7 @@ "test:unit:ie": "npm run test:unit:default -- --browsers=IE" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", + "@jupyter-widgets/base": "^6.0.9", "@lumino/algorithm": "^1.9.1 || ^2.1", "@lumino/domutils": "^1.8.1 || ^2.1", "@lumino/messaging": "^1.10.1 || ^2.1", diff --git a/packages/html-manager/package.json b/packages/html-manager/package.json index 1df0e53a38..d063d7b240 100644 --- a/packages/html-manager/package.json +++ b/packages/html-manager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/html-manager", - "version": "1.0.11", + "version": "1.0.12", "description": "Standalone package for rendering Jupyter widgets outside notebooks", "homepage": "https://github.com/jupyter-widgets/ipywidgets#readme", "bugs": { @@ -36,13 +36,13 @@ }, "dependencies": { "@fortawesome/fontawesome-free": "^5.12.0", - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/base-manager": "^1.0.9", + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base-manager": "^1.0.10", "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6", - "@jupyter-widgets/controls": "^5.0.9", + "@jupyter-widgets/controls": "^5.0.10", "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6", - "@jupyter-widgets/output": "^6.0.8", - "@jupyter-widgets/schema": "^0.5.5", + "@jupyter-widgets/output": "^6.0.9", + "@jupyter-widgets/schema": "^0.5.6", "@jupyterlab/outputarea": "^3.0.0 || ^4.0.0", "@jupyterlab/rendermime": "^3.0.0 || ^4.0.0", "@jupyterlab/rendermime-interfaces": "^3.0.0 || ^4.0.0", diff --git a/packages/output/package.json b/packages/output/package.json index 383a3d43a6..8b2c2a8e83 100644 --- a/packages/output/package.json +++ b/packages/output/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/output", - "version": "6.0.8", + "version": "6.0.9", "description": "Jupyter widget wrapping cell output", "bugs": { "url": "https://github.com/jupyter-widgets/ipywidgets/issues" @@ -25,7 +25,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8" + "@jupyter-widgets/base": "^6.0.9" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/packages/schema/package.json b/packages/schema/package.json index 11992cdde2..875bd28a24 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/schema", - "version": "0.5.5", + "version": "0.5.6", "description": "Schemas for the Jupyter interactive Widgets", "keywords": [ "jupyter", diff --git a/python/jupyterlab_widgets/package.json b/python/jupyterlab_widgets/package.json index 71fafd5410..1a3f585de7 100644 --- a/python/jupyterlab_widgets/package.json +++ b/python/jupyterlab_widgets/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/jupyterlab-manager", - "version": "5.0.11", + "version": "5.0.12", "description": "The JupyterLab extension providing Jupyter widgets.", "keywords": [ "jupyter", @@ -46,10 +46,10 @@ "watch": "jupyter labextension watch ." }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/base-manager": "^1.0.9", - "@jupyter-widgets/controls": "^5.0.9", - "@jupyter-widgets/output": "^6.0.8", + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base-manager": "^1.0.10", + "@jupyter-widgets/controls": "^5.0.10", + "@jupyter-widgets/output": "^6.0.9", "@jupyterlab/application": "^3.0.0 || ^4.0.0", "@jupyterlab/apputils": "^3.0.0 || ^4.0.0", "@jupyterlab/console": "^3.0.0 || ^4.0.0", diff --git a/python/widgetsnbextension/package.json b/python/widgetsnbextension/package.json index 502030aa7f..0f08e30acc 100644 --- a/python/widgetsnbextension/package.json +++ b/python/widgetsnbextension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/notebook-manager", - "version": "8.0.11", + "version": "8.0.12", "private": true, "description": "Jupyter Widgets nbextension", "homepage": "https://github.com/jupyter-widgets/ipywidgets#readme", @@ -22,11 +22,11 @@ "watch": "npm run build --watch" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.8", - "@jupyter-widgets/base-manager": "^1.0.9", - "@jupyter-widgets/controls": "^5.0.9", - "@jupyter-widgets/html-manager": "^1.0.11", - "@jupyter-widgets/output": "^6.0.8", + "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base-manager": "^1.0.10", + "@jupyter-widgets/controls": "^5.0.10", + "@jupyter-widgets/html-manager": "^1.0.12", + "@jupyter-widgets/output": "^6.0.9", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "@lumino/messaging": "^1.10.1 || ^2.1", "@lumino/widgets": "^1.30.0 || ^2.1", From c497d4875b41a2f2f75bd0305c355ce32e4b2b77 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 12:17:10 +0200 Subject: [PATCH 17/22] Release: ipywidgets 8.1.4, widgetsnbextension 4.0.12, jupyterlab_widgets 3.0.12 python/ipywidgets/dist/ipywidgets-8.1.4-py3-none-any.whl md5: 7cb204b171b5869352519ac12c61589d sha1: d21eadf98812c9f14929d45320d63b0678d6e9fd sha256: d229c54d218e2f7dd263b8ec609e79eb33545db7ef91439e3709fc4b72332acd python/ipywidgets/dist/ipywidgets-8.1.4.tar.gz md5: 78a664e8ec47a6a783192f712c438542 sha1: 9c1e12710ec112b0656ecfb1d1862f7af3d8443d sha256: 85b5ef93ed4c809ab3bae892dd17bc6768590fde108cd987ce8321e6991f3139 python/widgetsnbextension/dist/widgetsnbextension-4.0.12-py3-none-any.whl md5: 091aca11358108901555787826b33c37 sha1: f331cbc5024c37f127e774c4ea9edfc3aff6717c sha256: 6b5e346d405fb993d24f47fb3dec56c850c51f41e6368bb52866192b848575c3 python/widgetsnbextension/dist/widgetsnbextension-4.0.12.tar.gz md5: 182ef4c7c438def55e2042cebed8970d sha1: f6d40b5e9f702888abf888e0ce04f167e6e9ddff sha256: 20c567a7fc0c9d8e405fda2e9bce6eb3656e350f2bd8921a4b660dd53f544f10 python/jupyterlab_widgets/dist/jupyterlab_widgets-3.0.12-py3-none-any.whl md5: f4e7a90740420f8d86854fd87c6b6699 sha1: 9c4ffb7b82e9ee165e8bae5c93b12ea219e29d23 sha256: 769944e6f2a8987de5000fcce948656ab9cbe906c97fdff1bdece795af65967b python/jupyterlab_widgets/dist/jupyterlab_widgets-3.0.12.tar.gz md5: fbb3bdd56e48c73b385aa10043ed4321 sha1: e42bf8662a7fa5dd37b45f7ce162d1efb5b000c9 sha256: 623ac0fee85f448a72631037121988c0e01809563b88cad4b047487791cf24ae --- python/ipywidgets/ipywidgets/_version.py | 2 +- python/ipywidgets/setup.cfg | 4 ++-- python/jupyterlab_widgets/jupyterlab_widgets/_version.py | 2 +- python/widgetsnbextension/widgetsnbextension/_version.py | 2 +- scripts/hashes_fedora | 9 +++++++++ 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100755 scripts/hashes_fedora diff --git a/python/ipywidgets/ipywidgets/_version.py b/python/ipywidgets/ipywidgets/_version.py index bb63571994..c0e03de767 100644 --- a/python/ipywidgets/ipywidgets/_version.py +++ b/python/ipywidgets/ipywidgets/_version.py @@ -1,7 +1,7 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '8.1.3' +__version__ = '8.1.4' __protocol_version__ = '2.1.0' __control_protocol_version__ = '1.0.0' diff --git a/python/ipywidgets/setup.cfg b/python/ipywidgets/setup.cfg index 23889d3301..36fbdf847c 100644 --- a/python/ipywidgets/setup.cfg +++ b/python/ipywidgets/setup.cfg @@ -37,8 +37,8 @@ install_requires = comm>=0.1.3 ipython>=6.1.0 traitlets>=4.3.1 - widgetsnbextension~=4.0.11 - jupyterlab_widgets~=3.0.11 + widgetsnbextension~=4.0.12 + jupyterlab_widgets~=3.0.12 [options.extras_require] test = diff --git a/python/jupyterlab_widgets/jupyterlab_widgets/_version.py b/python/jupyterlab_widgets/jupyterlab_widgets/_version.py index d890661c7a..a0f5e1db71 100644 --- a/python/jupyterlab_widgets/jupyterlab_widgets/_version.py +++ b/python/jupyterlab_widgets/jupyterlab_widgets/_version.py @@ -1,4 +1,4 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '3.0.11' +__version__ = '3.0.12' diff --git a/python/widgetsnbextension/widgetsnbextension/_version.py b/python/widgetsnbextension/widgetsnbextension/_version.py index f2601a0931..fc11c1cd29 100644 --- a/python/widgetsnbextension/widgetsnbextension/_version.py +++ b/python/widgetsnbextension/widgetsnbextension/_version.py @@ -1,4 +1,4 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '4.0.11' +__version__ = '4.0.12' diff --git a/scripts/hashes_fedora b/scripts/hashes_fedora new file mode 100755 index 0000000000..431d8d6c8d --- /dev/null +++ b/scripts/hashes_fedora @@ -0,0 +1,9 @@ +#!/bin/sh +for f in $@ +do + echo "$f" + echo md5: `md5sum "$f" | awk '{print $1}'` + echo sha1: `sha1sum "$f" | awk '{print $1}'` + echo sha256: `sha256sum "$f" | awk '{print $1}'` + echo +done From a1779403ad19300f3e4cfa3f5b158e025c2ce6e0 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 12:21:50 +0200 Subject: [PATCH 18/22] Rebuild yarn.lock --- yarn.lock | 66 +++++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/yarn.lock b/yarn.lock index 953df175c0..edd9749bc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -732,11 +732,11 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/base-manager@^1.0.9, @jupyter-widgets/base-manager@workspace:packages/base-manager": +"@jupyter-widgets/base-manager@^1.0.10, @jupyter-widgets/base-manager@workspace:packages/base-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/base-manager@workspace:packages/base-manager" dependencies: - "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base": ^6.0.9 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/coreutils": ^1.11.1 || ^2 "@types/base64-js": ^1.2.5 @@ -789,7 +789,7 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/base@^6.0.8, @jupyter-widgets/base@workspace:packages/base": +"@jupyter-widgets/base@^6.0.9, @jupyter-widgets/base@workspace:packages/base": version: 0.0.0-use.local resolution: "@jupyter-widgets/base@workspace:packages/base" dependencies: @@ -850,11 +850,11 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/controls@^5.0.9, @jupyter-widgets/controls@workspace:packages/controls": +"@jupyter-widgets/controls@^5.0.10, @jupyter-widgets/controls@workspace:packages/controls": version: 0.0.0-use.local resolution: "@jupyter-widgets/controls@workspace:packages/controls" dependencies: - "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base": ^6.0.9 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/algorithm": ^1.9.1 || ^2.1 "@lumino/domutils": ^1.8.1 || ^2.1 @@ -905,9 +905,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web1@workspace:examples/web1" dependencies: - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/base-manager": ^1.0.9 - "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base-manager": ^1.0.10 + "@jupyter-widgets/controls": ^5.0.10 chai: ^4.0.0 css-loader: ^6.5.1 karma: ^6.3.3 @@ -926,9 +926,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web2@workspace:examples/web2" dependencies: - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/base-manager": ^1.0.9 - "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base-manager": ^1.0.10 + "@jupyter-widgets/controls": ^5.0.10 codemirror: ^5.48.0 css-loader: ^6.5.1 font-awesome: ^4.7.0 @@ -941,9 +941,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web3@workspace:examples/web3" dependencies: - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/controls": ^5.0.9 - "@jupyter-widgets/html-manager": ^1.0.11 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/html-manager": ^1.0.12 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@types/codemirror": ^5.60.0 "@types/node": ^17.0.2 @@ -963,7 +963,7 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web4@workspace:examples/web4" dependencies: - "@jupyter-widgets/html-manager": ^1.0.11 + "@jupyter-widgets/html-manager": ^1.0.12 css-loader: ^6.5.1 font-awesome: ^4.7.0 style-loader: ^3.3.1 @@ -971,18 +971,18 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/html-manager@^1.0.11, @jupyter-widgets/html-manager@workspace:packages/html-manager": +"@jupyter-widgets/html-manager@^1.0.12, @jupyter-widgets/html-manager@workspace:packages/html-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/html-manager@workspace:packages/html-manager" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/base-manager": ^1.0.9 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base-manager": ^1.0.10 "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6" - "@jupyter-widgets/controls": ^5.0.9 + "@jupyter-widgets/controls": ^5.0.10 "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6" - "@jupyter-widgets/output": ^6.0.8 - "@jupyter-widgets/schema": ^0.5.5 + "@jupyter-widgets/output": ^6.0.9 + "@jupyter-widgets/schema": ^0.5.6 "@jupyterlab/outputarea": ^3.0.0 || ^4.0.0 "@jupyterlab/rendermime": ^3.0.0 || ^4.0.0 "@jupyterlab/rendermime-interfaces": ^3.0.0 || ^4.0.0 @@ -1020,10 +1020,10 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/jupyterlab-manager@workspace:python/jupyterlab_widgets" dependencies: - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/base-manager": ^1.0.9 - "@jupyter-widgets/controls": ^5.0.9 - "@jupyter-widgets/output": ^6.0.8 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base-manager": ^1.0.10 + "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/output": ^6.0.9 "@jupyterlab/application": ^3.0.0 || ^4.0.0 "@jupyterlab/apputils": ^3.0.0 || ^4.0.0 "@jupyterlab/builder": ^3.0.0 || ^4.0.0 @@ -1067,11 +1067,11 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/notebook-manager@workspace:python/widgetsnbextension" dependencies: - "@jupyter-widgets/base": ^6.0.8 - "@jupyter-widgets/base-manager": ^1.0.9 - "@jupyter-widgets/controls": ^5.0.9 - "@jupyter-widgets/html-manager": ^1.0.11 - "@jupyter-widgets/output": ^6.0.8 + "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base-manager": ^1.0.10 + "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/html-manager": ^1.0.12 + "@jupyter-widgets/output": ^6.0.9 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/messaging": ^1.10.1 || ^2.1 "@lumino/widgets": ^1.30.0 || ^2.1 @@ -1085,17 +1085,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/output@^6.0.8, @jupyter-widgets/output@workspace:packages/output": +"@jupyter-widgets/output@^6.0.9, @jupyter-widgets/output@workspace:packages/output": version: 0.0.0-use.local resolution: "@jupyter-widgets/output@workspace:packages/output" dependencies: - "@jupyter-widgets/base": ^6.0.8 + "@jupyter-widgets/base": ^6.0.9 rimraf: ^3.0.2 typescript: ~4.9.4 languageName: unknown linkType: soft -"@jupyter-widgets/schema@^0.5.5, @jupyter-widgets/schema@workspace:packages/schema": +"@jupyter-widgets/schema@^0.5.6, @jupyter-widgets/schema@workspace:packages/schema": version: 0.0.0-use.local resolution: "@jupyter-widgets/schema@workspace:packages/schema" languageName: unknown From f59ebe19600a1b93e7936ee795381c75ddaca2c0 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 11:52:37 +0100 Subject: [PATCH 19/22] More Phosphor backward compatibility (#3942) --- packages/base/src/widget.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/base/src/widget.ts b/packages/base/src/widget.ts index a187730d8b..ecf886799f 100644 --- a/packages/base/src/widget.ts +++ b/packages/base/src/widget.ts @@ -1242,6 +1242,13 @@ export class DOMWidgetView extends WidgetView { return this.luminoWidget; } + /** + * @deprecated Use {@link luminoWidget} instead (Since 8.0). + */ + set pWidget(value: Widget) { + this.luminoWidget = value; + } + el: HTMLElement; // Override typing '$el': any; luminoWidget: Widget; From 35229eff5d87e4abf639d6b3c34ccc24845a44d4 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 14:04:59 +0200 Subject: [PATCH 20/22] Bump version - @jupyter-widgets/example-web1@8.0.12 - @jupyter-widgets/example-web2@8.0.12 - @jupyter-widgets/example-web3@8.0.13 - @jupyter-widgets/example-web4@8.0.13 - @jupyter-widgets/base-manager@1.0.11 - @jupyter-widgets/base@6.0.10 - @jupyter-widgets/controls@5.0.11 - @jupyter-widgets/html-manager@1.0.13 - @jupyter-widgets/output@6.0.10 - @jupyter-widgets/jupyterlab-manager@5.0.13 - @jupyter-widgets/notebook-manager@8.0.13 --- examples/web1/package.json | 8 ++++---- examples/web2/package.json | 8 ++++---- examples/web3/package.json | 8 ++++---- examples/web4/package.json | 4 ++-- packages/base-manager/package.json | 4 ++-- packages/base/package.json | 2 +- packages/controls/package.json | 4 ++-- packages/html-manager/package.json | 10 +++++----- packages/output/package.json | 4 ++-- python/jupyterlab_widgets/package.json | 10 +++++----- python/widgetsnbextension/package.json | 12 ++++++------ 11 files changed, 37 insertions(+), 37 deletions(-) diff --git a/examples/web1/package.json b/examples/web1/package.json index 33ed0aa8a1..3ecbb6ca6b 100644 --- a/examples/web1/package.json +++ b/examples/web1/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web1", - "version": "8.0.11", + "version": "8.0.12", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -16,9 +16,9 @@ "test:firefox:headless": "npm run test:default -- --browsers=FirefoxHeadless" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/base-manager": "^1.0.10", - "@jupyter-widgets/controls": "^5.0.10" + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/base-manager": "^1.0.11", + "@jupyter-widgets/controls": "^5.0.11" }, "devDependencies": { "chai": "^4.0.0", diff --git a/examples/web2/package.json b/examples/web2/package.json index 5bcd789c1d..16ae1e3146 100644 --- a/examples/web2/package.json +++ b/examples/web2/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web2", - "version": "8.0.11", + "version": "8.0.12", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -13,9 +13,9 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/base-manager": "^1.0.10", - "@jupyter-widgets/controls": "^5.0.10", + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/base-manager": "^1.0.11", + "@jupyter-widgets/controls": "^5.0.11", "codemirror": "^5.48.0", "font-awesome": "^4.7.0" }, diff --git a/examples/web3/package.json b/examples/web3/package.json index 05551995a0..97e5794b2b 100644 --- a/examples/web3/package.json +++ b/examples/web3/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web3", - "version": "8.0.12", + "version": "8.0.13", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -14,9 +14,9 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/controls": "^5.0.10", - "@jupyter-widgets/html-manager": "^1.0.12", + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/controls": "^5.0.11", + "@jupyter-widgets/html-manager": "^1.0.13", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "codemirror": "^5.48.0", "font-awesome": "^4.7.0", diff --git a/examples/web4/package.json b/examples/web4/package.json index 6ddc7973ff..37fd6b3d36 100644 --- a/examples/web4/package.json +++ b/examples/web4/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/example-web4", - "version": "8.0.12", + "version": "8.0.13", "private": true, "description": "Project that tests the ability to npm install jupyter-js-widgets within an npm project.", "license": "BSD-3-Clause", @@ -13,7 +13,7 @@ "test:default": "echo \"No test specified\"" }, "dependencies": { - "@jupyter-widgets/html-manager": "^1.0.12", + "@jupyter-widgets/html-manager": "^1.0.13", "font-awesome": "^4.7.0" }, "devDependencies": { diff --git a/packages/base-manager/package.json b/packages/base-manager/package.json index 676fa541ea..f40b102f3a 100644 --- a/packages/base-manager/package.json +++ b/packages/base-manager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/base-manager", - "version": "1.0.10", + "version": "1.0.11", "description": "Jupyter interactive widgets - base manager", "repository": { "type": "git", @@ -32,7 +32,7 @@ "test:unit:ie": "npm run test:unit:default -- --browsers=IE" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base": "^6.0.10", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "@lumino/coreutils": "^1.11.1 || ^2", "base64-js": "^1.2.1", diff --git a/packages/base/package.json b/packages/base/package.json index b170715ce7..48c1eb6540 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/base", - "version": "6.0.9", + "version": "6.0.10", "description": "Jupyter interactive widgets", "repository": { "type": "git", diff --git a/packages/controls/package.json b/packages/controls/package.json index 5a5dfa8fab..c2cf556ef9 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/controls", - "version": "5.0.10", + "version": "5.0.11", "description": "Jupyter interactive widgets", "repository": { "type": "git", @@ -34,7 +34,7 @@ "test:unit:ie": "npm run test:unit:default -- --browsers=IE" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", + "@jupyter-widgets/base": "^6.0.10", "@lumino/algorithm": "^1.9.1 || ^2.1", "@lumino/domutils": "^1.8.1 || ^2.1", "@lumino/messaging": "^1.10.1 || ^2.1", diff --git a/packages/html-manager/package.json b/packages/html-manager/package.json index d063d7b240..ae90cd8461 100644 --- a/packages/html-manager/package.json +++ b/packages/html-manager/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/html-manager", - "version": "1.0.12", + "version": "1.0.13", "description": "Standalone package for rendering Jupyter widgets outside notebooks", "homepage": "https://github.com/jupyter-widgets/ipywidgets#readme", "bugs": { @@ -36,12 +36,12 @@ }, "dependencies": { "@fortawesome/fontawesome-free": "^5.12.0", - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/base-manager": "^1.0.10", + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/base-manager": "^1.0.11", "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6", - "@jupyter-widgets/controls": "^5.0.10", + "@jupyter-widgets/controls": "^5.0.11", "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6", - "@jupyter-widgets/output": "^6.0.9", + "@jupyter-widgets/output": "^6.0.10", "@jupyter-widgets/schema": "^0.5.6", "@jupyterlab/outputarea": "^3.0.0 || ^4.0.0", "@jupyterlab/rendermime": "^3.0.0 || ^4.0.0", diff --git a/packages/output/package.json b/packages/output/package.json index 8b2c2a8e83..39106a5ba3 100644 --- a/packages/output/package.json +++ b/packages/output/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/output", - "version": "6.0.9", + "version": "6.0.10", "description": "Jupyter widget wrapping cell output", "bugs": { "url": "https://github.com/jupyter-widgets/ipywidgets/issues" @@ -25,7 +25,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9" + "@jupyter-widgets/base": "^6.0.10" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/python/jupyterlab_widgets/package.json b/python/jupyterlab_widgets/package.json index 1a3f585de7..7d816ef922 100644 --- a/python/jupyterlab_widgets/package.json +++ b/python/jupyterlab_widgets/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/jupyterlab-manager", - "version": "5.0.12", + "version": "5.0.13", "description": "The JupyterLab extension providing Jupyter widgets.", "keywords": [ "jupyter", @@ -46,10 +46,10 @@ "watch": "jupyter labextension watch ." }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/base-manager": "^1.0.10", - "@jupyter-widgets/controls": "^5.0.10", - "@jupyter-widgets/output": "^6.0.9", + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/base-manager": "^1.0.11", + "@jupyter-widgets/controls": "^5.0.11", + "@jupyter-widgets/output": "^6.0.10", "@jupyterlab/application": "^3.0.0 || ^4.0.0", "@jupyterlab/apputils": "^3.0.0 || ^4.0.0", "@jupyterlab/console": "^3.0.0 || ^4.0.0", diff --git a/python/widgetsnbextension/package.json b/python/widgetsnbextension/package.json index 0f08e30acc..6e07cc1542 100644 --- a/python/widgetsnbextension/package.json +++ b/python/widgetsnbextension/package.json @@ -1,6 +1,6 @@ { "name": "@jupyter-widgets/notebook-manager", - "version": "8.0.12", + "version": "8.0.13", "private": true, "description": "Jupyter Widgets nbextension", "homepage": "https://github.com/jupyter-widgets/ipywidgets#readme", @@ -22,11 +22,11 @@ "watch": "npm run build --watch" }, "dependencies": { - "@jupyter-widgets/base": "^6.0.9", - "@jupyter-widgets/base-manager": "^1.0.10", - "@jupyter-widgets/controls": "^5.0.10", - "@jupyter-widgets/html-manager": "^1.0.12", - "@jupyter-widgets/output": "^6.0.9", + "@jupyter-widgets/base": "^6.0.10", + "@jupyter-widgets/base-manager": "^1.0.11", + "@jupyter-widgets/controls": "^5.0.11", + "@jupyter-widgets/html-manager": "^1.0.13", + "@jupyter-widgets/output": "^6.0.10", "@jupyterlab/services": "^6.0.0 || ^7.0.0", "@lumino/messaging": "^1.10.1 || ^2.1", "@lumino/widgets": "^1.30.0 || ^2.1", From 7fc01757fe8c63e48a0348ad9dcee5e14981137d Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 14:20:54 +0200 Subject: [PATCH 21/22] Release: ipywidgets 8.1.5, widgetsnbextension 4.0.13, jupyterlab_widgets 3.0.13 python/ipywidgets/dist/ipywidgets-8.1.5-py3-none-any.whl md5: 67c3238f363edabb3830d494826460ae sha1: fb0c054c6c630eec5a90e4651837daeb301a6fe7 sha256: 3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245 python/ipywidgets/dist/ipywidgets-8.1.5.tar.gz md5: 027334bbd0eb5c5594a23bf6c320d098 sha1: d444ced59877797c38ac38ee026931fab4d7c288 sha256: 870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17 python/widgetsnbextension/dist/widgetsnbextension-4.0.13-py3-none-any.whl md5: 143eb462ce2571899651f75e896ce80a sha1: 4219a08a48d52c42a8c20366da050be1b6a2df5a sha256: 74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71 python/widgetsnbextension/dist/widgetsnbextension-4.0.13.tar.gz md5: 197233ae02bc970c0d1e9d31412af7d7 sha1: bfd62e9dede051210ab63ddf606f477c1fd298b6 sha256: ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6 python/jupyterlab_widgets/dist/jupyterlab_widgets-3.0.13-py3-none-any.whl md5: 507166dfb46b77e70a338f4638521288 sha1: 6dfa76314becda01ea4c7f02cc9dd45c176f8012 sha256: e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54 python/jupyterlab_widgets/dist/jupyterlab_widgets-3.0.13.tar.gz md5: 329fc56b5cc2342f5896f0452afca820 sha1: b3234ce79b736e0b776fbe1f6d3e90fd38fae93f sha256: a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed --- python/ipywidgets/ipywidgets/_version.py | 2 +- python/jupyterlab_widgets/jupyterlab_widgets/_version.py | 2 +- python/widgetsnbextension/widgetsnbextension/_version.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python/ipywidgets/ipywidgets/_version.py b/python/ipywidgets/ipywidgets/_version.py index c0e03de767..f615945ec3 100644 --- a/python/ipywidgets/ipywidgets/_version.py +++ b/python/ipywidgets/ipywidgets/_version.py @@ -1,7 +1,7 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '8.1.4' +__version__ = '8.1.5' __protocol_version__ = '2.1.0' __control_protocol_version__ = '1.0.0' diff --git a/python/jupyterlab_widgets/jupyterlab_widgets/_version.py b/python/jupyterlab_widgets/jupyterlab_widgets/_version.py index a0f5e1db71..4698978635 100644 --- a/python/jupyterlab_widgets/jupyterlab_widgets/_version.py +++ b/python/jupyterlab_widgets/jupyterlab_widgets/_version.py @@ -1,4 +1,4 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '3.0.12' +__version__ = '3.0.13' diff --git a/python/widgetsnbextension/widgetsnbextension/_version.py b/python/widgetsnbextension/widgetsnbextension/_version.py index fc11c1cd29..8145d3c76f 100644 --- a/python/widgetsnbextension/widgetsnbextension/_version.py +++ b/python/widgetsnbextension/widgetsnbextension/_version.py @@ -1,4 +1,4 @@ # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. -__version__ = '4.0.12' +__version__ = '4.0.13' From b24fa6be5a289a23dd82eedcecbf6603ddbe2c0a Mon Sep 17 00:00:00 2001 From: martinRenou Date: Thu, 22 Aug 2024 14:30:46 +0200 Subject: [PATCH 22/22] Rebuild yarn.lock --- yarn.lock | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/yarn.lock b/yarn.lock index edd9749bc7..0eb88b11b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -732,11 +732,11 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/base-manager@^1.0.10, @jupyter-widgets/base-manager@workspace:packages/base-manager": +"@jupyter-widgets/base-manager@^1.0.11, @jupyter-widgets/base-manager@workspace:packages/base-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/base-manager@workspace:packages/base-manager" dependencies: - "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base": ^6.0.10 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/coreutils": ^1.11.1 || ^2 "@types/base64-js": ^1.2.5 @@ -789,7 +789,7 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/base@^6.0.9, @jupyter-widgets/base@workspace:packages/base": +"@jupyter-widgets/base@^6.0.10, @jupyter-widgets/base@workspace:packages/base": version: 0.0.0-use.local resolution: "@jupyter-widgets/base@workspace:packages/base" dependencies: @@ -850,11 +850,11 @@ __metadata: languageName: node linkType: hard -"@jupyter-widgets/controls@^5.0.10, @jupyter-widgets/controls@workspace:packages/controls": +"@jupyter-widgets/controls@^5.0.11, @jupyter-widgets/controls@workspace:packages/controls": version: 0.0.0-use.local resolution: "@jupyter-widgets/controls@workspace:packages/controls" dependencies: - "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base": ^6.0.10 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/algorithm": ^1.9.1 || ^2.1 "@lumino/domutils": ^1.8.1 || ^2.1 @@ -905,9 +905,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web1@workspace:examples/web1" dependencies: - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/base-manager": ^1.0.10 - "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/base-manager": ^1.0.11 + "@jupyter-widgets/controls": ^5.0.11 chai: ^4.0.0 css-loader: ^6.5.1 karma: ^6.3.3 @@ -926,9 +926,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web2@workspace:examples/web2" dependencies: - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/base-manager": ^1.0.10 - "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/base-manager": ^1.0.11 + "@jupyter-widgets/controls": ^5.0.11 codemirror: ^5.48.0 css-loader: ^6.5.1 font-awesome: ^4.7.0 @@ -941,9 +941,9 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web3@workspace:examples/web3" dependencies: - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/controls": ^5.0.10 - "@jupyter-widgets/html-manager": ^1.0.12 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/controls": ^5.0.11 + "@jupyter-widgets/html-manager": ^1.0.13 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@types/codemirror": ^5.60.0 "@types/node": ^17.0.2 @@ -963,7 +963,7 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/example-web4@workspace:examples/web4" dependencies: - "@jupyter-widgets/html-manager": ^1.0.12 + "@jupyter-widgets/html-manager": ^1.0.13 css-loader: ^6.5.1 font-awesome: ^4.7.0 style-loader: ^3.3.1 @@ -971,17 +971,17 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/html-manager@^1.0.12, @jupyter-widgets/html-manager@workspace:packages/html-manager": +"@jupyter-widgets/html-manager@^1.0.13, @jupyter-widgets/html-manager@workspace:packages/html-manager": version: 0.0.0-use.local resolution: "@jupyter-widgets/html-manager@workspace:packages/html-manager" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/base-manager": ^1.0.10 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/base-manager": ^1.0.11 "@jupyter-widgets/base7": "npm:@jupyter-widgets/base@4.1.6" - "@jupyter-widgets/controls": ^5.0.10 + "@jupyter-widgets/controls": ^5.0.11 "@jupyter-widgets/controls7": "npm:@jupyter-widgets/controls@3.1.6" - "@jupyter-widgets/output": ^6.0.9 + "@jupyter-widgets/output": ^6.0.10 "@jupyter-widgets/schema": ^0.5.6 "@jupyterlab/outputarea": ^3.0.0 || ^4.0.0 "@jupyterlab/rendermime": ^3.0.0 || ^4.0.0 @@ -1020,10 +1020,10 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/jupyterlab-manager@workspace:python/jupyterlab_widgets" dependencies: - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/base-manager": ^1.0.10 - "@jupyter-widgets/controls": ^5.0.10 - "@jupyter-widgets/output": ^6.0.9 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/base-manager": ^1.0.11 + "@jupyter-widgets/controls": ^5.0.11 + "@jupyter-widgets/output": ^6.0.10 "@jupyterlab/application": ^3.0.0 || ^4.0.0 "@jupyterlab/apputils": ^3.0.0 || ^4.0.0 "@jupyterlab/builder": ^3.0.0 || ^4.0.0 @@ -1067,11 +1067,11 @@ __metadata: version: 0.0.0-use.local resolution: "@jupyter-widgets/notebook-manager@workspace:python/widgetsnbextension" dependencies: - "@jupyter-widgets/base": ^6.0.9 - "@jupyter-widgets/base-manager": ^1.0.10 - "@jupyter-widgets/controls": ^5.0.10 - "@jupyter-widgets/html-manager": ^1.0.12 - "@jupyter-widgets/output": ^6.0.9 + "@jupyter-widgets/base": ^6.0.10 + "@jupyter-widgets/base-manager": ^1.0.11 + "@jupyter-widgets/controls": ^5.0.11 + "@jupyter-widgets/html-manager": ^1.0.13 + "@jupyter-widgets/output": ^6.0.10 "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/messaging": ^1.10.1 || ^2.1 "@lumino/widgets": ^1.30.0 || ^2.1 @@ -1085,11 +1085,11 @@ __metadata: languageName: unknown linkType: soft -"@jupyter-widgets/output@^6.0.9, @jupyter-widgets/output@workspace:packages/output": +"@jupyter-widgets/output@^6.0.10, @jupyter-widgets/output@workspace:packages/output": version: 0.0.0-use.local resolution: "@jupyter-widgets/output@workspace:packages/output" dependencies: - "@jupyter-widgets/base": ^6.0.9 + "@jupyter-widgets/base": ^6.0.10 rimraf: ^3.0.2 typescript: ~4.9.4 languageName: unknown