From a6dd8df120771dd3ca7b8078ea0a340c11c06ba0 Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 10 Jan 2020 15:30:19 +0100 Subject: [PATCH 01/30] Styling buttons. --- ipywidgets/widgets/widget_button.py | 6 ++ packages/controls/src/widget_button.ts | 30 +++++++ tests/test_buttonstyle.ipynb | 108 +++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 tests/test_buttonstyle.ipynb diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index e2fb3387ac..8e90a68e1a 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -22,7 +22,13 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) + font_family = Unicode(help="Button text font family.").tag(sync=True) + font_size = Unicode(help="Button text font size.").tag(sync=True) + font_style = Unicode(help="Button text font style.").tag(sync=True) + font_variant = Unicode(help="Button text font variant.").tag(sync=True) font_weight = Unicode(help="Button text font weight.").tag(sync=True) + text_color = Unicode(help="Button text color.").tag(sync=True) + text_decoration = Unicode(help="Button text decoration.").tag(sync=True) @register diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 69b1156538..70874ee7ed 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -32,10 +32,40 @@ class ButtonStyleModel extends StyleModel { attribute: 'background-color', default: null as any }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, font_weight: { selector: '', attribute: 'font-weight', default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' } }; } diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb new file mode 100644 index 0000000000..967b74faf8 --- /dev/null +++ b/tests/test_buttonstyle.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Button\n", + "b = Button(description=\"Button\")\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.button_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_weight = \"bold\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_variant = \"small-caps\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_family = \"bitstream\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From fa92769411c53f428c9b0f94e7399b5be24946bc Mon Sep 17 00:00:00 2001 From: Zerline Date: Mon, 13 Jan 2020 14:58:50 +0100 Subject: [PATCH 02/30] Generate schema and remove test file. --- packages/schema/jupyterwidgetmodels.latest.md | 6 + tests/test_buttonstyle.ipynb | 108 ------------------ 2 files changed, 6 insertions(+), 108 deletions(-) delete mode 100644 tests/test_buttonstyle.ipynb diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index a8b3b56937..da9caf47ab 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -189,7 +189,13 @@ Attribute | Type | Default | Help `_view_module_version` | string | `'1.2.0'` | `_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button +`font_family` | string | `''` | Button text font family. +`font_size` | string | `''` | Button text font size. +`font_style` | string | `''` | Button text font style. +`font_variant` | string | `''` | Button text font variant. `font_weight` | string | `''` | Button text font weight. +`text_color` | string | `''` | Button text color. +`text_decoration` | string | `''` | Button text decoration. ### CheckboxModel (@jupyter-widgets/controls, 1.5.0); CheckboxView (@jupyter-widgets/controls, 1.5.0) diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb deleted file mode 100644 index 967b74faf8..0000000000 --- a/tests/test_buttonstyle.ipynb +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Button\n", - "b = Button(description=\"Button\")\n", - "b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.button_color = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_color = \"darkgreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_weight = \"bold\" " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_variant = \"small-caps\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_size = \"1.2em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_family = \"bitstream\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 0881e1008f03b66fa9a17cc3b4ec24dd66500c43 Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 10 Jan 2020 15:30:19 +0100 Subject: [PATCH 03/30] Styling buttons. --- ipywidgets/widgets/widget_button.py | 6 ++ packages/controls/src/widget_button.ts | 30 +++++++ tests/test_buttonstyle.ipynb | 108 +++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 tests/test_buttonstyle.ipynb diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index e2fb3387ac..8e90a68e1a 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -22,7 +22,13 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) + font_family = Unicode(help="Button text font family.").tag(sync=True) + font_size = Unicode(help="Button text font size.").tag(sync=True) + font_style = Unicode(help="Button text font style.").tag(sync=True) + font_variant = Unicode(help="Button text font variant.").tag(sync=True) font_weight = Unicode(help="Button text font weight.").tag(sync=True) + text_color = Unicode(help="Button text color.").tag(sync=True) + text_decoration = Unicode(help="Button text decoration.").tag(sync=True) @register diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 69b1156538..70874ee7ed 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -32,10 +32,40 @@ class ButtonStyleModel extends StyleModel { attribute: 'background-color', default: null as any }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, font_weight: { selector: '', attribute: 'font-weight', default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' } }; } diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb new file mode 100644 index 0000000000..967b74faf8 --- /dev/null +++ b/tests/test_buttonstyle.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Button\n", + "b = Button(description=\"Button\")\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.button_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_weight = \"bold\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_variant = \"small-caps\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_family = \"bitstream\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 9f1018762624a9c90ee328ed77b47d897a7a8288 Mon Sep 17 00:00:00 2001 From: Zerline Date: Mon, 13 Jan 2020 14:58:50 +0100 Subject: [PATCH 04/30] Generate schema and remove test file. --- packages/schema/jupyterwidgetmodels.latest.md | 6 + tests/test_buttonstyle.ipynb | 108 ------------------ 2 files changed, 6 insertions(+), 108 deletions(-) delete mode 100644 tests/test_buttonstyle.ipynb diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 56b0c60df8..7f7938f7bc 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -196,7 +196,13 @@ Attribute | Type | Default | Help `_view_module_version` | string | `'1.2.0'` | `_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button +`font_family` | string | `''` | Button text font family. +`font_size` | string | `''` | Button text font size. +`font_style` | string | `''` | Button text font style. +`font_variant` | string | `''` | Button text font variant. `font_weight` | string | `''` | Button text font weight. +`text_color` | string | `''` | Button text color. +`text_decoration` | string | `''` | Button text decoration. ### CheckboxModel (@jupyter-widgets/controls, 1.5.0); CheckboxView (@jupyter-widgets/controls, 1.5.0) diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb deleted file mode 100644 index 967b74faf8..0000000000 --- a/tests/test_buttonstyle.ipynb +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Button\n", - "b = Button(description=\"Button\")\n", - "b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.button_color = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_color = \"darkgreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_weight = \"bold\" " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_variant = \"small-caps\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_size = \"1.2em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_family = \"bitstream\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From f10d1ffeaab96d4c5a44013da2e30a3ece46e70c Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 10 Jan 2020 15:30:19 +0100 Subject: [PATCH 05/30] Styling buttons. --- ipywidgets/widgets/widget_button.py | 6 ++ packages/controls/src/widget_button.ts | 30 +++++++ tests/test_buttonstyle.ipynb | 108 +++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 tests/test_buttonstyle.ipynb diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index e2fb3387ac..8e90a68e1a 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -22,7 +22,13 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) + font_family = Unicode(help="Button text font family.").tag(sync=True) + font_size = Unicode(help="Button text font size.").tag(sync=True) + font_style = Unicode(help="Button text font style.").tag(sync=True) + font_variant = Unicode(help="Button text font variant.").tag(sync=True) font_weight = Unicode(help="Button text font weight.").tag(sync=True) + text_color = Unicode(help="Button text color.").tag(sync=True) + text_decoration = Unicode(help="Button text decoration.").tag(sync=True) @register diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 9efee0e5d5..49bf6a30b9 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -23,10 +23,40 @@ export class ButtonStyleModel extends StyleModel { attribute: 'background-color', default: null as any }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, font_weight: { selector: '', attribute: 'font-weight', default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' } }; } diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb new file mode 100644 index 0000000000..967b74faf8 --- /dev/null +++ b/tests/test_buttonstyle.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Button\n", + "b = Button(description=\"Button\")\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.button_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_weight = \"bold\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_variant = \"small-caps\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_family = \"bitstream\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 9421ae731ae9a7e693e2a88167f88b571f9b71dc Mon Sep 17 00:00:00 2001 From: Zerline Date: Mon, 13 Jan 2020 14:58:50 +0100 Subject: [PATCH 06/30] Generate schema and remove test file. --- packages/schema/jupyterwidgetmodels.latest.md | 6 + tests/test_buttonstyle.ipynb | 108 ------------------ 2 files changed, 6 insertions(+), 108 deletions(-) delete mode 100644 tests/test_buttonstyle.ipynb diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 4b75dd3c52..434d9e808f 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -196,7 +196,13 @@ Attribute | Type | Default | Help `_view_module_version` | string | `'1.2.0'` | `_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button +`font_family` | string | `''` | Button text font family. +`font_size` | string | `''` | Button text font size. +`font_style` | string | `''` | Button text font style. +`font_variant` | string | `''` | Button text font variant. `font_weight` | string | `''` | Button text font weight. +`text_color` | string | `''` | Button text color. +`text_decoration` | string | `''` | Button text decoration. ### CheckboxModel (@jupyter-widgets/controls, 1.5.0); CheckboxView (@jupyter-widgets/controls, 1.5.0) diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb deleted file mode 100644 index 967b74faf8..0000000000 --- a/tests/test_buttonstyle.ipynb +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Button\n", - "b = Button(description=\"Button\")\n", - "b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.button_color = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_color = \"darkgreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_weight = \"bold\" " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_variant = \"small-caps\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_size = \"1.2em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_family = \"bitstream\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 944a945700c64df8858e02d22118f9d4a1f7abb8 Mon Sep 17 00:00:00 2001 From: Zerline Date: Sat, 18 Jan 2020 11:12:28 +0100 Subject: [PATCH 07/30] Confusion while merging. --- packages/controls/src/widget_button.ts | 44 +------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 117e64a6bd..49bf6a30b9 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -58,49 +58,7 @@ export class ButtonStyleModel extends StyleModel { attribute: 'text-decoration', default: '' } - - public static styleProperties = { - button_color: { - selector: '', - attribute: 'background-color', - default: null as any - }, - font_family: { - selector: '', - attribute: 'font-family', - default: '' - }, - font_size: { - selector: '', - attribute: 'font-size', - default: '' - }, - font_style: { - selector: '', - attribute: 'font-style', - default: '' - }, - font_variant: { - selector: '', - attribute: 'font-variant', - default: '' - }, - font_weight: { - selector: '', - attribute: 'font-weight', - default: '' - }, - text_color: { - selector: '', - attribute: 'color', - default: '' - }, - text_decoration: { - selector: '', - attribute: 'text-decoration', - default: '' - } - }; + }; } export class ButtonModel extends CoreDOMWidgetModel { From 06172eee6f11abd56fc17b5024c650e1ddad3157 Mon Sep 17 00:00:00 2001 From: Zerline Date: Sat, 18 Jan 2020 17:32:32 +0100 Subject: [PATCH 08/30] Using booleans ('italic') instead of strings ('text-style'). --- ipywidgets/widgets/widget_button.py | 14 +- packages/base/src/widget_style.ts | 4 + packages/controls/src/widget_button.ts | 74 +- .../schema/jupyterwidgetmodels.latest.json | 1774 ++++++++++++----- packages/schema/jupyterwidgetmodels.latest.md | 9 +- 5 files changed, 1373 insertions(+), 502 deletions(-) diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index 8e90a68e1a..b40cce68b9 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -12,6 +12,7 @@ from .widget_core import CoreWidget from .widget_style import Style from .trait_types import Color, InstanceDict +from .._version import __jupyter_widgets_controls_version__ from traitlets import Unicode, Bool, CaselessStrEnum, Instance, validate, default import warnings @@ -21,14 +22,17 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) + _view_name = Unicode('ButtonStyleView').tag(sync=True) + _view_module = Unicode('@jupyter-widgets/controls').tag(sync=True) + _view_module_version = Unicode(__jupyter_widgets_controls_version__).tag(sync=True) + bold = Bool(None, allow_none=True, help="Button text bold.").tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) - font_family = Unicode(help="Button text font family.").tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) font_size = Unicode(help="Button text font size.").tag(sync=True) - font_style = Unicode(help="Button text font style.").tag(sync=True) - font_variant = Unicode(help="Button text font variant.").tag(sync=True) - font_weight = Unicode(help="Button text font weight.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Button text font variant.").tag(sync=True) + italic = Bool(None, allow_none=True, help="Button text italic.").tag(sync=True) text_color = Unicode(help="Button text color.").tag(sync=True) - text_decoration = Unicode(help="Button text decoration.").tag(sync=True) + underline = Bool(None, allow_none=True, help="Button text underline.").tag(sync=True) @register diff --git a/packages/base/src/widget_style.ts b/packages/base/src/widget_style.ts index ceb26e39c8..c51d44403d 100644 --- a/packages/base/src/widget_style.ts +++ b/packages/base/src/widget_style.ts @@ -124,5 +124,9 @@ export class StyleView extends WidgetView { }, this); } + get_traitNames(): string[] { + return this._traitNames; + } + private _traitNames: string[]; } diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 49bf6a30b9..1a430c27ae 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -1,23 +1,49 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { DOMWidgetView, StyleModel } from '@jupyter-widgets/base'; +import { DOMWidgetView, StyleModel, StyleView } from '@jupyter-widgets/base'; import { CoreDOMWidgetModel } from './widget_core'; import { JUPYTER_CONTROLS_VERSION } from './version'; +export function bold_to_weight(value: boolean): string | null { + if (value == true) return 'bold'; + if (value == false) return 'normal'; + return null; +} + +export function italic_to_style(value: boolean): string | null { + if (value == true) return 'italic'; + if (value == false) return 'normal'; + return null; +} + +export function underline_to_decoration(value: boolean): string | null { + if (value == true) return 'underline'; + if (value == false) return 'none'; + return null; +} + export class ButtonStyleModel extends StyleModel { defaults(): Backbone.ObjectHash { return { ...super.defaults(), _model_name: 'ButtonStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION, + _view_name: 'ButtonStyleView', + _view_module: '@jupyter-widgets/controls', + _view_module_version: JUPYTER_CONTROLS_VERSION }; } public static styleProperties = { + bold: { + selector: '', + attribute: 'font-weight', + default: '' + }, button_color: { selector: '', attribute: 'background-color', @@ -33,7 +59,7 @@ export class ButtonStyleModel extends StyleModel { attribute: 'font-size', default: '' }, - font_style: { + italic: { selector: '', attribute: 'font-style', default: '' @@ -43,17 +69,12 @@ export class ButtonStyleModel extends StyleModel { attribute: 'font-variant', default: '' }, - font_weight: { - selector: '', - attribute: 'font-weight', - default: '' - }, text_color: { selector: '', attribute: 'color', default: '' }, - text_decoration: { + underline: { selector: '', attribute: 'text-decoration', default: '' @@ -61,6 +82,41 @@ export class ButtonStyleModel extends StyleModel { }; } +export class ButtonStyleView extends StyleView { + /** + * Handles when a trait value changes + */ + handleChange(trait: string, value: any): void { + // should be synchronous so that we can measure later. + const parent = this.options.parent as DOMWidgetView; + if (parent) { + const ModelType = this.model.constructor as typeof StyleModel; + const styleProperties = ModelType.styleProperties; + const attribute = styleProperties[trait].attribute; + const selector = styleProperties[trait].selector; + const elements = selector + ? parent.el.querySelectorAll(selector) + : [parent.el]; + let transform = undefined; + if (trait == 'bold') transform = bold_to_weight; + if (trait == 'italic') transform = italic_to_style; + if (trait == 'underline') transform = underline_to_decoration; + if (transform !== undefined) value = transform(value); + if (value === null) { + for (let i = 0; i !== elements.length; ++i) { + elements[i].style.removeProperty(attribute); + } + } else { + for (let i = 0; i !== elements.length; ++i) { + elements[i].style.setProperty(attribute, value); + } + } + } else { + console.warn('Style not applied because a parent view does not exist'); + } + } +} + export class ButtonModel extends CoreDOMWidgetModel { defaults(): Backbone.ObjectHash { return { diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json index d84d7c19f3..259a0e76a2 100644 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -8,7 +8,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "A semver requirement for namespace version containing the model.", "name": "_model_module_version", "type": "string" @@ -26,7 +26,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -229,6 +229,21 @@ "name": "justify_content", "type": "string" }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "inherit", + "initial", + "unset" + ], + "help": "The justify-items CSS attribute.", + "name": "justify_items", + "type": "string" + }, { "allow_none": true, "default": null, @@ -274,56 +289,30 @@ { "allow_none": true, "default": null, - "help": "The order CSS attribute.", - "name": "order", + "enum": ["contain", "cover", "fill", "scale-down", "none"], + "help": "The object-fit CSS attribute.", + "name": "object_fit", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow CSS attribute.", - "name": "overflow", + "help": "The object-position CSS attribute.", + "name": "object_position", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow-x CSS attribute.", - "name": "overflow_x", + "help": "The order CSS attribute.", + "name": "order", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow-y CSS attribute.", - "name": "overflow_y", + "help": "The overflow CSS attribute.", + "name": "overflow", "type": "string" }, { @@ -366,12 +355,12 @@ "model": { "module": "@jupyter-widgets/base", "name": "LayoutModel", - "version": "1.1.0" + "version": "1.2.0" }, "view": { "module": "@jupyter-widgets/base", "name": "LayoutView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -392,7 +381,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -416,7 +405,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -457,17 +446,31 @@ "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", "name": "selected_index", "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "AccordionModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "AccordionView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -488,7 +491,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -506,7 +509,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -548,9 +551,23 @@ "name": "loop", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" } @@ -558,12 +575,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "AudioModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "AudioView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -584,7 +601,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -602,7 +619,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -625,13 +642,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -671,6 +681,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -681,12 +705,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "BoundedFloatTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -707,7 +731,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -725,7 +749,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -748,13 +772,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -793,6 +810,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -803,12 +834,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "BoundedIntTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -829,7 +860,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -847,7 +878,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -881,17 +912,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "BoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "BoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -912,7 +957,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -930,7 +975,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -962,7 +1007,7 @@ }, { "default": "", - "help": "Font-awesome icon name, without the 'fa-' prefix.", + "help": "Font-awesome icon names, without the 'fa-' prefix.", "name": "icon", "type": "string" }, @@ -981,8 +1026,16 @@ "widget": "ButtonStyle" }, { - "default": "", - "help": "Tooltip caption of the button.", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", "name": "tooltip", "type": "string" } @@ -990,12 +1043,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ButtonView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1007,7 +1060,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1025,7 +1078,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1043,22 +1096,55 @@ "name": "button_color", "type": "string" }, + { + "allow_none": true, + "default": null, + "help": "Button text font family.", + "name": "font_family", + "type": "string" + }, { "default": "", - "help": "Button text font weight.", - "name": "font_weight", + "help": "Button text font size.", + "name": "font_size", "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "default": false, + "help": "Button text italic.", + "name": "italic", + "type": "bool" + }, + { + "default": "", + "help": "Button text color.", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text underline.", + "name": "underline", + "type": "bool" } ], "model": { "module": "@jupyter-widgets/controls", "name": "ButtonStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -1079,7 +1165,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1097,7 +1183,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1114,13 +1200,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1147,6 +1226,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": false, "help": "Bool value", @@ -1157,12 +1250,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "CheckboxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "CheckboxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1183,7 +1276,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1201,7 +1294,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1224,13 +1317,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1251,6 +1337,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "black", "help": "The color value.", @@ -1261,12 +1361,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ColorPickerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ColorPickerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1287,7 +1387,139 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ComboboxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ComboboxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": false, + "help": "If set, ensure value is in options. Implies continuous_update=False.", + "name": "ensure_option", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": [], + "help": "Dropdown options for the combobox", + "items": { + "type": "string" + }, + "name": "options", + "type": "array" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ComboboxModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ComboboxView", + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1305,7 +1537,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1323,6 +1555,20 @@ "type": "reference", "widget": "Layout" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "The value of the axis.", @@ -1333,12 +1579,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ControllerAxisModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ControllerAxisView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1359,7 +1605,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1377,7 +1623,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1401,6 +1647,20 @@ "name": "pressed", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "The value of the button.", @@ -1411,12 +1671,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ControllerButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ControllerButtonView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1437,7 +1697,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1455,7 +1715,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1517,22 +1777,36 @@ "name": "name", "type": "string" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, { "default": 0.0, "help": "The last time the data from this gamepad was updated.", "name": "timestamp", "type": "float" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "ControllerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ControllerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1553,7 +1827,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1571,7 +1845,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1590,9 +1864,23 @@ "type": "reference", "widget": "Layout" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" } @@ -1600,12 +1888,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DOMWidgetModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1626,7 +1914,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1644,7 +1932,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1661,13 +1949,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1688,6 +1969,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "allow_none": true, "default": null, @@ -1699,12 +1994,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DatePickerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "DatePickerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1716,7 +2011,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1734,7 +2029,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1755,12 +2050,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DescriptionStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -1772,7 +2067,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1790,7 +2085,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1818,12 +2113,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DirectionalLinkModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1844,7 +2139,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1871,7 +2166,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1888,13 +2183,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -1921,17 +2209,167 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "DropdownModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "DropdownView", - "version": "1.4.0" + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FileUploadModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FileUploadView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "File types to accept, empty string for all", + "name": "accept", + "type": "string" + }, + { + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the button.", + "name": "button_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable button", + "name": "disabled", + "type": "bool" + }, + { + "default": "", + "help": "Error message", + "name": "error", + "type": "string" + }, + { + "default": "upload", + "help": "Font-awesome icon name, without the 'fa-' prefix.", + "name": "icon", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": false, + "help": "If True, allow for multiple files upload", + "name": "multiple", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ButtonStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": [], + "help": "The file upload value", + "name": "value", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FileUploadModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FileUploadView", + "version": "1.5.0" } }, { @@ -1952,7 +2390,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1970,7 +2408,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1999,13 +2437,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2063,6 +2494,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 1.0, "help": "Float value", @@ -2073,12 +2518,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatLogSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatLogSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2099,7 +2544,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2117,7 +2562,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2142,13 +2587,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -2182,6 +2620,20 @@ "type": "reference", "widget": "ProgressStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2192,12 +2644,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatProgressModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ProgressView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2218,7 +2670,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2236,7 +2688,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2259,13 +2711,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2323,6 +2768,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [0.0, 1.0], "help": "Tuple of (lower, upper) bounds", @@ -2333,12 +2792,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2359,7 +2818,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2377,7 +2836,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2400,13 +2859,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2464,6 +2916,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2474,12 +2940,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2500,7 +2966,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2518,7 +2984,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2535,17 +3001,10 @@ "name": "continuous_update", "type": "bool" }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", + { + "default": "", + "help": "Description of the control.", + "name": "description", "type": "string" }, { @@ -2575,6 +3034,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2585,12 +3058,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2611,7 +3084,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2629,7 +3102,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2663,17 +3136,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "GridBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "GridBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2694,7 +3181,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2712,7 +3199,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2746,17 +3233,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "HBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "HBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2777,7 +3278,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2795,7 +3296,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2812,13 +3313,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -2839,6 +3333,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -2849,12 +3357,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "HTMLMathModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "HTMLMathView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2875,7 +3383,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2893,7 +3401,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2910,13 +3418,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -2937,6 +3438,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -2947,12 +3462,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "HTMLModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "HTMLView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2973,7 +3488,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2991,7 +3506,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3010,7 +3525,7 @@ }, { "default": "", - "help": "Height of the image in pixels.", + "help": "Height of the image in pixels. Use layout.height for styling the widget.", "name": "height", "type": "string" }, @@ -3021,15 +3536,29 @@ "type": "reference", "widget": "Layout" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" }, { "default": "", - "help": "Width of the image in pixels.", + "help": "Width of the image in pixels. Use layout.width for styling the widget.", "name": "width", "type": "string" } @@ -3037,12 +3566,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ImageModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ImageView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3063,7 +3592,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3081,7 +3610,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3105,13 +3634,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -3145,6 +3667,20 @@ "type": "reference", "widget": "ProgressStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3155,12 +3691,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntProgressModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ProgressView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3181,7 +3717,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3199,7 +3735,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3222,13 +3758,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3286,6 +3815,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [0, 1], "help": "Tuple of (lower, upper) bounds", @@ -3296,12 +3839,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3322,7 +3865,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3340,7 +3883,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3363,13 +3906,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3427,6 +3963,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3437,12 +3987,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3463,7 +4013,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3481,7 +4031,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3504,13 +4054,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3537,6 +4080,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3547,12 +4104,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3573,7 +4130,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3591,7 +4148,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3608,13 +4165,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -3635,6 +4185,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -3645,12 +4209,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "LabelModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "LabelView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3662,7 +4226,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3680,7 +4244,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3708,12 +4272,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "LinkModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3734,7 +4298,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3752,7 +4316,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3775,13 +4339,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3808,6 +4365,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -3818,12 +4389,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "PasswordModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "PasswordView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3844,7 +4415,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3855,18 +4426,6 @@ "name": "_model_name", "type": "string" }, - { - "default": false, - "help": "Whether the control is currently playing.", - "name": "_playing", - "type": "bool" - }, - { - "default": false, - "help": "Whether the control will repeat in a continous loop.", - "name": "_repeat", - "type": "bool" - }, { "default": "@jupyter-widgets/controls", "help": "", @@ -3874,7 +4433,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3891,13 +4450,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3906,7 +4458,7 @@ }, { "default": 100, - "help": "The maximum value for the play control.", + "help": "The time between two animation steps (ms).", "name": "interval", "type": "int" }, @@ -3929,6 +4481,18 @@ "name": "min", "type": "int" }, + { + "default": false, + "help": "Whether the control is currently playing.", + "name": "playing", + "type": "bool" + }, + { + "default": false, + "help": "Whether the control will repeat in a continous loop.", + "name": "repeat", + "type": "bool" + }, { "default": true, "help": "Show the repeat toggle button in the widget.", @@ -3948,6 +4512,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3958,12 +4536,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "PlayModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "PlayView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3975,7 +4553,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3993,7 +4571,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4021,12 +4599,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ProgressStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -4047,7 +4625,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4074,7 +4652,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4091,13 +4669,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4124,17 +4695,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "RadioButtonsModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "RadioButtonsView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4155,7 +4740,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4182,7 +4767,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4199,13 +4784,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4238,17 +4816,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4269,7 +4861,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4296,7 +4888,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4313,13 +4905,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4354,17 +4939,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectMultipleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectMultipleView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4385,7 +4984,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4412,7 +5011,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4435,13 +5034,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4480,17 +5072,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectionRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectionRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4511,7 +5117,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4538,7 +5144,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4561,13 +5167,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4606,17 +5205,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectionSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectionSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4628,7 +5241,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4646,7 +5259,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4674,12 +5287,122 @@ "model": { "module": "@jupyter-widgets/controls", "name": "SliderStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "StackedModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": {}, + "help": "Titles of the pages", + "name": "_titles", + "type": "object" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StackedView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": 0, + "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", + "name": "selected_index", + "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "StackedModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "StackedView", + "version": "1.5.0" } }, { @@ -4700,7 +5423,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4724,7 +5447,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4765,17 +5488,31 @@ "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", "name": "selected_index", "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "TabModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "TabView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4796,7 +5533,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4814,7 +5551,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4837,13 +5574,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4870,6 +5600,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -4880,12 +5624,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "TextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "TextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4906,7 +5650,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4924,7 +5668,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4947,13 +5691,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4987,6 +5724,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "", "help": "String value", @@ -4997,12 +5748,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "TextareaModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "TextareaView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5023,7 +5774,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5041,7 +5792,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5065,13 +5816,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -5099,8 +5843,16 @@ "widget": "DescriptionStyle" }, { - "default": "", - "help": "Tooltip caption of the toggle button.", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", "name": "tooltip", "type": "string" }, @@ -5114,12 +5866,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5140,7 +5892,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5167,7 +5919,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5192,13 +5944,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -5235,6 +5980,20 @@ "type": "reference", "widget": "ToggleButtonsStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [], "help": "Tooltips for each button.", @@ -5248,12 +6007,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5265,7 +6024,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5283,7 +6042,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5316,12 +6075,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -5342,7 +6101,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5360,7 +6119,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5394,17 +6153,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "VBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "VBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5425,7 +6198,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5443,7 +6216,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5460,13 +6233,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -5493,6 +6259,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": false, "help": "Bool value", @@ -5503,12 +6283,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ValidModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ValidView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5529,7 +6309,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5547,7 +6327,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5595,9 +6375,23 @@ "name": "loop", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" }, @@ -5611,12 +6405,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "VideoModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "VideoView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5687,6 +6481,20 @@ }, "name": "outputs", "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 434d9e808f..159dfc62bc 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -196,13 +196,12 @@ Attribute | Type | Default | Help `_view_module_version` | string | `'1.2.0'` | `_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button -`font_family` | string | `''` | Button text font family. +`font_family` | `null` or string | `null` | Button text font family. `font_size` | string | `''` | Button text font size. -`font_style` | string | `''` | Button text font style. -`font_variant` | string | `''` | Button text font variant. -`font_weight` | string | `''` | Button text font weight. +`font_variant` | `null` or string | `null` | Button text font variant. +`italic` | boolean | `false` | Button text italic. `text_color` | string | `''` | Button text color. -`text_decoration` | string | `''` | Button text decoration. +`underline` | `null` or boolean | `null` | Button text underline. ### CheckboxModel (@jupyter-widgets/controls, 1.5.0); CheckboxView (@jupyter-widgets/controls, 1.5.0) From bff07dbdcd7d310490cc38cd71e764b27a07c241 Mon Sep 17 00:00:00 2001 From: Zerline Date: Sun, 19 Jan 2020 00:05:07 +0100 Subject: [PATCH 09/30] Final schema. --- .../schema/jupyterwidgetmodels.latest.json | 22 +++++++++++++------ packages/schema/jupyterwidgetmodels.latest.md | 11 +++++----- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json index 259a0e76a2..1f7faa2937 100644 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -1072,23 +1072,30 @@ "type": "string" }, { - "default": "@jupyter-widgets/base", + "default": "@jupyter-widgets/controls", "help": "", "name": "_view_module", "type": "string" }, { - "default": "1.2.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" }, { - "default": "StyleView", + "default": "ButtonStyleView", "help": "", "name": "_view_name", "type": "string" }, + { + "allow_none": true, + "default": null, + "help": "Button text bold.", + "name": "bold", + "type": "bool" + }, { "allow_none": true, "default": null, @@ -1117,7 +1124,8 @@ "type": "string" }, { - "default": false, + "allow_none": true, + "default": null, "help": "Button text italic.", "name": "italic", "type": "bool" @@ -1142,9 +1150,9 @@ "version": "1.5.0" }, "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "1.2.0" + "module": "@jupyter-widgets/controls", + "name": "ButtonStyleView", + "version": "1.5.0" } }, { diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 159dfc62bc..95210ba05d 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -185,21 +185,22 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. -### ButtonStyleModel (@jupyter-widgets/controls, 1.5.0); StyleView (@jupyter-widgets/base, 1.2.0) +### ButtonStyleModel (@jupyter-widgets/controls, 1.5.0); ButtonStyleView (@jupyter-widgets/controls, 1.5.0) Attribute | Type | Default | Help -----------------|------------------|------------------|---- `_model_module` | string | `'@jupyter-widgets/controls'` | `_model_module_version` | string | `'1.5.0'` | `_model_name` | string | `'ButtonStyleModel'` | -`_view_module` | string | `'@jupyter-widgets/base'` | -`_view_module_version` | string | `'1.2.0'` | -`_view_name` | string | `'StyleView'` | +`_view_module` | string | `'@jupyter-widgets/controls'` | +`_view_module_version` | string | `'1.5.0'` | +`_view_name` | string | `'ButtonStyleView'` | +`bold` | `null` or boolean | `null` | Button text bold. `button_color` | `null` or string | `null` | Color of the button `font_family` | `null` or string | `null` | Button text font family. `font_size` | string | `''` | Button text font size. `font_variant` | `null` or string | `null` | Button text font variant. -`italic` | boolean | `false` | Button text italic. +`italic` | `null` or boolean | `null` | Button text italic. `text_color` | string | `''` | Button text color. `underline` | `null` or boolean | `null` | Button text underline. From 2c746b49c1683b74b634230b8648d14951759c28 Mon Sep 17 00:00:00 2001 From: Zerline Date: Sun, 19 Jan 2020 00:14:52 +0100 Subject: [PATCH 10/30] This is not needed. --- packages/base/src/widget_style.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/base/src/widget_style.ts b/packages/base/src/widget_style.ts index c51d44403d..ceb26e39c8 100644 --- a/packages/base/src/widget_style.ts +++ b/packages/base/src/widget_style.ts @@ -124,9 +124,5 @@ export class StyleView extends WidgetView { }, this); } - get_traitNames(): string[] { - return this._traitNames; - } - private _traitNames: string[]; } From 00809f315085bb3b1f9e3de596fa08573d2a8af5 Mon Sep 17 00:00:00 2001 From: Zerline Date: Tue, 21 Jan 2020 19:37:06 +0100 Subject: [PATCH 11/30] Removing font-variant. Not sure what to do. --- ipywidgets/widgets/widget_button.py | 1 - packages/controls/src/widget_button.ts | 5 ----- packages/schema/jupyterwidgetmodels.latest.json | 7 ------- packages/schema/jupyterwidgetmodels.latest.md | 1 - 4 files changed, 14 deletions(-) diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index b40cce68b9..0403077195 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -29,7 +29,6 @@ class ButtonStyle(Style, CoreWidget): button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) font_size = Unicode(help="Button text font size.").tag(sync=True) - font_variant = Unicode(None, allow_none=True, help="Button text font variant.").tag(sync=True) italic = Bool(None, allow_none=True, help="Button text italic.").tag(sync=True) text_color = Unicode(help="Button text color.").tag(sync=True) underline = Bool(None, allow_none=True, help="Button text underline.").tag(sync=True) diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 1a430c27ae..be93691a02 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -64,11 +64,6 @@ export class ButtonStyleModel extends StyleModel { attribute: 'font-style', default: '' }, - font_variant: { - selector: '', - attribute: 'font-variant', - default: '' - }, text_color: { selector: '', attribute: 'color', diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json index 1f7faa2937..26190cd75c 100644 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -1116,13 +1116,6 @@ "name": "font_size", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Button text font variant.", - "name": "font_variant", - "type": "string" - }, { "allow_none": true, "default": null, diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 95210ba05d..6688115c46 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -199,7 +199,6 @@ Attribute | Type | Default | Help `button_color` | `null` or string | `null` | Color of the button `font_family` | `null` or string | `null` | Button text font family. `font_size` | string | `''` | Button text font size. -`font_variant` | `null` or string | `null` | Button text font variant. `italic` | `null` or boolean | `null` | Button text italic. `text_color` | string | `''` | Button text color. `underline` | `null` or boolean | `null` | Button text underline. From f88ad8791f911128371a9d147a2046ce6abc3146 Mon Sep 17 00:00:00 2001 From: Zerline Date: Wed, 22 Jan 2020 20:18:59 +0100 Subject: [PATCH 12/30] Our 3 CSS adapting functions better located in widget_style. --- packages/base/src/widget_style.ts | 20 +++++++++++++++++++ packages/controls/src/widget_button.ts | 27 ++++++++------------------ 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/packages/base/src/widget_style.ts b/packages/base/src/widget_style.ts index ceb26e39c8..8d5c749aa4 100644 --- a/packages/base/src/widget_style.ts +++ b/packages/base/src/widget_style.ts @@ -5,6 +5,26 @@ import { assign } from './utils'; import { WidgetModel, WidgetView, DOMWidgetView } from './widget'; +/** + * Three functions to deal with some CSS attributes + * to make them easier to use. + */ +export function bold_to_weight(value: boolean): string | null { + if (value == true) return 'bold'; + if (value == false) return 'normal'; + return null; +} +export function italic_to_style(value: boolean): string | null { + if (value == true) return 'italic'; + if (value == false) return 'normal'; + return null; +} +export function underline_to_decoration(value: boolean): string | null { + if (value == true) return 'underline'; + if (value == false) return 'none'; + return null; +} + export class StyleModel extends WidgetModel { defaults(): Backbone.ObjectHash { const Derived = this.constructor as typeof StyleModel; diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index be93691a02..53c9dd9fa1 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -1,30 +1,19 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { DOMWidgetView, StyleModel, StyleView } from '@jupyter-widgets/base'; +import { + DOMWidgetView, + StyleModel, + StyleView, + bold_to_weight, + italic_to_style, + underline_to_decoration +} from '@jupyter-widgets/base'; import { CoreDOMWidgetModel } from './widget_core'; import { JUPYTER_CONTROLS_VERSION } from './version'; -export function bold_to_weight(value: boolean): string | null { - if (value == true) return 'bold'; - if (value == false) return 'normal'; - return null; -} - -export function italic_to_style(value: boolean): string | null { - if (value == true) return 'italic'; - if (value == false) return 'normal'; - return null; -} - -export function underline_to_decoration(value: boolean): string | null { - if (value == true) return 'underline'; - if (value == false) return 'none'; - return null; -} - export class ButtonStyleModel extends StyleModel { defaults(): Backbone.ObjectHash { return { From 47960ecf5777bcbb5f2957035f14eebef8aa519d Mon Sep 17 00:00:00 2001 From: Zerline Date: Thu, 23 Jan 2020 20:36:31 +0100 Subject: [PATCH 13/30] Adding a few simple CSS attributes to buttons, text inputs, bool inputs. --- ipywidgets/widgets/widget_bool.py | 26 +- ipywidgets/widgets/widget_button.py | 8 +- ipywidgets/widgets/widget_string.py | 38 +- packages/controls/src/widget_bool.ts | 85 +- packages/controls/src/widget_button.ts | 30 + packages/controls/src/widget_string.ts | 108 +- .../schema/jupyterwidgetmodels.latest.json | 2431 +++++++++++++---- packages/schema/jupyterwidgetmodels.latest.md | 111 +- tests/test_boolstyle.ipynb | 142 + tests/test_buttonstyle.ipynb | 108 + tests/test_textstyle.ipynb | 146 + 11 files changed, 2623 insertions(+), 610 deletions(-) create mode 100644 tests/test_boolstyle.ipynb create mode 100644 tests/test_buttonstyle.ipynb create mode 100644 tests/test_textstyle.ipynb diff --git a/ipywidgets/widgets/widget_bool.py b/ipywidgets/widgets/widget_bool.py index e6ecede30b..0202e2ee67 100644 --- a/ipywidgets/widgets/widget_bool.py +++ b/ipywidgets/widgets/widget_bool.py @@ -6,17 +6,38 @@ Represents a boolean using a widget. """ -from .widget_description import DescriptionWidget +from .widget_description import DescriptionStyle, DescriptionWidget from .widget_core import CoreWidget from .valuewidget import ValueWidget -from .widget import register +from .widget import register, widget_serialization +from .trait_types import Color, InstanceDict from traitlets import Unicode, Bool, CaselessStrEnum +class _BoolStyle(DescriptionStyle, CoreWidget): + """_Bool widget style.""" + _model_name = Unicode('BoolStyleModel').tag(sync=True) + background_color = Color(None, allow_none=True, help="Background color").tag(sync=True) + + +@register +class ToggleButtonStyle(_BoolStyle, CoreWidget): + """ToggleButton widget style.""" + _model_name = Unicode('ToggleButtonStyleModel').tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Toggle button text font family.").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Toggle button text font size.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Toggle button text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Toggle button text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Toggle button text font weight.").tag(sync=True) + text_color = Color(None, allow_none=True, help="Toggle button text color").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Toggle button text decoration.").tag(sync=True) + + class _Bool(DescriptionWidget, ValueWidget, CoreWidget): """A base class for creating widgets that represent booleans.""" value = Bool(False, help="Bool value").tag(sync=True) disabled = Bool(False, help="Enable or disable user changes.").tag(sync=True) + style = InstanceDict(_BoolStyle, help="Styling customizations").tag(sync=True, **widget_serialization) def __init__(self, value=None, **kwargs): if value is not None: @@ -65,6 +86,7 @@ class ToggleButton(_Bool): button_style = CaselessStrEnum( values=['primary', 'success', 'info', 'warning', 'danger', ''], default_value='', help="""Use a predefined styling for the button.""").tag(sync=True) + style = InstanceDict(ToggleButtonStyle, help="Styling customizations").tag(sync=True, **widget_serialization) @register diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index e2fb3387ac..a2484a0f21 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -22,7 +22,13 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) - font_weight = Unicode(help="Button text font weight.").tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Button text font size.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Button text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Button text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Button text font weight.").tag(sync=True) + text_color = Unicode(None, allow_none=True, help="Button text color.").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Button text decoration.").tag(sync=True) @register diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index 8c54cfcb01..78c44a3c72 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -6,15 +6,41 @@ Represents a unicode string using a widget. """ -from .widget_description import DescriptionWidget +from .widget_description import DescriptionStyle, DescriptionWidget from .valuewidget import ValueWidget -from .widget import CallbackDispatcher, register +from .widget import CallbackDispatcher, register, widget_serialization from .widget_core import CoreWidget -from .trait_types import TypedTuple +from .trait_types import Color, InstanceDict, TypedTuple from traitlets import Unicode, Bool, Int from warnings import warn +@register +class _StringStyle(DescriptionStyle, CoreWidget): + """Text input style widget.""" + _model_name = Unicode('StringStyleModel').tag(sync=True) + background_color = Color(None, allow_none=True, help="Background color").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Text font size.").tag(sync=True) + text_color = Color(None, allow_none=True, help="Text color").tag(sync=True) + + +@register +class LabelStyle(_StringStyle, CoreWidget): + """Label style widget.""" + _model_name = Unicode('LabelStyleModel').tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Label text font family.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Label text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Label text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Label text font weight.").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Label text decoration.").tag(sync=True) + + +@register +class TextStyle(_StringStyle, CoreWidget): + """Text input style widget.""" + _model_name = Unicode('TextStyleModel').tag(sync=True) + + class _String(DescriptionWidget, ValueWidget, CoreWidget): """Base class used to create widgets that represent a string.""" @@ -24,7 +50,7 @@ class _String(DescriptionWidget, ValueWidget, CoreWidget): # the text, not the bottom margin. See the last paragraph of # https://www.w3.org/TR/CSS2/visudet.html#leading placeholder = Unicode('\u200b', help="Placeholder text to display when nothing has been typed").tag(sync=True) - + style = InstanceDict(_StringStyle).tag(sync=True, **widget_serialization) def __init__(self, value=None, **kwargs): if value is not None: @@ -33,7 +59,6 @@ def __init__(self, value=None, **kwargs): _model_name = Unicode('StringModel').tag(sync=True) - @register class HTML(_String): """Renders the string `value` as HTML.""" @@ -56,6 +81,7 @@ class Label(_String): """ _view_name = Unicode('LabelView').tag(sync=True) _model_name = Unicode('LabelModel').tag(sync=True) + style = InstanceDict(LabelStyle).tag(sync=True, **widget_serialization) @register @@ -66,6 +92,7 @@ class Textarea(_String): rows = Int(None, allow_none=True, help="The number of rows to display.").tag(sync=True) disabled = Bool(False, help="Enable or disable user changes").tag(sync=True) continuous_update = Bool(True, help="Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.").tag(sync=True) + style = InstanceDict(TextStyle).tag(sync=True, **widget_serialization) @register class Text(_String): @@ -74,6 +101,7 @@ class Text(_String): _model_name = Unicode('TextModel').tag(sync=True) disabled = Bool(False, help="Enable or disable user changes").tag(sync=True) continuous_update = Bool(True, help="Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.").tag(sync=True) + style = InstanceDict(TextStyle).tag(sync=True, **widget_serialization) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/packages/controls/src/widget_bool.ts b/packages/controls/src/widget_bool.ts index 4209832969..9fb10ff453 100644 --- a/packages/controls/src/widget_bool.ts +++ b/packages/controls/src/widget_bool.ts @@ -1,11 +1,86 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +import { DOMWidgetView } from '@jupyter-widgets/base'; + import { CoreDescriptionModel } from './widget_core'; -import { DescriptionView } from './widget_description'; +import { DescriptionStyleModel, DescriptionView } from './widget_description'; -import { DOMWidgetView } from '@jupyter-widgets/base'; +import { JUPYTER_CONTROLS_VERSION } from './version'; + +export class BoolStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'BoolStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background_color: { + selector: '', + attribute: 'background-color', + default: null as any + } + }; +} + +export class ToggleButtonStyleModel extends BoolStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'ToggleButtonStyleModel' + }; + } + + public static styleProperties = { + ...BoolStyleModel.styleProperties, + background_color: { + selector: '', + attribute: 'background-color', + default: null as any + }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, + font_weight: { + selector: '', + attribute: 'font-weight', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' + } + }; +} export class BoolModel extends CoreDescriptionModel { defaults(): Backbone.ObjectHash { @@ -13,6 +88,7 @@ export class BoolModel extends CoreDescriptionModel { ...super.defaults(), value: false, disabled: false, + style: null, _model_name: 'BoolModel' }; } @@ -23,6 +99,7 @@ export class CheckboxModel extends CoreDescriptionModel { return { ...super.defaults(), indent: true, + style: null, _view_name: 'CheckboxView', _model_name: 'CheckboxModel' }; @@ -177,7 +254,8 @@ export class ToggleButtonModel extends BoolModel { _model_name: 'ToggleButtonModel', tooltip: '', icon: '', - button_style: '' + button_style: '', + style: null }; } } @@ -291,6 +369,7 @@ export class ValidModel extends BoolModel { return { ...super.defaults(), readout: 'Invalid', + style: null, _view_name: 'ValidView', _model_name: 'ValidModel' }; diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 9efee0e5d5..49bf6a30b9 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -23,10 +23,40 @@ export class ButtonStyleModel extends StyleModel { attribute: 'background-color', default: null as any }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, font_weight: { selector: '', attribute: 'font-weight', default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' } }; } diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index ec59eab997..90c781e620 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -3,15 +3,117 @@ import { CoreDescriptionModel } from './widget_core'; -import { DescriptionView } from './widget_description'; +import { DescriptionStyleModel, DescriptionView } from './widget_description'; import { uuid } from './utils'; +import { JUPYTER_CONTROLS_VERSION } from './version'; + /** - * Class name for a combobox with an invlid value. + * Class name for a combobox with an invalid value. */ const INVALID_VALUE_CLASS = 'jpwidgets-invalidComboValue'; +export class StringStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'StringStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background_color: { + selector: '', + attribute: 'background-color', + default: null as any + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + } + }; +} + +export class LabelStyleModel extends StringStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'LabelStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...StringStyleModel.styleProperties, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, + font_weight: { + selector: '', + attribute: 'font-weight', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' + } + }; +} + +export class TextStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'TextStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background_color: { + selector: '.widget-input', + attribute: 'background-color', + default: null as any + }, + font_size: { + selector: '.widget-input', + attribute: 'font-size', + default: '' + }, + text_color: { + selector: '.widget-input', + attribute: 'color', + default: '' + } + }; +} + export class StringModel extends CoreDescriptionModel { defaults(): Backbone.ObjectHash { return { @@ -193,6 +295,7 @@ export class TextareaView extends StringView { this.textbox = document.createElement('textarea'); this.textbox.setAttribute('rows', '5'); this.textbox.id = this.label.htmlFor = uuid(); + this.textbox.classList.add('widget-input'); this.el.appendChild(this.textbox); this.update(); // Set defaults. @@ -338,6 +441,7 @@ export class TextView extends StringView { this.textbox = document.createElement('input'); this.textbox.setAttribute('type', this.inputType); this.textbox.id = this.label.htmlFor = uuid(); + this.textbox.classList.add('widget-input'); this.el.appendChild(this.textbox); this.update(); // Set defaults. diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json index d84d7c19f3..f42ecf3bf9 100644 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -8,7 +8,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "A semver requirement for namespace version containing the model.", "name": "_model_module_version", "type": "string" @@ -26,7 +26,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -229,6 +229,21 @@ "name": "justify_content", "type": "string" }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "inherit", + "initial", + "unset" + ], + "help": "The justify-items CSS attribute.", + "name": "justify_items", + "type": "string" + }, { "allow_none": true, "default": null, @@ -274,56 +289,30 @@ { "allow_none": true, "default": null, - "help": "The order CSS attribute.", - "name": "order", + "enum": ["contain", "cover", "fill", "scale-down", "none"], + "help": "The object-fit CSS attribute.", + "name": "object_fit", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow CSS attribute.", - "name": "overflow", + "help": "The object-position CSS attribute.", + "name": "object_position", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow-x CSS attribute.", - "name": "overflow_x", + "help": "The order CSS attribute.", + "name": "order", "type": "string" }, { "allow_none": true, "default": null, - "enum": [ - "visible", - "hidden", - "scroll", - "auto", - "inherit", - "initial", - "unset" - ], - "help": "The overflow-y CSS attribute.", - "name": "overflow_y", + "help": "The overflow CSS attribute.", + "name": "overflow", "type": "string" }, { @@ -366,12 +355,12 @@ "model": { "module": "@jupyter-widgets/base", "name": "LayoutModel", - "version": "1.1.0" + "version": "1.2.0" }, "view": { "module": "@jupyter-widgets/base", "name": "LayoutView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -392,7 +381,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -416,7 +405,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -457,17 +446,31 @@ "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", "name": "selected_index", "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "AccordionModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "AccordionView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -488,7 +491,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -506,7 +509,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -548,9 +551,23 @@ "name": "loop", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" } @@ -558,12 +575,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "AudioModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "AudioView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -584,7 +601,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -602,7 +619,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -625,13 +642,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -671,6 +681,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -681,12 +705,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "BoundedFloatTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -707,7 +731,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -725,7 +749,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -748,13 +772,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -793,6 +810,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -803,12 +834,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "BoundedIntTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -829,7 +860,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -847,7 +878,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -881,17 +912,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "BoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "BoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -912,7 +957,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -930,7 +975,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -962,7 +1007,7 @@ }, { "default": "", - "help": "Font-awesome icon name, without the 'fa-' prefix.", + "help": "Font-awesome icon names, without the 'fa-' prefix.", "name": "icon", "type": "string" }, @@ -981,8 +1026,16 @@ "widget": "ButtonStyle" }, { - "default": "", - "help": "Tooltip caption of the button.", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", "name": "tooltip", "type": "string" } @@ -990,12 +1043,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ButtonView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1007,7 +1060,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1025,7 +1078,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1044,21 +1097,64 @@ "type": "string" }, { - "default": "", + "allow_none": true, + "default": null, + "help": "Button text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, "help": "Button text font weight.", "name": "font_weight", "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text color.", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text decoration.", + "name": "text_decoration", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "ButtonStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -1079,7 +1175,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1097,7 +1193,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1114,13 +1210,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1145,7 +1234,21 @@ "help": "Styling customizations", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "_BoolStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": false, @@ -1157,12 +1260,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "CheckboxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "CheckboxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1183,7 +1286,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1201,7 +1304,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1224,13 +1327,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1251,6 +1347,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "black", "help": "The color value.", @@ -1261,12 +1371,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ColorPickerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ColorPickerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1287,13 +1397,13 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" }, { - "default": "ControllerAxisModel", + "default": "ComboboxModel", "help": "", "name": "_model_name", "type": "string" @@ -1305,17 +1415,41 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" }, { - "default": "ControllerAxisView", + "default": "ComboboxView", "help": "", "name": "_view_name", "type": "string" }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": false, + "help": "If set, ensure value is in options. Implies continuous_update=False.", + "name": "ensure_option", + "type": "bool" + }, { "default": "reference to new instance", "help": "", @@ -1324,21 +1458,57 @@ "widget": "Layout" }, { - "default": 0.0, - "help": "The value of the axis.", + "default": [], + "help": "Dropdown options for the combobox", + "items": { + "type": "string" + }, + "name": "options", + "type": "array" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", "name": "value", - "type": "float" + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", - "name": "ControllerAxisModel", - "version": "1.4.0" + "name": "ComboboxModel", + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", - "name": "ControllerAxisView", - "version": "1.4.0" + "name": "ComboboxView", + "version": "1.5.0" } }, { @@ -1359,13 +1529,13 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" }, { - "default": "ControllerButtonModel", + "default": "ControllerAxisModel", "help": "", "name": "_model_name", "type": "string" @@ -1377,13 +1547,13 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" }, { - "default": "ControllerButtonView", + "default": "ControllerAxisView", "help": "", "name": "_view_name", "type": "string" @@ -1396,11 +1566,111 @@ "widget": "Layout" }, { - "default": false, - "help": "Whether the button is pressed.", - "name": "pressed", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "The value of the axis.", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ControllerAxisModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ControllerAxisView", + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ControllerButtonModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ControllerButtonView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": false, + "help": "Whether the button is pressed.", + "name": "pressed", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "The value of the button.", @@ -1411,12 +1681,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ControllerButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ControllerButtonView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1437,7 +1707,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1455,7 +1725,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1517,22 +1787,36 @@ "name": "name", "type": "string" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, { "default": 0.0, "help": "The last time the data from this gamepad was updated.", "name": "timestamp", "type": "float" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "ControllerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ControllerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1553,7 +1837,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1571,7 +1855,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1590,9 +1874,23 @@ "type": "reference", "widget": "Layout" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" } @@ -1600,12 +1898,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DOMWidgetModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1626,7 +1924,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1644,7 +1942,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1661,13 +1959,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -1688,6 +1979,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "allow_none": true, "default": null, @@ -1699,12 +2004,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DatePickerModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "DatePickerView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1716,7 +2021,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1734,7 +2039,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1755,12 +2060,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DescriptionStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -1772,7 +2077,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1790,7 +2095,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1818,12 +2123,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "DirectionalLinkModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1844,7 +2149,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -1871,7 +2176,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -1888,13 +2193,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -1921,17 +2219,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "DropdownModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "DropdownView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -1952,13 +2264,13 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" }, { - "default": "FloatLogSliderModel", + "default": "FileUploadModel", "help": "", "name": "_model_name", "type": "string" @@ -1970,28 +2282,29 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" }, { - "default": "FloatLogSliderView", + "default": "FileUploadView", "help": "", "name": "_view_name", "type": "string" }, { - "default": 10.0, - "help": "Base for the logarithm", - "name": "base", - "type": "float" + "default": "", + "help": "File types to accept, empty string for all", + "name": "accept", + "type": "string" }, { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the button.", + "name": "button_style", + "type": "string" }, { "default": "", @@ -1999,19 +2312,24 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, - "help": "Enable or disable user changes", + "help": "Enable or disable button", "name": "disabled", "type": "bool" }, + { + "default": "", + "help": "Error message", + "name": "error", + "type": "string" + }, + { + "default": "upload", + "help": "Font-awesome icon name, without the 'fa-' prefix.", + "name": "icon", + "type": "string" + }, { "default": "reference to new instance", "help": "", @@ -2020,65 +2338,48 @@ "widget": "Layout" }, { - "default": 4.0, - "help": "Max value for the exponent", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value for the exponent", - "name": "min", - "type": "float" + "default": false, + "help": "If True, allow for multiple files upload", + "name": "multiple", + "type": "bool" }, { - "default": "horizontal", - "enum": ["horizontal", "vertical"], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ButtonStyle" }, { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", "type": "bool" }, { - "default": ".3g", - "help": "Format for the readout", - "name": "readout_format", + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", "type": "string" }, { - "default": 0.1, - "help": "Minimum step in the exponent to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "default": 1.0, - "help": "Float value", + "default": [], + "help": "The file upload value", "name": "value", - "type": "float" + "type": "array" } ], "model": { "module": "@jupyter-widgets/controls", - "name": "FloatLogSliderModel", - "version": "1.4.0" + "name": "FileUploadModel", + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", - "name": "FloatLogSliderView", - "version": "1.4.0" + "name": "FileUploadView", + "version": "1.5.0" } }, { @@ -2099,13 +2400,13 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" }, { - "default": "FloatProgressModel", + "default": "FloatLogSliderModel", "help": "", "name": "_model_name", "type": "string" @@ -2117,24 +2418,28 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" }, { - "default": "ProgressView", + "default": "FloatLogSliderView", "help": "", "name": "_view_name", "type": "string" }, { - "allow_none": true, - "default": "", - "enum": ["success", "info", "warning", "danger", ""], - "help": "Use a predefined styling for the progess bar.", - "name": "bar_style", - "type": "string" + "default": 10.0, + "help": "Base for the logarithm", + "name": "base", + "type": "float" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" }, { "default": "", @@ -2143,11 +2448,10 @@ "type": "string" }, { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" }, { "default": "reference to new instance", @@ -2157,14 +2461,158 @@ "widget": "Layout" }, { - "default": 100.0, - "help": "Max value", + "default": 4.0, + "help": "Max value for the exponent", "name": "max", "type": "float" }, { "default": 0.0, - "help": "Min value", + "help": "Min value for the exponent", + "name": "min", + "type": "float" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": ".3g", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "default": 0.1, + "help": "Minimum step in the exponent to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 1.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatLogSliderModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatLogSliderView", + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatProgressModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ProgressView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the progess bar.", + "name": "bar_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100.0, + "help": "Max value", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value", "name": "min", "type": "float" }, @@ -2182,6 +2630,20 @@ "type": "reference", "widget": "ProgressStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2192,12 +2654,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatProgressModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ProgressView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2218,7 +2680,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2236,7 +2698,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2259,13 +2721,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2323,6 +2778,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [0.0, 1.0], "help": "Tuple of (lower, upper) bounds", @@ -2333,12 +2802,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2359,7 +2828,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2377,7 +2846,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2400,13 +2869,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2464,6 +2926,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2474,12 +2950,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2500,7 +2976,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2518,7 +2994,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2541,13 +3017,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -2575,6 +3044,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0.0, "help": "Float value", @@ -2585,12 +3068,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "FloatTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "FloatTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2611,7 +3094,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2629,7 +3112,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2663,17 +3146,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "GridBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "GridBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2694,7 +3191,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2712,7 +3209,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2746,17 +3243,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "HBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "HBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2777,7 +3288,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2795,7 +3306,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2812,13 +3323,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -2834,10 +3338,24 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "_StringStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": "", @@ -2849,12 +3367,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "HTMLMathModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "HTMLMathView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2875,7 +3393,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2893,7 +3411,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -2910,13 +3428,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -2932,27 +3443,41 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "_StringStyle" }, { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "HTMLModel", - "version": "1.4.0" - }, + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "HTMLModel", + "version": "1.5.0" + }, "view": { "module": "@jupyter-widgets/controls", "name": "HTMLView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -2973,7 +3498,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -2991,7 +3516,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3010,7 +3535,7 @@ }, { "default": "", - "help": "Height of the image in pixels.", + "help": "Height of the image in pixels. Use layout.height for styling the widget.", "name": "height", "type": "string" }, @@ -3021,15 +3546,29 @@ "type": "reference", "widget": "Layout" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" }, { "default": "", - "help": "Width of the image in pixels.", + "help": "Width of the image in pixels. Use layout.width for styling the widget.", "name": "width", "type": "string" } @@ -3037,12 +3576,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ImageModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ImageView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3063,7 +3602,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3081,7 +3620,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3105,13 +3644,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -3145,6 +3677,20 @@ "type": "reference", "widget": "ProgressStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3155,12 +3701,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntProgressModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ProgressView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3181,7 +3727,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3199,7 +3745,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3222,13 +3768,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3286,6 +3825,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [0, 1], "help": "Tuple of (lower, upper) bounds", @@ -3296,12 +3849,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3322,7 +3875,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3340,7 +3893,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3363,13 +3916,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3427,6 +3973,20 @@ "type": "reference", "widget": "SliderStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3437,12 +3997,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3463,7 +4023,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3481,7 +4041,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3504,13 +4064,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3537,6 +4090,20 @@ "type": "reference", "widget": "DescriptionStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": 0, "help": "Int value", @@ -3547,12 +4114,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "IntTextModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "IntTextView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3573,7 +4140,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3591,7 +4158,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3608,13 +4175,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": "reference to new instance", "help": "", @@ -3630,10 +4190,24 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "LabelStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": "", @@ -3645,12 +4219,124 @@ "model": { "module": "@jupyter-widgets/controls", "name": "LabelModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "LabelView", - "version": "1.4.0" + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "LabelStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.2.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background color", + "name": "background_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font weight.", + "name": "font_weight", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text decoration.", + "name": "text_decoration", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "LabelStyleModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "1.2.0" } }, { @@ -3662,7 +4348,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3680,7 +4366,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3708,12 +4394,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "LinkModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": null, - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3734,7 +4420,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3752,7 +4438,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3775,13 +4461,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3803,10 +4482,24 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": "", @@ -3818,12 +4511,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "PasswordModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "PasswordView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3844,7 +4537,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3855,18 +4548,6 @@ "name": "_model_name", "type": "string" }, - { - "default": false, - "help": "Whether the control is currently playing.", - "name": "_playing", - "type": "bool" - }, - { - "default": false, - "help": "Whether the control will repeat in a continous loop.", - "name": "_repeat", - "type": "bool" - }, { "default": "@jupyter-widgets/controls", "help": "", @@ -3874,7 +4555,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -3891,13 +4572,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -3906,7 +4580,7 @@ }, { "default": 100, - "help": "The maximum value for the play control.", + "help": "The time between two animation steps (ms).", "name": "interval", "type": "int" }, @@ -3929,6 +4603,18 @@ "name": "min", "type": "int" }, + { + "default": false, + "help": "Whether the control is currently playing.", + "name": "playing", + "type": "bool" + }, + { + "default": false, + "help": "Whether the control will repeat in a continous loop.", + "name": "repeat", + "type": "bool" + }, { "default": true, "help": "Show the repeat toggle button in the widget.", @@ -3949,21 +4635,35 @@ "widget": "DescriptionStyle" }, { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], "model": { "module": "@jupyter-widgets/controls", "name": "PlayModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "PlayView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -3975,7 +4675,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -3993,7 +4693,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4021,12 +4721,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ProgressStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -4047,7 +4747,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4074,7 +4774,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4091,13 +4791,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4124,17 +4817,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "RadioButtonsModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "RadioButtonsView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4155,7 +4862,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4182,7 +4889,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4199,13 +4906,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4238,17 +4938,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4269,7 +4983,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4296,7 +5010,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4313,13 +5027,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4354,17 +5061,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectMultipleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectMultipleView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4385,7 +5106,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4412,7 +5133,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4435,13 +5156,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4480,17 +5194,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectionRangeSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectionRangeSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4511,7 +5239,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4538,7 +5266,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4561,13 +5289,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4606,17 +5327,31 @@ "name": "style", "type": "reference", "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "SelectionSliderModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "SelectionSliderView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4628,7 +5363,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4646,7 +5381,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4674,12 +5409,199 @@ "model": { "module": "@jupyter-widgets/controls", "name": "SliderStyleModel", - "version": "1.4.0" + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "1.2.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "StackedModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": {}, + "help": "Titles of the pages", + "name": "_titles", + "type": "object" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StackedView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": 0, + "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", + "name": "selected_index", + "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "StackedModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "StackedView", + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "StringStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.2.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background color", + "name": "background_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "StringStyleModel", + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -4700,7 +5622,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4724,7 +5646,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4765,17 +5687,31 @@ "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", "name": "selected_index", "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "TabModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "TabView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -4796,7 +5732,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4814,7 +5750,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4837,13 +5773,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4865,27 +5794,118 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "TextModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "TextView", + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "TextStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.2.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background color", + "name": "background_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" }, { - "default": "", - "help": "String value", - "name": "value", + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", - "name": "TextModel", - "version": "1.4.0" + "name": "TextStyleModel", + "version": "1.5.0" }, "view": { - "module": "@jupyter-widgets/controls", - "name": "TextView", - "version": "1.4.0" + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "1.2.0" } }, { @@ -4906,7 +5926,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -4924,7 +5944,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -4947,13 +5967,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -4982,10 +5995,24 @@ }, { "default": "reference to new instance", - "help": "Styling customizations", + "help": "", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": "", @@ -4997,12 +6024,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "TextareaModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "TextareaView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5023,7 +6050,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5041,7 +6068,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5065,13 +6092,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -5096,11 +6116,19 @@ "help": "Styling customizations", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "ToggleButtonStyle" }, { - "default": "", - "help": "Tooltip caption of the toggle button.", + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", "name": "tooltip", "type": "string" }, @@ -5114,12 +6142,124 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonView", - "version": "1.4.0" + "version": "1.5.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ToggleButtonStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.2.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background color", + "name": "background_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font weight.", + "name": "font_weight", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text color", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text decoration.", + "name": "text_decoration", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonStyleModel", + "version": "1.5.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "1.2.0" } }, { @@ -5140,7 +6280,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5167,7 +6307,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5192,13 +6332,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes", @@ -5235,6 +6368,20 @@ "type": "reference", "widget": "ToggleButtonsStyle" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": [], "help": "Tooltips for each button.", @@ -5248,12 +6395,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5265,7 +6412,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5283,7 +6430,7 @@ "type": "string" }, { - "default": "1.1.0", + "default": "1.2.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5316,12 +6463,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ToggleButtonsStyleModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/base", "name": "StyleView", - "version": "1.1.0" + "version": "1.2.0" } }, { @@ -5342,7 +6489,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5360,7 +6507,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5394,17 +6541,31 @@ "name": "layout", "type": "reference", "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { "module": "@jupyter-widgets/controls", "name": "VBoxModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "VBoxView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5425,7 +6586,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5443,7 +6604,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5460,13 +6621,6 @@ "name": "description", "type": "string" }, - { - "allow_none": true, - "default": null, - "help": "Tooltip for the description (defaults to description).", - "name": "description_tooltip", - "type": "string" - }, { "default": false, "help": "Enable or disable user changes.", @@ -5491,7 +6645,21 @@ "help": "Styling customizations", "name": "style", "type": "reference", - "widget": "DescriptionStyle" + "widget": "_BoolStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" }, { "default": false, @@ -5503,12 +6671,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "ValidModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "ValidView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5529,7 +6697,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_model_module_version", "type": "string" @@ -5547,7 +6715,7 @@ "type": "string" }, { - "default": "1.4.0", + "default": "1.5.0", "help": "", "name": "_view_module_version", "type": "string" @@ -5595,9 +6763,23 @@ "name": "loop", "type": "bool" }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, { "default": "b''", - "help": "The media data as a byte string.", + "help": "The media data as a memory view of bytes.", "name": "value", "type": "bytes" }, @@ -5611,12 +6793,12 @@ "model": { "module": "@jupyter-widgets/controls", "name": "VideoModel", - "version": "1.4.0" + "version": "1.5.0" }, "view": { "module": "@jupyter-widgets/controls", "name": "VideoView", - "version": "1.4.0" + "version": "1.5.0" } }, { @@ -5687,6 +6869,20 @@ }, "name": "outputs", "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" } ], "model": { @@ -5699,5 +6895,68 @@ "name": "OutputView", "version": "1.0.0" } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.5.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "BoolStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.2.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background color", + "name": "background_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + } + ], + "model": { + "module": "_", + "name": "o", + "version": "B" + }, + "view": { + "module": "o", + "name": "S", + "version": "l" + } } ] diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 4b75dd3c52..0e1dec33c4 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -196,7 +196,13 @@ Attribute | Type | Default | Help `_view_module_version` | string | `'1.2.0'` | `_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button -`font_weight` | string | `''` | Button text font weight. +`font_family` | `null` or string | `null` | Button text font family. +`font_size` | `null` or string | `null` | Button text font size. +`font_style` | `null` or string | `null` | Button text font style. +`font_variant` | `null` or string | `null` | Button text font variant. +`font_weight` | `null` or string | `null` | Button text font weight. +`text_color` | `null` or string | `null` | Button text color. +`text_decoration` | `null` or string | `null` | Button text decoration. ### CheckboxModel (@jupyter-widgets/controls, 1.5.0); CheckboxView (@jupyter-widgets/controls, 1.5.0) @@ -213,7 +219,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `indent` | boolean | `true` | Indent the control to align with other controls with a description. `layout` | reference to Layout widget | reference to new instance | -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value @@ -256,7 +262,7 @@ Attribute | Type | Default | Help `layout` | reference to Layout widget | reference to new instance | `options` | array of string | `[]` | Dropdown options for the combobox `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -590,7 +596,7 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _StringStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -609,7 +615,7 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _StringStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -742,11 +748,31 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to LabelStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### LabelStyleModel (@jupyter-widgets/controls, 1.5.0); StyleView (@jupyter-widgets/base, 1.2.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'1.5.0'` | +`_model_name` | string | `'LabelStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'1.2.0'` | +`_view_name` | string | `'StyleView'` | +`background_color` | `null` or string | `null` | Background color +`description_width` | string | `''` | Width of the description to the side of the control. +`font_family` | `null` or string | `null` | Label text font family. +`font_size` | `null` or string | `null` | Text font size. +`font_style` | `null` or string | `null` | Label text font style. +`font_variant` | `null` or string | `null` | Label text font variant. +`font_weight` | `null` or string | `null` | Label text font weight. +`text_color` | `null` or string | `null` | Text color +`text_decoration` | `null` or string | `null` | Label text decoration. + ### LinkModel (@jupyter-widgets/controls, 1.5.0); None (@jupyter-widgets/controls, 1.5.0) Attribute | Type | Default | Help @@ -776,7 +802,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -960,6 +986,21 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. +### StringStyleModel (@jupyter-widgets/controls, 1.5.0); StyleView (@jupyter-widgets/base, 1.2.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'1.5.0'` | +`_model_name` | string | `'StringStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'1.2.0'` | +`_view_name` | string | `'StyleView'` | +`background_color` | `null` or string | `null` | Background color +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### TabModel (@jupyter-widgets/controls, 1.5.0); TabView (@jupyter-widgets/controls, 1.5.0) Attribute | Type | Default | Help @@ -995,11 +1036,26 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### TextStyleModel (@jupyter-widgets/controls, 1.5.0); StyleView (@jupyter-widgets/base, 1.2.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'1.5.0'` | +`_model_name` | string | `'TextStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'1.2.0'` | +`_view_name` | string | `'StyleView'` | +`background_color` | `null` or string | `null` | Background color +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### TextareaModel (@jupyter-widgets/controls, 1.5.0); TextareaView (@jupyter-widgets/controls, 1.5.0) Attribute | Type | Default | Help @@ -1017,7 +1073,7 @@ Attribute | Type | Default | Help `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed `rows` | `null` or number (integer) | `null` | The number of rows to display. -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -1038,11 +1094,31 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `icon` | string | `''` | Font-awesome icon. `layout` | reference to Layout widget | reference to new instance | -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to ToggleButtonStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value +### ToggleButtonStyleModel (@jupyter-widgets/controls, 1.5.0); StyleView (@jupyter-widgets/base, 1.2.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'1.5.0'` | +`_model_name` | string | `'ToggleButtonStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'1.2.0'` | +`_view_name` | string | `'StyleView'` | +`background_color` | `null` or string | `null` | Background color +`description_width` | string | `''` | Width of the description to the side of the control. +`font_family` | `null` or string | `null` | Toggle button text font family. +`font_size` | `null` or string | `null` | Toggle button text font size. +`font_style` | `null` or string | `null` | Toggle button text font style. +`font_variant` | `null` or string | `null` | Toggle button text font variant. +`font_weight` | `null` or string | `null` | Toggle button text font weight. +`text_color` | `null` or string | `null` | Toggle button text color +`text_decoration` | `null` or string | `null` | Toggle button text decoration. + ### ToggleButtonsModel (@jupyter-widgets/controls, 1.5.0); ToggleButtonsView (@jupyter-widgets/controls, 1.5.0) Attribute | Type | Default | Help @@ -1112,7 +1188,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `layout` | reference to Layout widget | reference to new instance | `readout` | string | `'Invalid'` | Message displayed when the value is False -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value @@ -1156,3 +1232,16 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. +### o (_, B); S (o, l) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'1.5.0'` | +`_model_name` | string | `'BoolStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'1.2.0'` | +`_view_name` | string | `'StyleView'` | +`background_color` | `null` or string | `null` | Background color +`description_width` | string | `''` | Width of the description to the side of the control. + diff --git a/tests/test_boolstyle.ipynb b/tests/test_boolstyle.ipynb new file mode 100644 index 0000000000..96d07b080c --- /dev/null +++ b/tests/test_boolstyle.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Checkbox, ToggleButton, Valid\n", + "tb = ToggleButton(description=\"ToggleButton\")\n", + "tb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.background_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_weight = \"bold\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_family = \"bitstream\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "v = Valid(True)\n", + "v.style.background_color = \"palegoldenrod\"\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "v.value = False" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c = Checkbox(description=\"Chekbox\")\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c.style.background_color = \"azure\"\n", + "c.layout.width = \"150px\"\n", + "c.layout.padding = \"0px\"\n", + "c.layout.border = \"1px solid black\"\n", + "c.style.description_width = \"5px\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb new file mode 100644 index 0000000000..967b74faf8 --- /dev/null +++ b/tests/test_buttonstyle.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Button\n", + "b = Button(description=\"Button\")\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.button_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_weight = \"bold\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_variant = \"small-caps\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_family = \"bitstream\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/test_textstyle.ipynb b/tests/test_textstyle.ipynb new file mode 100644 index 0000000000..845b309fec --- /dev/null +++ b/tests/test_textstyle.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Label, HTML, Text, Textarea, Combobox, VBox" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l = Label(\"Label\")\n", + "h = HTML(\"

HTML Paragraph

\")\n", + "t = Text(\"Text input\")\n", + "ta = Textarea(\"Text area\")\n", + "c = Combobox(options=[\"First\", \"Second\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "VBox((l, h, t, ta, c))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.background_color = \"azure\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.text_color = \"midnightblue\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "h.style.background_color = \"lawngreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t.style.text_color = \"red\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t.style.background_color = \"lightgray\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ta.style.background_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ta.style.font_size = \"1.5em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c.style.text_color = \"purple\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 663496a25f6ffb581db9c8cd657ccb238a26debe Mon Sep 17 00:00:00 2001 From: Zerline Date: Sat, 25 Jan 2020 22:55:39 +0100 Subject: [PATCH 14/30] Style --- packages/base/src/widget_style.ts | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/packages/base/src/widget_style.ts b/packages/base/src/widget_style.ts index 8d5c749aa4..7980c32054 100644 --- a/packages/base/src/widget_style.ts +++ b/packages/base/src/widget_style.ts @@ -9,21 +9,6 @@ import { WidgetModel, WidgetView, DOMWidgetView } from './widget'; * Three functions to deal with some CSS attributes * to make them easier to use. */ -export function bold_to_weight(value: boolean): string | null { - if (value == true) return 'bold'; - if (value == false) return 'normal'; - return null; -} -export function italic_to_style(value: boolean): string | null { - if (value == true) return 'italic'; - if (value == false) return 'normal'; - return null; -} -export function underline_to_decoration(value: boolean): string | null { - if (value == true) return 'underline'; - if (value == false) return 'none'; - return null; -} export class StyleModel extends WidgetModel { defaults(): Backbone.ObjectHash { From dbdefff18b651bef0b0446aaec6844838a2a3364 Mon Sep 17 00:00:00 2001 From: Zerline Date: Thu, 30 Jan 2020 19:06:34 +0100 Subject: [PATCH 15/30] Replace 'background-color' with 'background', which is more general and will permit images. (also stripped out remaining code in widget_button.ts). --- ipywidgets/widgets/widget_bool.py | 2 +- ipywidgets/widgets/widget_string.py | 2 +- packages/controls/src/widget_bool.ts | 8 ++--- packages/controls/src/widget_button.ts | 49 ++------------------------ packages/controls/src/widget_string.ts | 8 ++--- tests/test_boolstyle.ipynb | 6 ++-- tests/test_textstyle.ipynb | 8 ++--- 7 files changed, 19 insertions(+), 64 deletions(-) diff --git a/ipywidgets/widgets/widget_bool.py b/ipywidgets/widgets/widget_bool.py index 0202e2ee67..2f168a353a 100644 --- a/ipywidgets/widgets/widget_bool.py +++ b/ipywidgets/widgets/widget_bool.py @@ -17,7 +17,7 @@ class _BoolStyle(DescriptionStyle, CoreWidget): """_Bool widget style.""" _model_name = Unicode('BoolStyleModel').tag(sync=True) - background_color = Color(None, allow_none=True, help="Background color").tag(sync=True) + background = Unicode(None, allow_none=True, help="Background specifications.").tag(sync=True) @register diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index 78c44a3c72..d546aa4b15 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -19,7 +19,7 @@ class _StringStyle(DescriptionStyle, CoreWidget): """Text input style widget.""" _model_name = Unicode('StringStyleModel').tag(sync=True) - background_color = Color(None, allow_none=True, help="Background color").tag(sync=True) + background = Unicode(None, allow_none=True, help="Background specifications.").tag(sync=True) font_size = Unicode(None, allow_none=True, help="Text font size.").tag(sync=True) text_color = Color(None, allow_none=True, help="Text color").tag(sync=True) diff --git a/packages/controls/src/widget_bool.ts b/packages/controls/src/widget_bool.ts index 9fb10ff453..9cd1050f06 100644 --- a/packages/controls/src/widget_bool.ts +++ b/packages/controls/src/widget_bool.ts @@ -21,9 +21,9 @@ export class BoolStyleModel extends DescriptionStyleModel { public static styleProperties = { ...DescriptionStyleModel.styleProperties, - background_color: { + background: { selector: '', - attribute: 'background-color', + attribute: 'background', default: null as any } }; @@ -39,9 +39,9 @@ export class ToggleButtonStyleModel extends BoolStyleModel { public static styleProperties = { ...BoolStyleModel.styleProperties, - background_color: { + background: { selector: '', - attribute: 'background-color', + attribute: 'background', default: null as any }, font_family: { diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 093e7a3c22..d8408fda82 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -1,14 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -import { - DOMWidgetView, - StyleModel, - StyleView, - bold_to_weight, - italic_to_style, - underline_to_decoration -} from '@jupyter-widgets/base'; +import { DOMWidgetView, StyleModel } from '@jupyter-widgets/base'; import { CoreDOMWidgetModel } from './widget_core'; @@ -20,10 +13,7 @@ export class ButtonStyleModel extends StyleModel { ...super.defaults(), _model_name: 'ButtonStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION, - _view_name: 'ButtonStyleView', - _view_module: '@jupyter-widgets/controls', - _view_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION }; } @@ -71,41 +61,6 @@ export class ButtonStyleModel extends StyleModel { }; } -export class ButtonStyleView extends StyleView { - /** - * Handles when a trait value changes - */ - handleChange(trait: string, value: any): void { - // should be synchronous so that we can measure later. - const parent = this.options.parent as DOMWidgetView; - if (parent) { - const ModelType = this.model.constructor as typeof StyleModel; - const styleProperties = ModelType.styleProperties; - const attribute = styleProperties[trait].attribute; - const selector = styleProperties[trait].selector; - const elements = selector - ? parent.el.querySelectorAll(selector) - : [parent.el]; - let transform = undefined; - if (trait == 'bold') transform = bold_to_weight; - if (trait == 'italic') transform = italic_to_style; - if (trait == 'underline') transform = underline_to_decoration; - if (transform !== undefined) value = transform(value); - if (value === null) { - for (let i = 0; i !== elements.length; ++i) { - elements[i].style.removeProperty(attribute); - } - } else { - for (let i = 0; i !== elements.length; ++i) { - elements[i].style.setProperty(attribute, value); - } - } - } else { - console.warn('Style not applied because a parent view does not exist'); - } - } -} - export class ButtonModel extends CoreDOMWidgetModel { defaults(): Backbone.ObjectHash { return { diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index 90c781e620..2596da095a 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -26,9 +26,9 @@ export class StringStyleModel extends DescriptionStyleModel { public static styleProperties = { ...DescriptionStyleModel.styleProperties, - background_color: { + background: { selector: '', - attribute: 'background-color', + attribute: 'background', default: null as any }, font_size: { @@ -96,9 +96,9 @@ export class TextStyleModel extends DescriptionStyleModel { public static styleProperties = { ...DescriptionStyleModel.styleProperties, - background_color: { + background: { selector: '.widget-input', - attribute: 'background-color', + attribute: 'background', default: null as any }, font_size: { diff --git a/tests/test_boolstyle.ipynb b/tests/test_boolstyle.ipynb index 96d07b080c..95fa2fbddd 100644 --- a/tests/test_boolstyle.ipynb +++ b/tests/test_boolstyle.ipynb @@ -17,7 +17,7 @@ "metadata": {}, "outputs": [], "source": [ - "tb.style.background_color = \"linen\"" + "tb.style.background = \"linen\"" ] }, { @@ -81,7 +81,7 @@ "outputs": [], "source": [ "v = Valid(True)\n", - "v.style.background_color = \"palegoldenrod\"\n", + "v.style.background = \"palegoldenrod\"\n", "v" ] }, @@ -110,7 +110,7 @@ "metadata": {}, "outputs": [], "source": [ - "c.style.background_color = \"azure\"\n", + "c.style.background = \"azure\"\n", "c.layout.width = \"150px\"\n", "c.layout.padding = \"0px\"\n", "c.layout.border = \"1px solid black\"\n", diff --git a/tests/test_textstyle.ipynb b/tests/test_textstyle.ipynb index 845b309fec..f56555efa2 100644 --- a/tests/test_textstyle.ipynb +++ b/tests/test_textstyle.ipynb @@ -37,7 +37,7 @@ "metadata": {}, "outputs": [], "source": [ - "l.style.background_color = \"azure\"" + "l.style.background = \"azure\"" ] }, { @@ -73,7 +73,7 @@ "metadata": {}, "outputs": [], "source": [ - "h.style.background_color = \"lawngreen\"" + "h.style.background = \"lawngreen\"" ] }, { @@ -91,7 +91,7 @@ "metadata": {}, "outputs": [], "source": [ - "t.style.background_color = \"lightgray\"" + "t.style.background = \"lightgray\"" ] }, { @@ -100,7 +100,7 @@ "metadata": {}, "outputs": [], "source": [ - "ta.style.background_color = \"linen\"" + "ta.style.background = \"linen\"" ] }, { From 111bde3b87d7fadb3ae4b2eb2f04f71e153ac4ef Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 3 Apr 2020 14:38:58 +0200 Subject: [PATCH 16/30] 1 line bug in Markdown schema file. --- packages/schema/jupyterwidgetmodels.latest.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index f4b51c7e08..6cf1138532 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -186,9 +186,6 @@ Attribute | Type | Default | Help `tooltip` | `null` or string | `null` | A tooltip caption. ### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); ButtonStyleView (@jupyter-widgets/controls, 2.0.0) -======= -### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) ->>>>>>> master Attribute | Type | Default | Help -----------------|------------------|------------------|---- From bd0fb625d3964b39b5613eb65e6b04fa0ae81e49 Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 10 Jan 2020 15:30:19 +0100 Subject: [PATCH 17/30] Adding a few simple CSS attributes to buttons, text inputs, bool inputs. Replace 'background-color' with 'background', which is more general and will permit images. --- ipywidgets/widgets/widget_bool.py | 26 +- ipywidgets/widgets/widget_button.py | 13 +- ipywidgets/widgets/widget_string.py | 38 +- packages/base/src/widget_style.ts | 5 + packages/controls/src/widget_bool.ts | 85 +- packages/controls/src/widget_button.ts | 104 +- packages/controls/src/widget_string.ts | 108 +- .../schema/jupyterwidgetmodels.latest.json | 6623 ----------------- packages/schema/jupyterwidgetmodels.latest.md | 117 +- tests/test_boolstyle.ipynb | 142 + tests/test_buttonstyle.ipynb | 108 + tests/test_textstyle.ipynb | 146 + 12 files changed, 863 insertions(+), 6652 deletions(-) delete mode 100644 packages/schema/jupyterwidgetmodels.latest.json create mode 100644 tests/test_boolstyle.ipynb create mode 100644 tests/test_buttonstyle.ipynb create mode 100644 tests/test_textstyle.ipynb diff --git a/ipywidgets/widgets/widget_bool.py b/ipywidgets/widgets/widget_bool.py index e6ecede30b..2f168a353a 100644 --- a/ipywidgets/widgets/widget_bool.py +++ b/ipywidgets/widgets/widget_bool.py @@ -6,17 +6,38 @@ Represents a boolean using a widget. """ -from .widget_description import DescriptionWidget +from .widget_description import DescriptionStyle, DescriptionWidget from .widget_core import CoreWidget from .valuewidget import ValueWidget -from .widget import register +from .widget import register, widget_serialization +from .trait_types import Color, InstanceDict from traitlets import Unicode, Bool, CaselessStrEnum +class _BoolStyle(DescriptionStyle, CoreWidget): + """_Bool widget style.""" + _model_name = Unicode('BoolStyleModel').tag(sync=True) + background = Unicode(None, allow_none=True, help="Background specifications.").tag(sync=True) + + +@register +class ToggleButtonStyle(_BoolStyle, CoreWidget): + """ToggleButton widget style.""" + _model_name = Unicode('ToggleButtonStyleModel').tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Toggle button text font family.").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Toggle button text font size.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Toggle button text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Toggle button text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Toggle button text font weight.").tag(sync=True) + text_color = Color(None, allow_none=True, help="Toggle button text color").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Toggle button text decoration.").tag(sync=True) + + class _Bool(DescriptionWidget, ValueWidget, CoreWidget): """A base class for creating widgets that represent booleans.""" value = Bool(False, help="Bool value").tag(sync=True) disabled = Bool(False, help="Enable or disable user changes.").tag(sync=True) + style = InstanceDict(_BoolStyle, help="Styling customizations").tag(sync=True, **widget_serialization) def __init__(self, value=None, **kwargs): if value is not None: @@ -65,6 +86,7 @@ class ToggleButton(_Bool): button_style = CaselessStrEnum( values=['primary', 'success', 'info', 'warning', 'danger', ''], default_value='', help="""Use a predefined styling for the button.""").tag(sync=True) + style = InstanceDict(ToggleButtonStyle, help="Styling customizations").tag(sync=True, **widget_serialization) @register diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index e2fb3387ac..5629e0fc57 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -12,6 +12,7 @@ from .widget_core import CoreWidget from .widget_style import Style from .trait_types import Color, InstanceDict +from .._version import __jupyter_widgets_controls_version__ from traitlets import Unicode, Bool, CaselessStrEnum, Instance, validate, default import warnings @@ -21,8 +22,18 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) + _view_name = Unicode('ButtonStyleView').tag(sync=True) + _view_module = Unicode('@jupyter-widgets/controls').tag(sync=True) + _view_module_version = Unicode(__jupyter_widgets_controls_version__).tag(sync=True) + bold = Bool(None, allow_none=True, help="Button text bold.").tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) - font_weight = Unicode(help="Button text font weight.").tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Button text font size.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Button text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Button text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Button text font weight.").tag(sync=True) + text_color = Unicode(None, allow_none=True, help="Button text color.").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Button text decoration.").tag(sync=True) @register diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index 8c54cfcb01..d546aa4b15 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -6,15 +6,41 @@ Represents a unicode string using a widget. """ -from .widget_description import DescriptionWidget +from .widget_description import DescriptionStyle, DescriptionWidget from .valuewidget import ValueWidget -from .widget import CallbackDispatcher, register +from .widget import CallbackDispatcher, register, widget_serialization from .widget_core import CoreWidget -from .trait_types import TypedTuple +from .trait_types import Color, InstanceDict, TypedTuple from traitlets import Unicode, Bool, Int from warnings import warn +@register +class _StringStyle(DescriptionStyle, CoreWidget): + """Text input style widget.""" + _model_name = Unicode('StringStyleModel').tag(sync=True) + background = Unicode(None, allow_none=True, help="Background specifications.").tag(sync=True) + font_size = Unicode(None, allow_none=True, help="Text font size.").tag(sync=True) + text_color = Color(None, allow_none=True, help="Text color").tag(sync=True) + + +@register +class LabelStyle(_StringStyle, CoreWidget): + """Label style widget.""" + _model_name = Unicode('LabelStyleModel').tag(sync=True) + font_family = Unicode(None, allow_none=True, help="Label text font family.").tag(sync=True) + font_style = Unicode(None, allow_none=True, help="Label text font style.").tag(sync=True) + font_variant = Unicode(None, allow_none=True, help="Label text font variant.").tag(sync=True) + font_weight = Unicode(None, allow_none=True, help="Label text font weight.").tag(sync=True) + text_decoration = Unicode(None, allow_none=True, help="Label text decoration.").tag(sync=True) + + +@register +class TextStyle(_StringStyle, CoreWidget): + """Text input style widget.""" + _model_name = Unicode('TextStyleModel').tag(sync=True) + + class _String(DescriptionWidget, ValueWidget, CoreWidget): """Base class used to create widgets that represent a string.""" @@ -24,7 +50,7 @@ class _String(DescriptionWidget, ValueWidget, CoreWidget): # the text, not the bottom margin. See the last paragraph of # https://www.w3.org/TR/CSS2/visudet.html#leading placeholder = Unicode('\u200b', help="Placeholder text to display when nothing has been typed").tag(sync=True) - + style = InstanceDict(_StringStyle).tag(sync=True, **widget_serialization) def __init__(self, value=None, **kwargs): if value is not None: @@ -33,7 +59,6 @@ def __init__(self, value=None, **kwargs): _model_name = Unicode('StringModel').tag(sync=True) - @register class HTML(_String): """Renders the string `value` as HTML.""" @@ -56,6 +81,7 @@ class Label(_String): """ _view_name = Unicode('LabelView').tag(sync=True) _model_name = Unicode('LabelModel').tag(sync=True) + style = InstanceDict(LabelStyle).tag(sync=True, **widget_serialization) @register @@ -66,6 +92,7 @@ class Textarea(_String): rows = Int(None, allow_none=True, help="The number of rows to display.").tag(sync=True) disabled = Bool(False, help="Enable or disable user changes").tag(sync=True) continuous_update = Bool(True, help="Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.").tag(sync=True) + style = InstanceDict(TextStyle).tag(sync=True, **widget_serialization) @register class Text(_String): @@ -74,6 +101,7 @@ class Text(_String): _model_name = Unicode('TextModel').tag(sync=True) disabled = Bool(False, help="Enable or disable user changes").tag(sync=True) continuous_update = Bool(True, help="Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.").tag(sync=True) + style = InstanceDict(TextStyle).tag(sync=True, **widget_serialization) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/packages/base/src/widget_style.ts b/packages/base/src/widget_style.ts index ceb26e39c8..7980c32054 100644 --- a/packages/base/src/widget_style.ts +++ b/packages/base/src/widget_style.ts @@ -5,6 +5,11 @@ import { assign } from './utils'; import { WidgetModel, WidgetView, DOMWidgetView } from './widget'; +/** + * Three functions to deal with some CSS attributes + * to make them easier to use. + */ + export class StyleModel extends WidgetModel { defaults(): Backbone.ObjectHash { const Derived = this.constructor as typeof StyleModel; diff --git a/packages/controls/src/widget_bool.ts b/packages/controls/src/widget_bool.ts index 52a906da9a..55fe1ab7de 100644 --- a/packages/controls/src/widget_bool.ts +++ b/packages/controls/src/widget_bool.ts @@ -1,11 +1,86 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +import { DOMWidgetView } from '@jupyter-widgets/base'; + import { CoreDescriptionModel } from './widget_core'; -import { DescriptionView } from './widget_description'; +import { DescriptionStyleModel, DescriptionView } from './widget_description'; -import { DOMWidgetView } from '@jupyter-widgets/base'; +import { JUPYTER_CONTROLS_VERSION } from './version'; + +export class BoolStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'BoolStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background: { + selector: '', + attribute: 'background', + default: null as any + } + }; +} + +export class ToggleButtonStyleModel extends BoolStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'ToggleButtonStyleModel' + }; + } + + public static styleProperties = { + ...BoolStyleModel.styleProperties, + background: { + selector: '', + attribute: 'background', + default: null as any + }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, + font_weight: { + selector: '', + attribute: 'font-weight', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' + } + }; +} export class BoolModel extends CoreDescriptionModel { defaults(): Backbone.ObjectHash { @@ -13,6 +88,7 @@ export class BoolModel extends CoreDescriptionModel { ...super.defaults(), value: false, disabled: false, + style: null, _model_name: 'BoolModel' }; } @@ -23,6 +99,7 @@ export class CheckboxModel extends CoreDescriptionModel { return { ...super.defaults(), indent: true, + style: null, _view_name: 'CheckboxView', _model_name: 'CheckboxModel' }; @@ -177,7 +254,8 @@ export class ToggleButtonModel extends BoolModel { _model_name: 'ToggleButtonModel', tooltip: '', icon: '', - button_style: '' + button_style: '', + style: null }; } } @@ -291,6 +369,7 @@ export class ValidModel extends BoolModel { return { ...super.defaults(), readout: 'Invalid', + style: null, _view_name: 'ValidView', _model_name: 'ValidModel' }; diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 9efee0e5d5..ac05c91b2e 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -13,19 +13,119 @@ export class ButtonStyleModel extends StyleModel { ...super.defaults(), _model_name: 'ButtonStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION, + _view_name: 'ButtonStyleView', + _view_module: '@jupyter-widgets/controls', + _view_module_version: JUPYTER_CONTROLS_VERSION + + public static styleProperties = { + button_color: { + selector: '', + attribute: 'background-color', + default: null as any + }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, + font_weight: { + selector: '', + attribute: 'font-weight', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' + } }; } public static styleProperties = { + bold: { + selector: '', + attribute: 'font-weight', + default: '' + }, button_color: { selector: '', attribute: 'background-color', default: null as any }, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, font_weight: { selector: '', - attribute: 'font-weight', + attribute: 'font-family', + default: '' + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + italic: { + selector: '', + attribute: 'font-style', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + underline: { + selector: '', + attribute: 'text-decoration', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', default: '' } }; diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index ec59eab997..2596da095a 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -3,15 +3,117 @@ import { CoreDescriptionModel } from './widget_core'; -import { DescriptionView } from './widget_description'; +import { DescriptionStyleModel, DescriptionView } from './widget_description'; import { uuid } from './utils'; +import { JUPYTER_CONTROLS_VERSION } from './version'; + /** - * Class name for a combobox with an invlid value. + * Class name for a combobox with an invalid value. */ const INVALID_VALUE_CLASS = 'jpwidgets-invalidComboValue'; +export class StringStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'StringStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background: { + selector: '', + attribute: 'background', + default: null as any + }, + font_size: { + selector: '', + attribute: 'font-size', + default: '' + }, + text_color: { + selector: '', + attribute: 'color', + default: '' + } + }; +} + +export class LabelStyleModel extends StringStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'LabelStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...StringStyleModel.styleProperties, + font_family: { + selector: '', + attribute: 'font-family', + default: '' + }, + font_style: { + selector: '', + attribute: 'font-style', + default: '' + }, + font_variant: { + selector: '', + attribute: 'font-variant', + default: '' + }, + font_weight: { + selector: '', + attribute: 'font-weight', + default: '' + }, + text_decoration: { + selector: '', + attribute: 'text-decoration', + default: '' + } + }; +} + +export class TextStyleModel extends DescriptionStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'TextStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION + }; + } + + public static styleProperties = { + ...DescriptionStyleModel.styleProperties, + background: { + selector: '.widget-input', + attribute: 'background', + default: null as any + }, + font_size: { + selector: '.widget-input', + attribute: 'font-size', + default: '' + }, + text_color: { + selector: '.widget-input', + attribute: 'color', + default: '' + } + }; +} + export class StringModel extends CoreDescriptionModel { defaults(): Backbone.ObjectHash { return { @@ -193,6 +295,7 @@ export class TextareaView extends StringView { this.textbox = document.createElement('textarea'); this.textbox.setAttribute('rows', '5'); this.textbox.id = this.label.htmlFor = uuid(); + this.textbox.classList.add('widget-input'); this.el.appendChild(this.textbox); this.update(); // Set defaults. @@ -338,6 +441,7 @@ export class TextView extends StringView { this.textbox = document.createElement('input'); this.textbox.setAttribute('type', this.inputType); this.textbox.id = this.label.htmlFor = uuid(); + this.textbox.classList.add('widget-input'); this.el.appendChild(this.textbox); this.update(); // Set defaults. diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json deleted file mode 100644 index 7c37698aa8..0000000000 --- a/packages/schema/jupyterwidgetmodels.latest.json +++ /dev/null @@ -1,6623 +0,0 @@ -[ - { - "attributes": [ - { - "default": "@jupyter-widgets/base", - "help": "The namespace for the model.", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "A semver requirement for namespace version containing the model.", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "LayoutModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "LayoutView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "flex-start", - "flex-end", - "center", - "space-between", - "space-around", - "space-evenly", - "stretch", - "inherit", - "initial", - "unset" - ], - "help": "The align-content CSS attribute.", - "name": "align_content", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "flex-start", - "flex-end", - "center", - "baseline", - "stretch", - "inherit", - "initial", - "unset" - ], - "help": "The align-items CSS attribute.", - "name": "align_items", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "auto", - "flex-start", - "flex-end", - "center", - "baseline", - "stretch", - "inherit", - "initial", - "unset" - ], - "help": "The align-self CSS attribute.", - "name": "align_self", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The border CSS attribute.", - "name": "border", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The bottom CSS attribute.", - "name": "bottom", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The display CSS attribute.", - "name": "display", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The flex CSS attribute.", - "name": "flex", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The flex-flow CSS attribute.", - "name": "flex_flow", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-area CSS attribute.", - "name": "grid_area", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-auto-columns CSS attribute.", - "name": "grid_auto_columns", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "column", - "row", - "row dense", - "column dense", - "inherit", - "initial", - "unset" - ], - "help": "The grid-auto-flow CSS attribute.", - "name": "grid_auto_flow", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-auto-rows CSS attribute.", - "name": "grid_auto_rows", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-column CSS attribute.", - "name": "grid_column", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-gap CSS attribute.", - "name": "grid_gap", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-row CSS attribute.", - "name": "grid_row", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-template-areas CSS attribute.", - "name": "grid_template_areas", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-template-columns CSS attribute.", - "name": "grid_template_columns", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The grid-template-rows CSS attribute.", - "name": "grid_template_rows", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The height CSS attribute.", - "name": "height", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "flex-start", - "flex-end", - "center", - "space-between", - "space-around", - "inherit", - "initial", - "unset" - ], - "help": "The justify-content CSS attribute.", - "name": "justify_content", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "flex-start", - "flex-end", - "center", - "inherit", - "initial", - "unset" - ], - "help": "The justify-items CSS attribute.", - "name": "justify_items", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The left CSS attribute.", - "name": "left", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The margin CSS attribute.", - "name": "margin", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The max-height CSS attribute.", - "name": "max_height", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The max-width CSS attribute.", - "name": "max_width", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The min-height CSS attribute.", - "name": "min_height", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The min-width CSS attribute.", - "name": "min_width", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "contain", - "cover", - "fill", - "scale-down", - "none" - ], - "help": "The object-fit CSS attribute.", - "name": "object_fit", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The object-position CSS attribute.", - "name": "object_position", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The order CSS attribute.", - "name": "order", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The overflow CSS attribute.", - "name": "overflow", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The padding CSS attribute.", - "name": "padding", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The right CSS attribute.", - "name": "right", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The top CSS attribute.", - "name": "top", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "enum": [ - "visible", - "hidden", - "inherit", - "initial", - "unset" - ], - "help": "The visibility CSS attribute.", - "name": "visibility", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The width CSS attribute.", - "name": "width", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/base", - "name": "LayoutModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "LayoutView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "AccordionModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "AccordionView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", - "name": "selected_index", - "type": "int" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "default": [], - "help": "Titles of the pages", - "items": { - "type": "string" - }, - "name": "titles", - "type": "array" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "AccordionModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "AccordionView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "AudioModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "AudioView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "When true, the audio starts when it's displayed", - "name": "autoplay", - "type": "bool" - }, - { - "default": true, - "help": "Specifies that audio controls should be displayed (such as a play/pause button etc)", - "name": "controls", - "type": "bool" - }, - { - "default": "mp3", - "help": "The format of the audio.", - "name": "format", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": true, - "help": "When true, the audio will start from the beginning after finishing", - "name": "loop", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "b''", - "help": "The media data as a memory view of bytes.", - "name": "value", - "type": "bytes" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "AudioModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "AudioView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "BoundedFloatTextModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FloatTextView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": false, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100.0, - "help": "Max value", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value", - "name": "min", - "type": "float" - }, - { - "allow_none": true, - "default": null, - "help": "Minimum step to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "Float value", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "BoundedFloatTextModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FloatTextView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "BoundedIntTextModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "IntTextView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": false, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100, - "help": "Max value", - "name": "max", - "type": "int" - }, - { - "default": 0, - "help": "Min value", - "name": "min", - "type": "int" - }, - { - "default": 1, - "help": "Minimum step to increment the value", - "name": "step", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "BoundedIntTextModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "IntTextView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "BoxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "BoxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "BoxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "BoxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ButtonModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ButtonView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "primary", - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the button.", - "name": "button_style", - "type": "string" - }, - { - "default": "", - "help": "Button label.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": "", - "help": "Font-awesome icon names, without the 'fa-' prefix.", - "name": "icon", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "ButtonStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ButtonModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ButtonView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ButtonStyleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StyleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Color of the button", - "name": "button_color", - "type": "string" - }, - { - "default": "", - "help": "Button text font weight.", - "name": "font_weight", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ButtonStyleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "CheckboxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "CheckboxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": true, - "help": "Indent the control to align with other controls with a description.", - "name": "indent", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": false, - "help": "Bool value", - "name": "value", - "type": "bool" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "CheckboxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "CheckboxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ColorPickerModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ColorPickerView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": false, - "help": "Display short version with just a color selector.", - "name": "concise", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "black", - "help": "The color value.", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ColorPickerModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ColorPickerView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ComboboxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ComboboxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": false, - "help": "If set, ensure value is in options. Implies continuous_update=False.", - "name": "ensure_option", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": [], - "help": "Dropdown options for the combobox", - "items": { - "type": "string" - }, - "name": "options", - "type": "array" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ComboboxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ComboboxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ControllerAxisModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ControllerAxisView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "The value of the axis.", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ControllerAxisModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ControllerAxisView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ControllerButtonModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ControllerButtonView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": false, - "help": "Whether the button is pressed.", - "name": "pressed", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "The value of the button.", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ControllerButtonModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ControllerButtonView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ControllerModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ControllerView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": [], - "help": "The axes on the gamepad.", - "items": { - "type": "reference", - "widget": "Axis" - }, - "name": "axes", - "type": "array" - }, - { - "default": [], - "help": "The buttons on the gamepad.", - "items": { - "type": "reference", - "widget": "Button" - }, - "name": "buttons", - "type": "array" - }, - { - "default": false, - "help": "Whether the gamepad is connected.", - "name": "connected", - "type": "bool" - }, - { - "default": 0, - "help": "The id number of the controller.", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "", - "help": "The name of the control mapping.", - "name": "mapping", - "type": "string" - }, - { - "default": "", - "help": "The name of the controller.", - "name": "name", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "default": 0.0, - "help": "The last time the data from this gamepad was updated.", - "name": "timestamp", - "type": "float" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ControllerModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ControllerView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "DOMWidgetModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Name of the view.", - "name": "_view_name", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "b''", - "help": "The media data as a memory view of bytes.", - "name": "value", - "type": "bytes" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "DOMWidgetModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": null, - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "DatePickerModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "DatePickerView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "", - "name": "value", - "type": "Date" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "DatePickerModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "DatePickerView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "DescriptionStyleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StyleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Width of the description to the side of the control.", - "name": "description_width", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "DescriptionStyleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "DirectionalLinkModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Name of the view.", - "name": "_view_name", - "type": "string" - }, - { - "default": [], - "help": "The source (widget, 'trait_name') pair", - "name": "source", - "type": "array" - }, - { - "default": [], - "help": "The target (widget, 'trait_name') pair", - "name": "target", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "DirectionalLinkModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": null, - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "DropdownModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "DropdownView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Selected index", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "DropdownModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "DropdownView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FileUploadModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FileUploadView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "File types to accept, empty string for all", - "name": "accept", - "type": "string" - }, - { - "default": "", - "enum": [ - "primary", - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the button.", - "name": "button_style", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable button", - "name": "disabled", - "type": "bool" - }, - { - "default": "", - "help": "Error message", - "name": "error", - "type": "string" - }, - { - "default": "upload", - "help": "Font-awesome icon name, without the 'fa-' prefix.", - "name": "icon", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": false, - "help": "If True, allow for multiple files upload", - "name": "multiple", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "ButtonStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": [], - "help": "The file upload value", - "items": { - "type": "object" - }, - "name": "value", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FileUploadModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FileUploadView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FloatLogSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FloatLogSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": 10.0, - "help": "Base for the logarithm", - "name": "base", - "type": "float" - }, - { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 4.0, - "help": "Max value for the exponent", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value for the exponent", - "name": "min", - "type": "float" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", - "type": "bool" - }, - { - "default": ".3g", - "help": "Format for the readout", - "name": "readout_format", - "type": "string" - }, - { - "allow_none": true, - "default": 0.1, - "help": "Minimum step in the exponent to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 1.0, - "help": "Float value", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FloatLogSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FloatLogSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FloatProgressModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ProgressView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "allow_none": true, - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the progess bar.", - "name": "bar_style", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100.0, - "help": "Max value", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value", - "name": "min", - "type": "float" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "ProgressStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "Float value", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FloatProgressModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ProgressView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FloatRangeSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FloatRangeSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is sliding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100.0, - "help": "Max value", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value", - "name": "min", - "type": "float" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", - "type": "bool" - }, - { - "default": ".2f", - "help": "Format for the readout", - "name": "readout_format", - "type": "string" - }, - { - "allow_none": true, - "default": 0.1, - "help": "Minimum step to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": [ - 0.0, - 1.0 - ], - "help": "Tuple of (lower, upper) bounds", - "name": "value", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FloatRangeSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FloatRangeSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FloatSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FloatSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100.0, - "help": "Max value", - "name": "max", - "type": "float" - }, - { - "default": 0.0, - "help": "Min value", - "name": "min", - "type": "float" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", - "type": "bool" - }, - { - "default": ".2f", - "help": "Format for the readout", - "name": "readout_format", - "type": "string" - }, - { - "allow_none": true, - "default": 0.1, - "help": "Minimum step to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "Float value", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FloatSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FloatSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "FloatTextModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "FloatTextView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": false, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Minimum step to increment the value", - "name": "step", - "type": "float" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0.0, - "help": "Float value", - "name": "value", - "type": "float" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "FloatTextModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "FloatTextView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "GridBoxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "GridBoxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "GridBoxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "GridBoxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "HBoxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "HBoxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "HBoxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "HBoxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "HTMLMathModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "HTMLMathView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "HTMLMathModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "HTMLMathView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "HTMLModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "HTMLView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "HTMLModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "HTMLView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ImageModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ImageView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "png", - "help": "The format of the image.", - "name": "format", - "type": "string" - }, - { - "default": "", - "help": "Height of the image in pixels. Use layout.height for styling the widget.", - "name": "height", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "b''", - "help": "The media data as a memory view of bytes.", - "name": "value", - "type": "bytes" - }, - { - "default": "", - "help": "Width of the image in pixels. Use layout.width for styling the widget.", - "name": "width", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ImageModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ImageView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "IntProgressModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ProgressView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the progess bar.", - "name": "bar_style", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100, - "help": "Max value", - "name": "max", - "type": "int" - }, - { - "default": 0, - "help": "Min value", - "name": "min", - "type": "int" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "ProgressStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "IntProgressModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ProgressView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "IntRangeSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "IntRangeSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is sliding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100, - "help": "Max value", - "name": "max", - "type": "int" - }, - { - "default": 0, - "help": "Min value", - "name": "min", - "type": "int" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", - "type": "bool" - }, - { - "default": "d", - "help": "Format for the readout", - "name": "readout_format", - "type": "string" - }, - { - "default": 1, - "help": "Minimum step that the value can take", - "name": "step", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Slider style customizations.", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": [ - 0, - 1 - ], - "help": "Tuple of (lower, upper) bounds", - "name": "value", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "IntRangeSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "IntRangeSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "IntSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "IntSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100, - "help": "Max value", - "name": "max", - "type": "int" - }, - { - "default": 0, - "help": "Min value", - "name": "min", - "type": "int" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current value of the slider next to it.", - "name": "readout", - "type": "bool" - }, - { - "default": "d", - "help": "Format for the readout", - "name": "readout_format", - "type": "string" - }, - { - "default": 1, - "help": "Minimum step to increment the value", - "name": "step", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "SliderStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "IntSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "IntSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "IntTextModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "IntTextView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": false, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 1, - "help": "Minimum step to increment the value", - "name": "step", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "IntTextModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "IntTextView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "LabelModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "LabelView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "LabelModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "LabelView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "LinkModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Name of the view.", - "name": "_view_name", - "type": "string" - }, - { - "default": [], - "help": "The source (widget, 'trait_name') pair", - "name": "source", - "type": "array" - }, - { - "default": [], - "help": "The target (widget, 'trait_name') pair", - "name": "target", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "LinkModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": null, - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "PasswordModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "PasswordView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "PasswordModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "PasswordView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "PlayModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "PlayView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": 100, - "help": "The time between two animation steps (ms).", - "name": "interval", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 100, - "help": "Max value", - "name": "max", - "type": "int" - }, - { - "default": 0, - "help": "Min value", - "name": "min", - "type": "int" - }, - { - "default": false, - "help": "Whether the control is currently playing.", - "name": "playing", - "type": "bool" - }, - { - "default": false, - "help": "Whether the control will repeat in a continous loop.", - "name": "repeat", - "type": "bool" - }, - { - "default": true, - "help": "Show the repeat toggle button in the widget.", - "name": "show_repeat", - "type": "bool" - }, - { - "default": 1, - "help": "Increment step", - "name": "step", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": 0, - "help": "Int value", - "name": "value", - "type": "int" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "PlayModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "PlayView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ProgressStyleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StyleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Color of the progress bar.", - "name": "bar_color", - "type": "string" - }, - { - "default": "", - "help": "Width of the description to the side of the control.", - "name": "description_width", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ProgressStyleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "RadioButtonsModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "RadioButtonsView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Selected index", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "RadioButtonsModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "RadioButtonsView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "SelectModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "SelectView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Selected index", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 5, - "help": "The number of rows to display.", - "name": "rows", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "SelectModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "SelectView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "SelectMultipleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "SelectMultipleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": [], - "help": "Selected indices", - "items": { - "type": "int" - }, - "name": "index", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": 5, - "help": "The number of rows to display.", - "name": "rows", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "SelectMultipleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "SelectMultipleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "SelectionRangeSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "SelectionRangeSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": [ - 0, - 0 - ], - "help": "Min and max selected indices", - "name": "index", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current selected label next to the slider", - "name": "readout", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "SelectionRangeSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "SelectionRangeSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "SelectionSliderModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "SelectionSliderView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value of the widget as the user is holding the slider.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": 0, - "help": "Selected index", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "horizontal", - "enum": [ - "horizontal", - "vertical" - ], - "help": "Vertical or horizontal.", - "name": "orientation", - "type": "string" - }, - { - "default": true, - "help": "Display the current selected label next to the slider", - "name": "readout", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "SelectionSliderModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "SelectionSliderView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "SliderStyleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StyleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Width of the description to the side of the control.", - "name": "description_width", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "Color of the slider handle.", - "name": "handle_color", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "SliderStyleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "StackedModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StackedView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", - "name": "selected_index", - "type": "int" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "default": [], - "help": "Titles of the pages", - "items": { - "type": "string" - }, - "name": "titles", - "type": "array" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "StackedModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "StackedView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "TabModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "TabView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", - "name": "selected_index", - "type": "int" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "default": [], - "help": "Titles of the pages", - "items": { - "type": "string" - }, - "name": "titles", - "type": "array" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "TabModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "TabView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "TextModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "TextView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "TextModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "TextView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "TextareaModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "TextareaView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", - "name": "continuous_update", - "type": "bool" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "\u200b", - "help": "Placeholder text to display when nothing has been typed", - "name": "placeholder", - "type": "string" - }, - { - "allow_none": true, - "default": null, - "help": "The number of rows to display.", - "name": "rows", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "", - "help": "String value", - "name": "value", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "TextareaModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "TextareaView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ToggleButtonModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ToggleButtonView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "primary", - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the button.", - "name": "button_style", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": "", - "help": "Font-awesome icon.", - "name": "icon", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": false, - "help": "Bool value", - "name": "value", - "type": "bool" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ToggleButtonModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ToggleButtonView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ToggleButtonsModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": [], - "help": "The labels for the options.", - "items": { - "type": "string" - }, - "name": "_options_labels", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ToggleButtonsView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "allow_none": true, - "default": "", - "enum": [ - "primary", - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the buttons.", - "name": "button_style", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes", - "name": "disabled", - "type": "bool" - }, - { - "default": [], - "help": "Icons names for each button (FontAwesome names without the fa- prefix).", - "items": { - "type": "string" - }, - "name": "icons", - "type": "array" - }, - { - "allow_none": true, - "default": null, - "help": "Selected index", - "name": "index", - "type": "int" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "reference to new instance", - "help": "", - "name": "style", - "type": "reference", - "widget": "ToggleButtonsStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": [], - "help": "Tooltips for each button.", - "items": { - "type": "string" - }, - "name": "tooltips", - "type": "array" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ToggleButtonsModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ToggleButtonsView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ToggleButtonsStyleModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/base", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "StyleView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "The width of each button.", - "name": "button_width", - "type": "string" - }, - { - "default": "", - "help": "Width of the description to the side of the control.", - "name": "description_width", - "type": "string" - }, - { - "default": "", - "help": "Text font weight of each button.", - "name": "font_weight", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ToggleButtonsStyleModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/base", - "name": "StyleView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "VBoxModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "VBoxView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "enum": [ - "success", - "info", - "warning", - "danger", - "" - ], - "help": "Use a predefined styling for the box.", - "name": "box_style", - "type": "string" - }, - { - "default": [], - "help": "List of widget children", - "items": { - "type": "reference", - "widget": "Widget" - }, - "name": "children", - "type": "array" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "VBoxModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "VBoxView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "ValidModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "ValidView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "", - "help": "Description of the control.", - "name": "description", - "type": "string" - }, - { - "default": false, - "help": "Enable or disable user changes.", - "name": "disabled", - "type": "bool" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "Invalid", - "help": "Message displayed when the value is False", - "name": "readout", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "Styling customizations", - "name": "style", - "type": "reference", - "widget": "DescriptionStyle" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": false, - "help": "Bool value", - "name": "value", - "type": "bool" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "ValidModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "ValidView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "VideoModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/controls", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "2.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "VideoView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": true, - "help": "When true, the video starts when it's displayed", - "name": "autoplay", - "type": "bool" - }, - { - "default": true, - "help": "Specifies that video controls should be displayed (such as a play/pause button etc)", - "name": "controls", - "type": "bool" - }, - { - "default": "mp4", - "help": "The format of the video.", - "name": "format", - "type": "string" - }, - { - "default": "", - "help": "Height of the video in pixels.", - "name": "height", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": true, - "help": "When true, the video will start from the beginning after finishing", - "name": "loop", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - }, - { - "default": "b''", - "help": "The media data as a memory view of bytes.", - "name": "value", - "type": "bytes" - }, - { - "default": "", - "help": "Width of the video in pixels.", - "name": "width", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/controls", - "name": "VideoModel", - "version": "2.0.0" - }, - "view": { - "module": "@jupyter-widgets/controls", - "name": "VideoView", - "version": "2.0.0" - } - }, - { - "attributes": [ - { - "default": [], - "help": "CSS classes applied to widget DOM element", - "items": { - "type": "string" - }, - "name": "_dom_classes", - "type": "array" - }, - { - "default": "@jupyter-widgets/output", - "help": "", - "name": "_model_module", - "type": "string" - }, - { - "default": "1.0.0", - "help": "", - "name": "_model_module_version", - "type": "string" - }, - { - "default": "OutputModel", - "help": "", - "name": "_model_name", - "type": "string" - }, - { - "default": "@jupyter-widgets/output", - "help": "", - "name": "_view_module", - "type": "string" - }, - { - "default": "1.0.0", - "help": "", - "name": "_view_module_version", - "type": "string" - }, - { - "default": "OutputView", - "help": "", - "name": "_view_name", - "type": "string" - }, - { - "default": "reference to new instance", - "help": "", - "name": "layout", - "type": "reference", - "widget": "Layout" - }, - { - "default": "", - "help": "Parent message id of messages to capture", - "name": "msg_id", - "type": "string" - }, - { - "default": [], - "help": "The output messages synced from the frontend.", - "items": { - "type": "object" - }, - "name": "outputs", - "type": "array" - }, - { - "allow_none": true, - "default": null, - "help": "Is widget tabbable?", - "name": "tabbable", - "type": "bool" - }, - { - "allow_none": true, - "default": null, - "help": "A tooltip caption.", - "name": "tooltip", - "type": "string" - } - ], - "model": { - "module": "@jupyter-widgets/output", - "name": "OutputModel", - "version": "1.0.0" - }, - "view": { - "module": "@jupyter-widgets/output", - "name": "OutputView", - "version": "1.0.0" - } - } -] diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 3386fde06e..6cf1138532 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -185,18 +185,24 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. -### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) +### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); ButtonStyleView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help -----------------|------------------|------------------|---- `_model_module` | string | `'@jupyter-widgets/controls'` | `_model_module_version` | string | `'2.0.0'` | `_model_name` | string | `'ButtonStyleModel'` | -`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module` | string | `'@jupyter-widgets/controls'` | `_view_module_version` | string | `'2.0.0'` | -`_view_name` | string | `'StyleView'` | +`_view_name` | string | `'ButtonStyleView'` | `button_color` | `null` or string | `null` | Color of the button -`font_weight` | string | `''` | Button text font weight. +`font_family` | `null` or string | `null` | Button text font family. +`font_size` | `null` or string | `null` | Button text font size. +`font_style` | `null` or string | `null` | Button text font style. +`font_variant` | `null` or string | `null` | Button text font variant. +`font_weight` | `null` or string | `null` | Button text font weight. +`text_color` | `null` or string | `null` | Button text color. +`text_decoration` | `null` or string | `null` | Button text decoration. ### CheckboxModel (@jupyter-widgets/controls, 2.0.0); CheckboxView (@jupyter-widgets/controls, 2.0.0) @@ -213,7 +219,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `indent` | boolean | `true` | Indent the control to align with other controls with a description. `layout` | reference to Layout widget | reference to new instance | -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value @@ -256,7 +262,7 @@ Attribute | Type | Default | Help `layout` | reference to Layout widget | reference to new instance | `options` | array of string | `[]` | Dropdown options for the combobox `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -590,7 +596,7 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _StringStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -609,7 +615,7 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _StringStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -742,11 +748,31 @@ Attribute | Type | Default | Help `description` | string | `''` | Description of the control. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to LabelStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### LabelStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'LabelStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_family` | `null` or string | `null` | Label text font family. +`font_size` | `null` or string | `null` | Text font size. +`font_style` | `null` or string | `null` | Label text font style. +`font_variant` | `null` or string | `null` | Label text font variant. +`font_weight` | `null` or string | `null` | Label text font weight. +`text_color` | `null` or string | `null` | Text color +`text_decoration` | `null` or string | `null` | Label text decoration. + ### LinkModel (@jupyter-widgets/controls, 2.0.0); None (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -776,7 +802,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -960,6 +986,21 @@ Attribute | Type | Default | Help `titles` | array of string | `[]` | Titles of the pages `tooltip` | `null` or string | `null` | A tooltip caption. +### StringStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'StringStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### TabModel (@jupyter-widgets/controls, 2.0.0); TabView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -995,11 +1036,26 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### TextStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'TextStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### TextareaModel (@jupyter-widgets/controls, 2.0.0); TextareaView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -1017,7 +1073,7 @@ Attribute | Type | Default | Help `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed `rows` | `null` or number (integer) | `null` | The number of rows to display. -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to TextStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value @@ -1038,11 +1094,31 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `icon` | string | `''` | Font-awesome icon. `layout` | reference to Layout widget | reference to new instance | -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to ToggleButtonStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value +### ToggleButtonStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'ToggleButtonStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_family` | `null` or string | `null` | Toggle button text font family. +`font_size` | `null` or string | `null` | Toggle button text font size. +`font_style` | `null` or string | `null` | Toggle button text font style. +`font_variant` | `null` or string | `null` | Toggle button text font variant. +`font_weight` | `null` or string | `null` | Toggle button text font weight. +`text_color` | `null` or string | `null` | Toggle button text color +`text_decoration` | `null` or string | `null` | Toggle button text decoration. + ### ToggleButtonsModel (@jupyter-widgets/controls, 2.0.0); ToggleButtonsView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -1112,7 +1188,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `layout` | reference to Layout widget | reference to new instance | `readout` | string | `'Invalid'` | Message displayed when the value is False -`style` | reference to DescriptionStyle widget | reference to new instance | Styling customizations +`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value @@ -1156,3 +1232,16 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. +### o (_, B); S (o, l) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'BoolStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. + diff --git a/tests/test_boolstyle.ipynb b/tests/test_boolstyle.ipynb new file mode 100644 index 0000000000..95fa2fbddd --- /dev/null +++ b/tests/test_boolstyle.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Checkbox, ToggleButton, Valid\n", + "tb = ToggleButton(description=\"ToggleButton\")\n", + "tb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.background = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_weight = \"bold\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tb.style.font_family = \"bitstream\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "v = Valid(True)\n", + "v.style.background = \"palegoldenrod\"\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "v.value = False" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c = Checkbox(description=\"Chekbox\")\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c.style.background = \"azure\"\n", + "c.layout.width = \"150px\"\n", + "c.layout.padding = \"0px\"\n", + "c.layout.border = \"1px solid black\"\n", + "c.style.description_width = \"5px\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb new file mode 100644 index 0000000000..967b74faf8 --- /dev/null +++ b/tests/test_buttonstyle.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Button\n", + "b = Button(description=\"Button\")\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.button_color = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_color = \"darkgreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_weight = \"bold\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_variant = \"small-caps\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_size = \"1.2em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b.style.font_family = \"bitstream\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/test_textstyle.ipynb b/tests/test_textstyle.ipynb new file mode 100644 index 0000000000..f56555efa2 --- /dev/null +++ b/tests/test_textstyle.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ipywidgets import Label, HTML, Text, Textarea, Combobox, VBox" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l = Label(\"Label\")\n", + "h = HTML(\"

HTML Paragraph

\")\n", + "t = Text(\"Text input\")\n", + "ta = Textarea(\"Text area\")\n", + "c = Combobox(options=[\"First\", \"Second\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "VBox((l, h, t, ta, c))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.background = \"azure\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.text_color = \"midnightblue\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.font_style = \"italic\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l.style.text_decoration = \"underline\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "h.style.background = \"lawngreen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t.style.text_color = \"red\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t.style.background = \"lightgray\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ta.style.background = \"linen\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ta.style.font_size = \"1.5em\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c.style.text_color = \"purple\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 011f6a3f39aa51776f8d0018c7aba077d220d454 Mon Sep 17 00:00:00 2001 From: Zerline Date: Fri, 3 Apr 2020 15:35:11 +0200 Subject: [PATCH 18/30] Bugfixes (cause difficult rebase). --- ipywidgets/widgets/widget_button.py | 1 - packages/controls/src/widget_button.ts | 72 +- packages/html-manager/src/libembed-amd.ts | 3 +- .../schema/jupyterwidgetmodels.latest.json | 6977 +++++++++++++++++ 4 files changed, 6979 insertions(+), 74 deletions(-) create mode 100644 packages/schema/jupyterwidgetmodels.latest.json diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index 5629e0fc57..9e5a1464a5 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -25,7 +25,6 @@ class ButtonStyle(Style, CoreWidget): _view_name = Unicode('ButtonStyleView').tag(sync=True) _view_module = Unicode('@jupyter-widgets/controls').tag(sync=True) _view_module_version = Unicode(__jupyter_widgets_controls_version__).tag(sync=True) - bold = Bool(None, allow_none=True, help="Button text bold.").tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) font_size = Unicode(None, allow_none=True, help="Button text font size.").tag(sync=True) diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index ac05c91b2e..d8408fda82 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -13,61 +13,11 @@ export class ButtonStyleModel extends StyleModel { ...super.defaults(), _model_name: 'ButtonStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION, - _view_name: 'ButtonStyleView', - _view_module: '@jupyter-widgets/controls', - _view_module_version: JUPYTER_CONTROLS_VERSION - - public static styleProperties = { - button_color: { - selector: '', - attribute: 'background-color', - default: null as any - }, - font_family: { - selector: '', - attribute: 'font-family', - default: '' - }, - font_size: { - selector: '', - attribute: 'font-size', - default: '' - }, - font_style: { - selector: '', - attribute: 'font-style', - default: '' - }, - font_variant: { - selector: '', - attribute: 'font-variant', - default: '' - }, - font_weight: { - selector: '', - attribute: 'font-weight', - default: '' - }, - text_color: { - selector: '', - attribute: 'color', - default: '' - }, - text_decoration: { - selector: '', - attribute: 'text-decoration', - default: '' - } + _model_module_version: JUPYTER_CONTROLS_VERSION }; } public static styleProperties = { - bold: { - selector: '', - attribute: 'font-weight', - default: '' - }, button_color: { selector: '', attribute: 'background-color', @@ -98,26 +48,6 @@ export class ButtonStyleModel extends StyleModel { attribute: 'font-family', default: '' }, - font_size: { - selector: '', - attribute: 'font-size', - default: '' - }, - italic: { - selector: '', - attribute: 'font-style', - default: '' - }, - text_color: { - selector: '', - attribute: 'color', - default: '' - }, - underline: { - selector: '', - attribute: 'text-decoration', - default: '' - }, text_color: { selector: '', attribute: 'color', diff --git a/packages/html-manager/src/libembed-amd.ts b/packages/html-manager/src/libembed-amd.ts index 2d63c908e7..7c8ae1e314 100644 --- a/packages/html-manager/src/libembed-amd.ts +++ b/packages/html-manager/src/libembed-amd.ts @@ -10,8 +10,7 @@ let onlyCDN = false; 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'); + onlyCDN = onlyCDN || script.hasAttribute('data-jupyter-widgets-cdn-only'); }); /** diff --git a/packages/schema/jupyterwidgetmodels.latest.json b/packages/schema/jupyterwidgetmodels.latest.json new file mode 100644 index 0000000000..58592b8e33 --- /dev/null +++ b/packages/schema/jupyterwidgetmodels.latest.json @@ -0,0 +1,6977 @@ +[ + { + "attributes": [ + { + "default": "@jupyter-widgets/base", + "help": "The namespace for the model.", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "A semver requirement for namespace version containing the model.", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "LayoutModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "LayoutView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "space-between", + "space-around", + "space-evenly", + "stretch", + "inherit", + "initial", + "unset" + ], + "help": "The align-content CSS attribute.", + "name": "align_content", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "baseline", + "stretch", + "inherit", + "initial", + "unset" + ], + "help": "The align-items CSS attribute.", + "name": "align_items", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "auto", + "flex-start", + "flex-end", + "center", + "baseline", + "stretch", + "inherit", + "initial", + "unset" + ], + "help": "The align-self CSS attribute.", + "name": "align_self", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The border CSS attribute.", + "name": "border", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The bottom CSS attribute.", + "name": "bottom", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The display CSS attribute.", + "name": "display", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The flex CSS attribute.", + "name": "flex", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The flex-flow CSS attribute.", + "name": "flex_flow", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-area CSS attribute.", + "name": "grid_area", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-auto-columns CSS attribute.", + "name": "grid_auto_columns", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "column", + "row", + "row dense", + "column dense", + "inherit", + "initial", + "unset" + ], + "help": "The grid-auto-flow CSS attribute.", + "name": "grid_auto_flow", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-auto-rows CSS attribute.", + "name": "grid_auto_rows", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-column CSS attribute.", + "name": "grid_column", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-gap CSS attribute.", + "name": "grid_gap", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-row CSS attribute.", + "name": "grid_row", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-template-areas CSS attribute.", + "name": "grid_template_areas", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-template-columns CSS attribute.", + "name": "grid_template_columns", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The grid-template-rows CSS attribute.", + "name": "grid_template_rows", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The height CSS attribute.", + "name": "height", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "space-between", + "space-around", + "inherit", + "initial", + "unset" + ], + "help": "The justify-content CSS attribute.", + "name": "justify_content", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": [ + "flex-start", + "flex-end", + "center", + "inherit", + "initial", + "unset" + ], + "help": "The justify-items CSS attribute.", + "name": "justify_items", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The left CSS attribute.", + "name": "left", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The margin CSS attribute.", + "name": "margin", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The max-height CSS attribute.", + "name": "max_height", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The max-width CSS attribute.", + "name": "max_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The min-height CSS attribute.", + "name": "min_height", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The min-width CSS attribute.", + "name": "min_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": ["contain", "cover", "fill", "scale-down", "none"], + "help": "The object-fit CSS attribute.", + "name": "object_fit", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The object-position CSS attribute.", + "name": "object_position", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The order CSS attribute.", + "name": "order", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The overflow CSS attribute.", + "name": "overflow", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The padding CSS attribute.", + "name": "padding", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The right CSS attribute.", + "name": "right", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The top CSS attribute.", + "name": "top", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "enum": ["visible", "hidden", "inherit", "initial", "unset"], + "help": "The visibility CSS attribute.", + "name": "visibility", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The width CSS attribute.", + "name": "width", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/base", + "name": "LayoutModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "LayoutView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "AccordionModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "AccordionView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", + "name": "selected_index", + "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "default": [], + "help": "Titles of the pages", + "items": { + "type": "string" + }, + "name": "titles", + "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "AccordionModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "AccordionView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "AudioModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "AudioView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "When true, the audio starts when it's displayed", + "name": "autoplay", + "type": "bool" + }, + { + "default": true, + "help": "Specifies that audio controls should be displayed (such as a play/pause button etc)", + "name": "controls", + "type": "bool" + }, + { + "default": "mp3", + "help": "The format of the audio.", + "name": "format", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": true, + "help": "When true, the audio will start from the beginning after finishing", + "name": "loop", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "b''", + "help": "The media data as a memory view of bytes.", + "name": "value", + "type": "bytes" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "AudioModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "AudioView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "BoundedFloatTextModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FloatTextView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": false, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100.0, + "help": "Max value", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value", + "name": "min", + "type": "float" + }, + { + "allow_none": true, + "default": null, + "help": "Minimum step to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "BoundedFloatTextModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatTextView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "BoundedIntTextModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "IntTextView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": false, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100, + "help": "Max value", + "name": "max", + "type": "int" + }, + { + "default": 0, + "help": "Min value", + "name": "min", + "type": "int" + }, + { + "default": 1, + "help": "Minimum step to increment the value", + "name": "step", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "BoundedIntTextModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "IntTextView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "BoxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "BoxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "BoxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "BoxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ButtonModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ButtonView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the button.", + "name": "button_style", + "type": "string" + }, + { + "default": "", + "help": "Button label.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": "", + "help": "Font-awesome icon names, without the 'fa-' prefix.", + "name": "icon", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ButtonStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ButtonModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ButtonView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ButtonStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ButtonStyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Color of the button", + "name": "button_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text font weight.", + "name": "font_weight", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text color.", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Button text decoration.", + "name": "text_decoration", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ButtonStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ButtonStyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "CheckboxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "CheckboxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": true, + "help": "Indent the control to align with other controls with a description.", + "name": "indent", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "_BoolStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": false, + "help": "Bool value", + "name": "value", + "type": "bool" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "CheckboxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "CheckboxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ColorPickerModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ColorPickerView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": false, + "help": "Display short version with just a color selector.", + "name": "concise", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "black", + "help": "The color value.", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ColorPickerModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ColorPickerView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ComboboxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ComboboxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": false, + "help": "If set, ensure value is in options. Implies continuous_update=False.", + "name": "ensure_option", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": [], + "help": "Dropdown options for the combobox", + "items": { + "type": "string" + }, + "name": "options", + "type": "array" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ComboboxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ComboboxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ControllerAxisModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ControllerAxisView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "The value of the axis.", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ControllerAxisModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ControllerAxisView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ControllerButtonModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ControllerButtonView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": false, + "help": "Whether the button is pressed.", + "name": "pressed", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "The value of the button.", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ControllerButtonModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ControllerButtonView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ControllerModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ControllerView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": [], + "help": "The axes on the gamepad.", + "items": { + "type": "reference", + "widget": "Axis" + }, + "name": "axes", + "type": "array" + }, + { + "default": [], + "help": "The buttons on the gamepad.", + "items": { + "type": "reference", + "widget": "Button" + }, + "name": "buttons", + "type": "array" + }, + { + "default": false, + "help": "Whether the gamepad is connected.", + "name": "connected", + "type": "bool" + }, + { + "default": 0, + "help": "The id number of the controller.", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "", + "help": "The name of the control mapping.", + "name": "mapping", + "type": "string" + }, + { + "default": "", + "help": "The name of the controller.", + "name": "name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "default": 0.0, + "help": "The last time the data from this gamepad was updated.", + "name": "timestamp", + "type": "float" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ControllerModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ControllerView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "DOMWidgetModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Name of the view.", + "name": "_view_name", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "b''", + "help": "The media data as a memory view of bytes.", + "name": "value", + "type": "bytes" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "DOMWidgetModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": null, + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "DatePickerModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "DatePickerView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "", + "name": "value", + "type": "Date" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "DatePickerModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "DatePickerView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "DescriptionStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "DescriptionStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "DirectionalLinkModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Name of the view.", + "name": "_view_name", + "type": "string" + }, + { + "default": [], + "help": "The source (widget, 'trait_name') pair", + "name": "source", + "type": "array" + }, + { + "default": [], + "help": "The target (widget, 'trait_name') pair", + "name": "target", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "DirectionalLinkModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": null, + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "DropdownModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "DropdownView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Selected index", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "DropdownModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "DropdownView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FileUploadModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FileUploadView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "File types to accept, empty string for all", + "name": "accept", + "type": "string" + }, + { + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the button.", + "name": "button_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable button", + "name": "disabled", + "type": "bool" + }, + { + "default": "", + "help": "Error message", + "name": "error", + "type": "string" + }, + { + "default": "upload", + "help": "Font-awesome icon name, without the 'fa-' prefix.", + "name": "icon", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": false, + "help": "If True, allow for multiple files upload", + "name": "multiple", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ButtonStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": [], + "help": "The file upload value", + "items": { + "type": "object" + }, + "name": "value", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FileUploadModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FileUploadView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatLogSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FloatLogSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": 10.0, + "help": "Base for the logarithm", + "name": "base", + "type": "float" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 4.0, + "help": "Max value for the exponent", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value for the exponent", + "name": "min", + "type": "float" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": ".3g", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "allow_none": true, + "default": 0.1, + "help": "Minimum step in the exponent to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 1.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatLogSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatLogSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatProgressModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ProgressView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the progess bar.", + "name": "bar_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100.0, + "help": "Max value", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value", + "name": "min", + "type": "float" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ProgressStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatProgressModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ProgressView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatRangeSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FloatRangeSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is sliding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100.0, + "help": "Max value", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value", + "name": "min", + "type": "float" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": ".2f", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "allow_none": true, + "default": 0.1, + "help": "Minimum step to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": [0.0, 1.0], + "help": "Tuple of (lower, upper) bounds", + "name": "value", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatRangeSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatRangeSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FloatSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100.0, + "help": "Max value", + "name": "max", + "type": "float" + }, + { + "default": 0.0, + "help": "Min value", + "name": "min", + "type": "float" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": ".2f", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "allow_none": true, + "default": 0.1, + "help": "Minimum step to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "FloatTextModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "FloatTextView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": false, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Minimum step to increment the value", + "name": "step", + "type": "float" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0.0, + "help": "Float value", + "name": "value", + "type": "float" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "FloatTextModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "FloatTextView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "GridBoxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "GridBoxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "GridBoxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "GridBoxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "HBoxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "HBoxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "HBoxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "HBoxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "HTMLMathModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "HTMLMathView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "_StringStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "HTMLMathModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "HTMLMathView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "HTMLModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "HTMLView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "_StringStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "HTMLModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "HTMLView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ImageModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ImageView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "png", + "help": "The format of the image.", + "name": "format", + "type": "string" + }, + { + "default": "", + "help": "Height of the image in pixels. Use layout.height for styling the widget.", + "name": "height", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "b''", + "help": "The media data as a memory view of bytes.", + "name": "value", + "type": "bytes" + }, + { + "default": "", + "help": "Width of the image in pixels. Use layout.width for styling the widget.", + "name": "width", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ImageModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ImageView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "IntProgressModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ProgressView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the progess bar.", + "name": "bar_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100, + "help": "Max value", + "name": "max", + "type": "int" + }, + { + "default": 0, + "help": "Min value", + "name": "min", + "type": "int" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ProgressStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "IntProgressModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ProgressView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "IntRangeSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "IntRangeSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is sliding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100, + "help": "Max value", + "name": "max", + "type": "int" + }, + { + "default": 0, + "help": "Min value", + "name": "min", + "type": "int" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": "d", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "default": 1, + "help": "Minimum step that the value can take", + "name": "step", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Slider style customizations.", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": [0, 1], + "help": "Tuple of (lower, upper) bounds", + "name": "value", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "IntRangeSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "IntRangeSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "IntSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "IntSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100, + "help": "Max value", + "name": "max", + "type": "int" + }, + { + "default": 0, + "help": "Min value", + "name": "min", + "type": "int" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current value of the slider next to it.", + "name": "readout", + "type": "bool" + }, + { + "default": "d", + "help": "Format for the readout", + "name": "readout_format", + "type": "string" + }, + { + "default": 1, + "help": "Minimum step to increment the value", + "name": "step", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "SliderStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "IntSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "IntSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "IntTextModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "IntTextView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": false, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 1, + "help": "Minimum step to increment the value", + "name": "step", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "IntTextModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "IntTextView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "LabelModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "LabelView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "LabelStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "LabelModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "LabelView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "LabelStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background specifications.", + "name": "background", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text font weight.", + "name": "font_weight", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Label text decoration.", + "name": "text_decoration", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "LabelStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "LinkModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Name of the view.", + "name": "_view_name", + "type": "string" + }, + { + "default": [], + "help": "The source (widget, 'trait_name') pair", + "name": "source", + "type": "array" + }, + { + "default": [], + "help": "The target (widget, 'trait_name') pair", + "name": "target", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "LinkModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": null, + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "PasswordModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "PasswordView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "PasswordModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "PasswordView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "PlayModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "PlayView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": 100, + "help": "The time between two animation steps (ms).", + "name": "interval", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 100, + "help": "Max value", + "name": "max", + "type": "int" + }, + { + "default": 0, + "help": "Min value", + "name": "min", + "type": "int" + }, + { + "default": false, + "help": "Whether the control is currently playing.", + "name": "playing", + "type": "bool" + }, + { + "default": false, + "help": "Whether the control will repeat in a continous loop.", + "name": "repeat", + "type": "bool" + }, + { + "default": true, + "help": "Show the repeat toggle button in the widget.", + "name": "show_repeat", + "type": "bool" + }, + { + "default": 1, + "help": "Increment step", + "name": "step", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": 0, + "help": "Int value", + "name": "value", + "type": "int" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "PlayModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "PlayView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ProgressStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Color of the progress bar.", + "name": "bar_color", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ProgressStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "RadioButtonsModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "RadioButtonsView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Selected index", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "RadioButtonsModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "RadioButtonsView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "SelectModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "SelectView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Selected index", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 5, + "help": "The number of rows to display.", + "name": "rows", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "SelectModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "SelectView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "SelectMultipleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "SelectMultipleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": [], + "help": "Selected indices", + "items": { + "type": "int" + }, + "name": "index", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": 5, + "help": "The number of rows to display.", + "name": "rows", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "SelectMultipleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "SelectMultipleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "SelectionRangeSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "SelectionRangeSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": [0, 0], + "help": "Min and max selected indices", + "name": "index", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current selected label next to the slider", + "name": "readout", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "SelectionRangeSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "SelectionRangeSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "SelectionSliderModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "SelectionSliderView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value of the widget as the user is holding the slider.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": 0, + "help": "Selected index", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "horizontal", + "enum": ["horizontal", "vertical"], + "help": "Vertical or horizontal.", + "name": "orientation", + "type": "string" + }, + { + "default": true, + "help": "Display the current selected label next to the slider", + "name": "readout", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "DescriptionStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "SelectionSliderModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "SelectionSliderView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "SliderStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Color of the slider handle.", + "name": "handle_color", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "SliderStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "StackedModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StackedView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", + "name": "selected_index", + "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "default": [], + "help": "Titles of the pages", + "items": { + "type": "string" + }, + "name": "titles", + "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "StackedModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "StackedView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "StringStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background specifications.", + "name": "background", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "StringStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "TabModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "TabView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.", + "name": "selected_index", + "type": "int" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "default": [], + "help": "Titles of the pages", + "items": { + "type": "string" + }, + "name": "titles", + "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "TabModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "TabView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "TextModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "TextView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "TextModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "TextView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "TextStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background specifications.", + "name": "background", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Text color", + "name": "text_color", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "TextStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "TextareaModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "TextareaView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "Update the value as the user types. If False, update on submission, e.g., pressing Enter or navigating away.", + "name": "continuous_update", + "type": "bool" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "\u200b", + "help": "Placeholder text to display when nothing has been typed", + "name": "placeholder", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "The number of rows to display.", + "name": "rows", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "TextStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "", + "help": "String value", + "name": "value", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "TextareaModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "TextareaView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ToggleButtonModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ToggleButtonView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the button.", + "name": "button_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": "", + "help": "Font-awesome icon.", + "name": "icon", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "ToggleButtonStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": false, + "help": "Bool value", + "name": "value", + "type": "bool" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ToggleButtonStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background specifications.", + "name": "background", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font family.", + "name": "font_family", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font size.", + "name": "font_size", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font style.", + "name": "font_style", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font variant.", + "name": "font_variant", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text font weight.", + "name": "font_weight", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text color", + "name": "text_color", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Toggle button text decoration.", + "name": "text_decoration", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ToggleButtonsModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": [], + "help": "The labels for the options.", + "items": { + "type": "string" + }, + "name": "_options_labels", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ToggleButtonsView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": "", + "enum": ["primary", "success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the buttons.", + "name": "button_style", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes", + "name": "disabled", + "type": "bool" + }, + { + "default": [], + "help": "Icons names for each button (FontAwesome names without the fa- prefix).", + "items": { + "type": "string" + }, + "name": "icons", + "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "Selected index", + "name": "index", + "type": "int" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "reference to new instance", + "help": "", + "name": "style", + "type": "reference", + "widget": "ToggleButtonsStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": [], + "help": "Tooltips for each button.", + "items": { + "type": "string" + }, + "name": "tooltips", + "type": "array" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonsModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonsView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ToggleButtonsStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "The width of each button.", + "name": "button_width", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + }, + { + "default": "", + "help": "Text font weight of each button.", + "name": "font_weight", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ToggleButtonsStyleModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/base", + "name": "StyleView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "VBoxModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "VBoxView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "enum": ["success", "info", "warning", "danger", ""], + "help": "Use a predefined styling for the box.", + "name": "box_style", + "type": "string" + }, + { + "default": [], + "help": "List of widget children", + "items": { + "type": "reference", + "widget": "Widget" + }, + "name": "children", + "type": "array" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "VBoxModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "VBoxView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "ValidModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "ValidView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "", + "help": "Description of the control.", + "name": "description", + "type": "string" + }, + { + "default": false, + "help": "Enable or disable user changes.", + "name": "disabled", + "type": "bool" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "Invalid", + "help": "Message displayed when the value is False", + "name": "readout", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "Styling customizations", + "name": "style", + "type": "reference", + "widget": "_BoolStyle" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": false, + "help": "Bool value", + "name": "value", + "type": "bool" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "ValidModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "ValidView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "VideoModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "VideoView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": true, + "help": "When true, the video starts when it's displayed", + "name": "autoplay", + "type": "bool" + }, + { + "default": true, + "help": "Specifies that video controls should be displayed (such as a play/pause button etc)", + "name": "controls", + "type": "bool" + }, + { + "default": "mp4", + "help": "The format of the video.", + "name": "format", + "type": "string" + }, + { + "default": "", + "help": "Height of the video in pixels.", + "name": "height", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": true, + "help": "When true, the video will start from the beginning after finishing", + "name": "loop", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + }, + { + "default": "b''", + "help": "The media data as a memory view of bytes.", + "name": "value", + "type": "bytes" + }, + { + "default": "", + "help": "Width of the video in pixels.", + "name": "width", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/controls", + "name": "VideoModel", + "version": "2.0.0" + }, + "view": { + "module": "@jupyter-widgets/controls", + "name": "VideoView", + "version": "2.0.0" + } + }, + { + "attributes": [ + { + "default": [], + "help": "CSS classes applied to widget DOM element", + "items": { + "type": "string" + }, + "name": "_dom_classes", + "type": "array" + }, + { + "default": "@jupyter-widgets/output", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "1.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "OutputModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/output", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "1.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "OutputView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "default": "reference to new instance", + "help": "", + "name": "layout", + "type": "reference", + "widget": "Layout" + }, + { + "default": "", + "help": "Parent message id of messages to capture", + "name": "msg_id", + "type": "string" + }, + { + "default": [], + "help": "The output messages synced from the frontend.", + "items": { + "type": "object" + }, + "name": "outputs", + "type": "array" + }, + { + "allow_none": true, + "default": null, + "help": "Is widget tabbable?", + "name": "tabbable", + "type": "bool" + }, + { + "allow_none": true, + "default": null, + "help": "A tooltip caption.", + "name": "tooltip", + "type": "string" + } + ], + "model": { + "module": "@jupyter-widgets/output", + "name": "OutputModel", + "version": "1.0.0" + }, + "view": { + "module": "@jupyter-widgets/output", + "name": "OutputView", + "version": "1.0.0" + } + }, + { + "attributes": [ + { + "default": "@jupyter-widgets/controls", + "help": "", + "name": "_model_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_model_module_version", + "type": "string" + }, + { + "default": "BoolStyleModel", + "help": "", + "name": "_model_name", + "type": "string" + }, + { + "default": "@jupyter-widgets/base", + "help": "", + "name": "_view_module", + "type": "string" + }, + { + "default": "2.0.0", + "help": "", + "name": "_view_module_version", + "type": "string" + }, + { + "default": "StyleView", + "help": "", + "name": "_view_name", + "type": "string" + }, + { + "allow_none": true, + "default": null, + "help": "Background specifications.", + "name": "background", + "type": "string" + }, + { + "default": "", + "help": "Width of the description to the side of the control.", + "name": "description_width", + "type": "string" + } + ], + "model": { + "module": "_", + "name": "o", + "version": "B" + }, + "view": { + "module": "o", + "name": "S", + "version": "l" + } + } +] From 4ac4588e741b60bddbb0fb373fd67529d118bbba Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 5 Aug 2021 09:20:31 -0700 Subject: [PATCH 19/30] Lint --- packages/controls/src/widget_string.ts | 34 +++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index ebe1da4b6c..a41d83a516 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -20,7 +20,7 @@ export class StringStyleModel extends DescriptionStyleModel { ...super.defaults(), _model_name: 'StringStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION, }; } @@ -29,18 +29,18 @@ export class StringStyleModel extends DescriptionStyleModel { background: { selector: '', attribute: 'background', - default: null as any + default: null as any, }, font_size: { selector: '', attribute: 'font-size', - default: '' + default: '', }, text_color: { selector: '', attribute: 'color', - default: '' - } + default: '', + }, }; } @@ -50,7 +50,7 @@ export class LabelStyleModel extends StringStyleModel { ...super.defaults(), _model_name: 'LabelStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION, }; } @@ -59,28 +59,28 @@ export class LabelStyleModel extends StringStyleModel { font_family: { selector: '', attribute: 'font-family', - default: '' + default: '', }, font_style: { selector: '', attribute: 'font-style', - default: '' + default: '', }, font_variant: { selector: '', attribute: 'font-variant', - default: '' + default: '', }, font_weight: { selector: '', attribute: 'font-weight', - default: '' + default: '', }, text_decoration: { selector: '', attribute: 'text-decoration', - default: '' - } + default: '', + }, }; } @@ -90,7 +90,7 @@ export class TextStyleModel extends DescriptionStyleModel { ...super.defaults(), _model_name: 'TextStyleModel', _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION + _model_module_version: JUPYTER_CONTROLS_VERSION, }; } @@ -99,18 +99,18 @@ export class TextStyleModel extends DescriptionStyleModel { background: { selector: '.widget-input', attribute: 'background', - default: null as any + default: null as any, }, font_size: { selector: '.widget-input', attribute: 'font-size', - default: '' + default: '', }, text_color: { selector: '.widget-input', attribute: 'color', - default: '' - } + default: '', + }, }; } From 915a4db1e6cbd1bf68decc86e2bc79fe001ac045 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 5 Aug 2021 22:29:35 -0700 Subject: [PATCH 20/30] Move background to just CheckboxStyle, not ToggleButtonStyle. Since the toggle button changes its background color to visually indicate state, fixing the background color makes the control very confusing. --- ipywidgets/widgets/widget_bool.py | 12 +++++++----- packages/controls/src/widget_bool.ts | 19 ++++--------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/ipywidgets/widgets/widget_bool.py b/ipywidgets/widgets/widget_bool.py index 3376362801..9b4d5e3edf 100644 --- a/ipywidgets/widgets/widget_bool.py +++ b/ipywidgets/widgets/widget_bool.py @@ -14,14 +14,15 @@ from traitlets import Unicode, Bool, CaselessStrEnum -class _BoolStyle(DescriptionStyle, CoreWidget): - """_Bool widget style.""" - _model_name = Unicode('BoolStyleModel').tag(sync=True) +@register +class CheckboxStyle(DescriptionStyle, CoreWidget): + """Checkbox widget style.""" + _model_name = Unicode('CheckboxStyleModel').tag(sync=True) background = Unicode(None, allow_none=True, help="Background specifications.").tag(sync=True) @register -class ToggleButtonStyle(_BoolStyle, CoreWidget): +class ToggleButtonStyle(DescriptionStyle, CoreWidget): """ToggleButton widget style.""" _model_name = Unicode('ToggleButtonStyleModel').tag(sync=True) font_family = Unicode(None, allow_none=True, help="Toggle button text font family.").tag(sync=True) @@ -37,7 +38,6 @@ class _Bool(DescriptionWidget, ValueWidget, CoreWidget): """A base class for creating widgets that represent booleans.""" value = Bool(False, help="Bool value").tag(sync=True) disabled = Bool(False, help="Enable or disable user changes.").tag(sync=True) - style = InstanceDict(_BoolStyle, help="Styling customizations").tag(sync=True, **widget_serialization) def __init__(self, value=None, **kwargs): if value is not None: @@ -63,6 +63,8 @@ class Checkbox(_Bool): _view_name = Unicode('CheckboxView').tag(sync=True) _model_name = Unicode('CheckboxModel').tag(sync=True) indent = Bool(True, help="Indent the control to align with other controls with a description.").tag(sync=True) + style = InstanceDict(CheckboxStyle, help="Styling customizations").tag(sync=True, **widget_serialization) + @register diff --git a/packages/controls/src/widget_bool.ts b/packages/controls/src/widget_bool.ts index ccd046c85f..c2f22c3c51 100644 --- a/packages/controls/src/widget_bool.ts +++ b/packages/controls/src/widget_bool.ts @@ -7,15 +7,11 @@ import { CoreDescriptionModel } from './widget_core'; import { DescriptionStyleModel, DescriptionView } from './widget_description'; -import { JUPYTER_CONTROLS_VERSION } from './version'; - -export class BoolStyleModel extends DescriptionStyleModel { +export class CheckboxStyleModel extends DescriptionStyleModel { defaults(): Backbone.ObjectHash { return { ...super.defaults(), - _model_name: 'BoolStyleModel', - _model_module: '@jupyter-widgets/controls', - _model_module_version: JUPYTER_CONTROLS_VERSION, + _model_name: 'CheckboxStyleModel' }; } @@ -29,7 +25,7 @@ export class BoolStyleModel extends DescriptionStyleModel { }; } -export class ToggleButtonStyleModel extends BoolStyleModel { +export class ToggleButtonStyleModel extends DescriptionStyleModel { defaults(): Backbone.ObjectHash { return { ...super.defaults(), @@ -38,12 +34,7 @@ export class ToggleButtonStyleModel extends BoolStyleModel { } public static styleProperties = { - ...BoolStyleModel.styleProperties, - background: { - selector: '', - attribute: 'background', - default: null as any, - }, + ...DescriptionStyleModel.styleProperties, font_family: { selector: '', attribute: 'font-family', @@ -88,7 +79,6 @@ export class BoolModel extends CoreDescriptionModel { ...super.defaults(), value: false, disabled: false, - style: null, _model_name: 'BoolModel', }; } @@ -366,7 +356,6 @@ export class ValidModel extends BoolModel { return { ...super.defaults(), readout: 'Invalid', - style: null, _view_name: 'ValidView', _model_name: 'ValidModel', }; From 9079a724070e1754ae46c4c29baff898dc936ae7 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 5 Aug 2021 22:30:16 -0700 Subject: [PATCH 21/30] Delete unnecessary fields in the ButtonStyle class. These fields are inherited properly, just like in other Style classes. --- ipywidgets/widgets/widget_button.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ipywidgets/widgets/widget_button.py b/ipywidgets/widgets/widget_button.py index d91f374e72..cdd51aabee 100644 --- a/ipywidgets/widgets/widget_button.py +++ b/ipywidgets/widgets/widget_button.py @@ -12,7 +12,6 @@ from .widget_core import CoreWidget from .widget_style import Style from .trait_types import Color, InstanceDict -from .._version import __jupyter_widgets_controls_version__ from traitlets import Unicode, Bool, CaselessStrEnum, Instance, validate, default import warnings @@ -22,9 +21,6 @@ class ButtonStyle(Style, CoreWidget): """Button style widget.""" _model_name = Unicode('ButtonStyleModel').tag(sync=True) - _view_name = Unicode('ButtonStyleView').tag(sync=True) - _view_module = Unicode('@jupyter-widgets/controls').tag(sync=True) - _view_module_version = Unicode(__jupyter_widgets_controls_version__).tag(sync=True) button_color = Color(None, allow_none=True, help="Color of the button").tag(sync=True) font_family = Unicode(None, allow_none=True, help="Button text font family.").tag(sync=True) font_size = Unicode(None, allow_none=True, help="Button text font size.").tag(sync=True) From ab2c0574170a0dd89578a195d950b31f9ab45217 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 5 Aug 2021 22:30:44 -0700 Subject: [PATCH 22/30] Delete unnecessary inheritance in TextStyle and LabelStyle. --- ipywidgets/widgets/widget_string.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index d546aa4b15..eb87c835a5 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -25,7 +25,7 @@ class _StringStyle(DescriptionStyle, CoreWidget): @register -class LabelStyle(_StringStyle, CoreWidget): +class LabelStyle(_StringStyle): """Label style widget.""" _model_name = Unicode('LabelStyleModel').tag(sync=True) font_family = Unicode(None, allow_none=True, help="Label text font family.").tag(sync=True) @@ -36,7 +36,7 @@ class LabelStyle(_StringStyle, CoreWidget): @register -class TextStyle(_StringStyle, CoreWidget): +class TextStyle(_StringStyle): """Text input style widget.""" _model_name = Unicode('TextStyleModel').tag(sync=True) From 6f9877eac21cd450218e9d228ae4adfa3ffc17be Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Thu, 5 Aug 2021 22:55:05 -0700 Subject: [PATCH 23/30] Lint --- packages/controls/src/widget_bool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/controls/src/widget_bool.ts b/packages/controls/src/widget_bool.ts index c2f22c3c51..8a21f6018c 100644 --- a/packages/controls/src/widget_bool.ts +++ b/packages/controls/src/widget_bool.ts @@ -11,7 +11,7 @@ export class CheckboxStyleModel extends DescriptionStyleModel { defaults(): Backbone.ObjectHash { return { ...super.defaults(), - _model_name: 'CheckboxStyleModel' + _model_name: 'CheckboxStyleModel', }; } From 203118da73157b3137f7cdf505cc74d022c1ae90 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 00:24:37 -0700 Subject: [PATCH 24/30] Update message spec --- packages/schema/jupyterwidgetmodels.latest.md | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index 8dbe4b10d0..d0d85d218a 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -190,16 +190,16 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. -### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); ButtonStyleView (@jupyter-widgets/controls, 2.0.0) +### ButtonStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) Attribute | Type | Default | Help -----------------|------------------|------------------|---- `_model_module` | string | `'@jupyter-widgets/controls'` | `_model_module_version` | string | `'2.0.0'` | `_model_name` | string | `'ButtonStyleModel'` | -`_view_module` | string | `'@jupyter-widgets/controls'` | +`_view_module` | string | `'@jupyter-widgets/base'` | `_view_module_version` | string | `'2.0.0'` | -`_view_name` | string | `'ButtonStyleView'` | +`_view_name` | string | `'StyleView'` | `button_color` | `null` or string | `null` | Color of the button `font_family` | `null` or string | `null` | Button text font family. `font_size` | `null` or string | `null` | Button text font size. @@ -225,11 +225,24 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `indent` | boolean | `true` | Indent the control to align with other controls with a description. `layout` | reference to Layout widget | reference to new instance | -`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations +`style` | reference to CheckboxStyle widget | reference to new instance | Styling customizations `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | boolean | `false` | Bool value +### CheckboxStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'CheckboxStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. + ### ColorPickerModel (@jupyter-widgets/controls, 2.0.0); ColorPickerView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -1305,7 +1318,6 @@ Attribute | Type | Default | Help `_view_module` | string | `'@jupyter-widgets/base'` | `_view_module_version` | string | `'2.0.0'` | `_view_name` | string | `'StyleView'` | -`background` | `null` or string | `null` | Background specifications. `description_width` | string | `''` | Width of the description to the side of the control. `font_family` | `null` or string | `null` | Toggle button text font family. `font_size` | `null` or string | `null` | Toggle button text font size. @@ -1386,7 +1398,7 @@ Attribute | Type | Default | Help `disabled` | boolean | `false` | Enable or disable user changes. `layout` | reference to Layout widget | reference to new instance | `readout` | string | `'Invalid'` | Message displayed when the value is False -`style` | reference to _BoolStyle widget | reference to new instance | Styling customizations +`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. `value` | boolean | `false` | Bool value @@ -1430,16 +1442,3 @@ Attribute | Type | Default | Help `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. -### o (_, B); S (o, l) - -Attribute | Type | Default | Help ------------------|------------------|------------------|---- -`_model_module` | string | `'@jupyter-widgets/controls'` | -`_model_module_version` | string | `'2.0.0'` | -`_model_name` | string | `'BoolStyleModel'` | -`_view_module` | string | `'@jupyter-widgets/base'` | -`_view_module_version` | string | `'2.0.0'` | -`_view_name` | string | `'StyleView'` | -`background` | `null` or string | `null` | Background specifications. -`description_width` | string | `''` | Width of the description to the side of the control. - From a6f2fcb7b7094ba95112072c12ef6d34be533809 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 00:40:40 -0700 Subject: [PATCH 25/30] Introduce HTMLStyle and HTMLMathStyle for consistency with other Style objects. --- ipywidgets/widgets/widget_string.py | 12 +++++++ packages/controls/src/widget_string.ts | 33 +++++++++++++++++- packages/schema/jupyterwidgetmodels.latest.md | 34 +++++++++++++++++-- 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index eb87c835a5..05ad0d04a4 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -40,6 +40,16 @@ class TextStyle(_StringStyle): """Text input style widget.""" _model_name = Unicode('TextStyleModel').tag(sync=True) +@register +class HTMLStyle(_StringStyle): + """HTML style widget.""" + _model_name = Unicode('HTMLStyleModel').tag(sync=True) + +@register +class HTMLMathStyle(_StringStyle): + """HTML with math style widget.""" + _model_name = Unicode('HTMLMathStyleModel').tag(sync=True) + class _String(DescriptionWidget, ValueWidget, CoreWidget): """Base class used to create widgets that represent a string.""" @@ -64,12 +74,14 @@ class HTML(_String): """Renders the string `value` as HTML.""" _view_name = Unicode('HTMLView').tag(sync=True) _model_name = Unicode('HTMLModel').tag(sync=True) + style = InstanceDict(HTMLStyle).tag(sync=True, **widget_serialization) @register class HTMLMath(_String): """Renders the string `value` as HTML, and render mathematics.""" _view_name = Unicode('HTMLMathView').tag(sync=True) _model_name = Unicode('HTMLMathModel').tag(sync=True) + style = InstanceDict(HTMLMathStyle).tag(sync=True, **widget_serialization) @register diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index a41d83a516..2f511908b1 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -14,7 +14,7 @@ import { JUPYTER_CONTROLS_VERSION } from './version'; */ const INVALID_VALUE_CLASS = 'jpwidgets-invalidComboValue'; -export class StringStyleModel extends DescriptionStyleModel { +class StringStyleModel extends DescriptionStyleModel { defaults(): Backbone.ObjectHash { return { ...super.defaults(), @@ -44,6 +44,37 @@ export class StringStyleModel extends DescriptionStyleModel { }; } +export class HTMLStyleModel extends StringStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'HTMLStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION, + }; + } + + public static styleProperties = { + ...StringStyleModel.styleProperties, + }; +} + +export class HTMLMathStyleModel extends StringStyleModel { + defaults(): Backbone.ObjectHash { + return { + ...super.defaults(), + _model_name: 'HTMLMathStyleModel', + _model_module: '@jupyter-widgets/controls', + _model_module_version: JUPYTER_CONTROLS_VERSION, + }; + } + + public static styleProperties = { + ...StringStyleModel.styleProperties, + }; +} + + export class LabelStyleModel extends StringStyleModel { defaults(): Backbone.ObjectHash { return { diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index d0d85d218a..b70b108a96 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -697,11 +697,26 @@ Attribute | Type | Default | Help `description_allow_html` | boolean | `false` | Accept HTML in the description. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to _StringStyle widget | reference to new instance | +`style` | reference to HTMLMathStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### HTMLMathStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'HTMLMathStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### HTMLModel (@jupyter-widgets/controls, 2.0.0); HTMLView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help @@ -717,11 +732,26 @@ Attribute | Type | Default | Help `description_allow_html` | boolean | `false` | Accept HTML in the description. `layout` | reference to Layout widget | reference to new instance | `placeholder` | string | `'\u200b'` | Placeholder text to display when nothing has been typed -`style` | reference to _StringStyle widget | reference to new instance | +`style` | reference to HTMLStyle widget | reference to new instance | `tabbable` | `null` or boolean | `null` | Is widget tabbable? `tooltip` | `null` or string | `null` | A tooltip caption. `value` | string | `''` | String value +### HTMLStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) + +Attribute | Type | Default | Help +-----------------|------------------|------------------|---- +`_model_module` | string | `'@jupyter-widgets/controls'` | +`_model_module_version` | string | `'2.0.0'` | +`_model_name` | string | `'HTMLStyleModel'` | +`_view_module` | string | `'@jupyter-widgets/base'` | +`_view_module_version` | string | `'2.0.0'` | +`_view_name` | string | `'StyleView'` | +`background` | `null` or string | `null` | Background specifications. +`description_width` | string | `''` | Width of the description to the side of the control. +`font_size` | `null` or string | `null` | Text font size. +`text_color` | `null` or string | `null` | Text color + ### ImageModel (@jupyter-widgets/controls, 2.0.0); ImageView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help From a0647e0e649c5c9f5fe1a56f6c1d666018c67024 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 01:04:00 -0700 Subject: [PATCH 26/30] Delete unused StringStyleModel from the model spec, which is just a convenience base class. --- ipywidgets/widgets/widget_string.py | 1 - packages/schema/jupyterwidgetmodels.latest.md | 15 --------------- 2 files changed, 16 deletions(-) diff --git a/ipywidgets/widgets/widget_string.py b/ipywidgets/widgets/widget_string.py index 05ad0d04a4..5056931f17 100644 --- a/ipywidgets/widgets/widget_string.py +++ b/ipywidgets/widgets/widget_string.py @@ -15,7 +15,6 @@ from warnings import warn -@register class _StringStyle(DescriptionStyle, CoreWidget): """Text input style widget.""" _model_name = Unicode('StringStyleModel').tag(sync=True) diff --git a/packages/schema/jupyterwidgetmodels.latest.md b/packages/schema/jupyterwidgetmodels.latest.md index b70b108a96..26838ee0fe 100644 --- a/packages/schema/jupyterwidgetmodels.latest.md +++ b/packages/schema/jupyterwidgetmodels.latest.md @@ -1177,21 +1177,6 @@ Attribute | Type | Default | Help `titles` | array of string | `[]` | Titles of the pages `tooltip` | `null` or string | `null` | A tooltip caption. -### StringStyleModel (@jupyter-widgets/controls, 2.0.0); StyleView (@jupyter-widgets/base, 2.0.0) - -Attribute | Type | Default | Help ------------------|------------------|------------------|---- -`_model_module` | string | `'@jupyter-widgets/controls'` | -`_model_module_version` | string | `'2.0.0'` | -`_model_name` | string | `'StringStyleModel'` | -`_view_module` | string | `'@jupyter-widgets/base'` | -`_view_module_version` | string | `'2.0.0'` | -`_view_name` | string | `'StyleView'` | -`background` | `null` or string | `null` | Background specifications. -`description_width` | string | `''` | Width of the description to the side of the control. -`font_size` | `null` or string | `null` | Text font size. -`text_color` | `null` or string | `null` | Text color - ### TabModel (@jupyter-widgets/controls, 2.0.0); TabView (@jupyter-widgets/controls, 2.0.0) Attribute | Type | Default | Help From 6378e6bccd6478fe0f86f7e439087cd152a078f4 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 01:05:35 -0700 Subject: [PATCH 27/30] Lint --- packages/controls/src/widget_string.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/controls/src/widget_string.ts b/packages/controls/src/widget_string.ts index 2f511908b1..43e7e50e3d 100644 --- a/packages/controls/src/widget_string.ts +++ b/packages/controls/src/widget_string.ts @@ -74,7 +74,6 @@ export class HTMLMathStyleModel extends StringStyleModel { }; } - export class LabelStyleModel extends StringStyleModel { defaults(): Backbone.ObjectHash { return { From eadbfd6aa450bd4e5802ef504ff4f04d043657f6 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 13:50:57 -0700 Subject: [PATCH 28/30] Fix bug in applying button font weight --- packages/controls/src/widget_button.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/controls/src/widget_button.ts b/packages/controls/src/widget_button.ts index 5ce2fb552f..df1ef1c340 100644 --- a/packages/controls/src/widget_button.ts +++ b/packages/controls/src/widget_button.ts @@ -45,7 +45,7 @@ export class ButtonStyleModel extends StyleModel { }, font_weight: { selector: '', - attribute: 'font-family', + attribute: 'font-weight', default: '', }, text_color: { From f5c8cd3df97577ef05166f29600380b62ee346f3 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 13:51:54 -0700 Subject: [PATCH 29/30] Add example of style using a dict, also illustrating some new style attributes including underlining. --- docs/source/examples/Widget Styling.ipynb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/source/examples/Widget Styling.ipynb b/docs/source/examples/Widget Styling.ipynb index e4163e4cdd..e58bafce8d 100644 --- a/docs/source/examples/Widget Styling.ipynb +++ b/docs/source/examples/Widget Styling.ipynb @@ -645,6 +645,29 @@ "s1" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Styles can be given when a widget is constructed, either as a specific Style instance or as a dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b3 = Button(description='Styled button', style=dict(\n", + " font_style='italic',\n", + " font_weight='bold',\n", + " font_variant=\"small-caps\",\n", + " text_color='red',\n", + " text_decoration='underline'\n", + "))\n", + "b3" + ] + }, { "cell_type": "markdown", "metadata": {}, From d66de96c6977f2ed46ee8c7230ac505aba7d59dd Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 6 Aug 2021 15:02:33 -0700 Subject: [PATCH 30/30] Remove test notebooks. These were removed in the squashed branch for this PR, so removing here as well. --- tests/test_boolstyle.ipynb | 142 ---------------------------------- tests/test_buttonstyle.ipynb | 108 -------------------------- tests/test_textstyle.ipynb | 146 ----------------------------------- 3 files changed, 396 deletions(-) delete mode 100644 tests/test_boolstyle.ipynb delete mode 100644 tests/test_buttonstyle.ipynb delete mode 100644 tests/test_textstyle.ipynb diff --git a/tests/test_boolstyle.ipynb b/tests/test_boolstyle.ipynb deleted file mode 100644 index 95fa2fbddd..0000000000 --- a/tests/test_boolstyle.ipynb +++ /dev/null @@ -1,142 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Checkbox, ToggleButton, Valid\n", - "tb = ToggleButton(description=\"ToggleButton\")\n", - "tb" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.background = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.text_color = \"darkgreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.font_weight = \"bold\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.font_size = \"1.2em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tb.style.font_family = \"bitstream\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "v = Valid(True)\n", - "v.style.background = \"palegoldenrod\"\n", - "v" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "v.value = False" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "c = Checkbox(description=\"Chekbox\")\n", - "c" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "c.style.background = \"azure\"\n", - "c.layout.width = \"150px\"\n", - "c.layout.padding = \"0px\"\n", - "c.layout.border = \"1px solid black\"\n", - "c.style.description_width = \"5px\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/test_buttonstyle.ipynb b/tests/test_buttonstyle.ipynb deleted file mode 100644 index 967b74faf8..0000000000 --- a/tests/test_buttonstyle.ipynb +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Button\n", - "b = Button(description=\"Button\")\n", - "b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.button_color = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_color = \"darkgreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_weight = \"bold\" " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_variant = \"small-caps\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_size = \"1.2em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b.style.font_family = \"bitstream\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/test_textstyle.ipynb b/tests/test_textstyle.ipynb deleted file mode 100644 index f56555efa2..0000000000 --- a/tests/test_textstyle.ipynb +++ /dev/null @@ -1,146 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from ipywidgets import Label, HTML, Text, Textarea, Combobox, VBox" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l = Label(\"Label\")\n", - "h = HTML(\"

HTML Paragraph

\")\n", - "t = Text(\"Text input\")\n", - "ta = Textarea(\"Text area\")\n", - "c = Combobox(options=[\"First\", \"Second\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "VBox((l, h, t, ta, c))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l.style.background = \"azure\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l.style.text_color = \"midnightblue\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l.style.font_style = \"italic\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "l.style.text_decoration = \"underline\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "h.style.background = \"lawngreen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "t.style.text_color = \"red\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "t.style.background = \"lightgray\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ta.style.background = \"linen\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ta.style.font_size = \"1.5em\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "c.style.text_color = \"purple\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}