dash 2.18.0__tar.gz → 2.18.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dash-2.18.0 → dash-2.18.2}/LICENSE +2 -2
- {dash-2.18.0/dash.egg-info → dash-2.18.2}/PKG-INFO +1 -1
- {dash-2.18.0 → dash-2.18.2}/dash/_callback.py +17 -23
- {dash-2.18.0 → dash-2.18.2}/dash/_callback_context.py +46 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_dash_renderer.py +4 -4
- {dash-2.18.0 → dash-2.18.2}/dash/_jupyter.py +3 -2
- {dash-2.18.0 → dash-2.18.2}/dash/_pages.py +2 -1
- {dash-2.18.0 → dash-2.18.2}/dash/dash-renderer/build/dash_renderer.dev.js +572 -41
- dash-2.18.2/dash/dash-renderer/build/dash_renderer.min.js +2 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash.py +68 -40
- dash-2.18.2/dash/dash_table/async-highlight.js +2 -0
- dash-2.18.2/dash/dash_table/async-highlight.js.map +1 -0
- dash-2.18.2/dash/dash_table/async-table.js +3 -0
- dash-2.18.2/dash/dash_table/async-table.js.map +1 -0
- dash-2.18.2/dash/dash_table/bundle.js +2 -0
- dash-2.18.2/dash/dash_table/bundle.js.map +1 -0
- dash-2.18.2/dash/dash_table/demo.js +2 -0
- dash-2.18.2/dash/dash_table/demo.js.map +1 -0
- dash-2.18.2/dash/dash_table/metadata.json +1 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/package-info.json +10 -10
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Link.py +4 -4
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Loading.py +4 -4
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Tab.py +4 -4
- dash-2.18.2/dash/dcc/async-highlight.js +2 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-highlight.js.map +1 -1
- dash-2.18.2/dash/dcc/dash_core_components.js +3 -0
- dash-2.18.2/dash/dcc/dash_core_components.js.map +1 -0
- dash-2.18.2/dash/dcc/metadata.json +1 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/package-info.json +8 -7
- dash-2.18.2/dash/deps/react-dom@18.3.1.js +29924 -0
- dash-2.18.2/dash/deps/react-dom@18.3.1.min.js +267 -0
- dash-2.18.2/dash/deps/react@18.3.1.js +3343 -0
- dash-2.18.2/dash/deps/react@18.3.1.min.js +31 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/_py_components_generation.py +1 -1
- {dash-2.18.0 → dash-2.18.2}/dash/development/base_component.py +21 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/build_process.py +4 -1
- {dash-2.18.0 → dash-2.18.2}/dash/development/component_generator.py +1 -1
- {dash-2.18.0 → dash-2.18.2}/dash/development/component_loader.py +9 -1
- {dash-2.18.0 → dash-2.18.2}/dash/extract-meta.js +8 -0
- dash-2.18.2/dash/html/dash_html_components.min.js +2 -0
- dash-2.18.2/dash/html/dash_html_components.min.js.map +1 -0
- dash-2.18.2/dash/html/metadata.json +1 -0
- {dash-2.18.0 → dash-2.18.2}/dash/html/package-info.json +8 -7
- dash-2.18.2/dash/labextension/dist/dash-jupyterlab.tgz +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/application_runners.py +4 -2
- dash-2.18.2/dash/version.py +1 -0
- {dash-2.18.0 → dash-2.18.2/dash.egg-info}/PKG-INFO +1 -1
- {dash-2.18.0 → dash-2.18.2}/dash.egg-info/SOURCES.txt +4 -0
- dash-2.18.0/dash/dash-renderer/build/dash_renderer.min.js +0 -2
- dash-2.18.0/dash/dash_table/async-highlight.js +0 -2
- dash-2.18.0/dash/dash_table/async-highlight.js.map +0 -1
- dash-2.18.0/dash/dash_table/async-table.js +0 -3
- dash-2.18.0/dash/dash_table/async-table.js.map +0 -1
- dash-2.18.0/dash/dash_table/bundle.js +0 -2
- dash-2.18.0/dash/dash_table/bundle.js.map +0 -1
- dash-2.18.0/dash/dash_table/demo.js +0 -2
- dash-2.18.0/dash/dash_table/demo.js.map +0 -1
- dash-2.18.0/dash/dash_table/metadata.json +0 -2561
- dash-2.18.0/dash/dcc/async-highlight.js +0 -2
- dash-2.18.0/dash/dcc/dash_core_components.js +0 -3
- dash-2.18.0/dash/dcc/dash_core_components.js.map +0 -1
- dash-2.18.0/dash/dcc/metadata.json +0 -6283
- dash-2.18.0/dash/html/dash_html_components.min.js +0 -2
- dash-2.18.0/dash/html/dash_html_components.min.js.map +0 -1
- dash-2.18.0/dash/html/metadata.json +0 -28585
- dash-2.18.0/dash/labextension/dist/dash-jupyterlab.tgz +0 -0
- dash-2.18.0/dash/version.py +0 -1
- {dash-2.18.0 → dash-2.18.2}/MANIFEST.in +0 -0
- {dash-2.18.0 → dash-2.18.2}/README.md +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_configs.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_get_app.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_get_paths.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_grouping.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_patch.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_utils.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_validate.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/_watch.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/.gitkeep +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/DataTable.py +139 -139
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/Format.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/FormatTemplate.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/_imports_.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/async-export.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/async-export.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/async-export.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/async-table.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dash_table/index.html +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/.gitkeep +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Checklist.py +10 -10
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Clipboard.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/ConfirmDialog.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/ConfirmDialogProvider.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/DatePickerRange.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/DatePickerSingle.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Download.py +4 -4
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Dropdown.py +14 -14
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Geolocation.py +4 -4
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Graph.py +94 -94
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Input.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Interval.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Location.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/LogoutButton.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Markdown.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/RadioItems.py +10 -10
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/RangeSlider.py +6 -6
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Slider.py +6 -6
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Store.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Tabs.py +5 -5
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Textarea.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Tooltip.py +5 -5
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/Upload.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/_imports_.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-datepicker.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-datepicker.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-dropdown.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-dropdown.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-dropdown.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-graph.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-graph.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-markdown.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-markdown.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-markdown.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-mathjax.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-slider.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-slider.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-slider.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-upload.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/async-upload.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/dash_core_components-shared.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/dash_core_components-shared.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/dash_core_components-shared.js.map +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/dash_core_components.js.LICENSE.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dcc/express.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/dependencies.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/polyfill@7.12.1.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/prop-types@15.8.1.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/prop-types@15.8.1.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react-dom@16.14.0.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react-dom@16.14.0.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react-dom@18.2.0.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react-dom@18.2.0.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react@16.14.0.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react@16.14.0.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react@18.2.0.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/deps/react@18.2.0.min.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/_all_keywords.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/_collect_nodes.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/_jl_components_generation.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/_r_components_generation.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/development/update_components.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/exceptions.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/favicon.ico +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/fingerprint.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/html/.gitkeep +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/html/A.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Abbr.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Acronym.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Address.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Area.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Article.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Aside.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Audio.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/B.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Base.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Basefont.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Bdi.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Bdo.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Big.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Blink.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Blockquote.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Br.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Button.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Canvas.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Caption.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Center.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Cite.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Code.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Col.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Colgroup.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Content.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Data.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Datalist.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Dd.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Del.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Details.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Dfn.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Dialog.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Div.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Dl.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Dt.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Em.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Embed.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Fieldset.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Figcaption.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Figure.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Font.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Footer.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Form.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Frame.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Frameset.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H1.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H2.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H3.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H4.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H5.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/H6.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Header.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Hgroup.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Hr.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/I.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Iframe.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Img.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Ins.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Kbd.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Keygen.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Label.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Legend.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Li.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Link.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Main.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/MapEl.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Mark.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Marquee.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Meta.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Meter.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Nav.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Nobr.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Noscript.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/ObjectEl.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Ol.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Optgroup.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Option.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Output.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/P.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Param.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Picture.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Plaintext.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Pre.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Progress.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Q.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Rb.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Rp.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Rt.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Rtc.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Ruby.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/S.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Samp.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Script.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Section.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Select.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Shadow.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Slot.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Small.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Source.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Spacer.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Span.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Strike.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Strong.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Sub.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Summary.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Sup.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Table.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Tbody.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Td.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Template.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Textarea.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Tfoot.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Th.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Thead.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Time.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Title.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Tr.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Track.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/U.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Ul.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Var.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Video.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Wbr.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/Xmp.py +3 -3
- {dash-2.18.0 → dash-2.18.2}/dash/html/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/html/_imports_.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/labextension/package.json +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/long_callback/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/long_callback/_proxy_set_props.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/long_callback/managers/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/long_callback/managers/celery_manager.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/long_callback/managers/diskcache_manager.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/nbextension/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/nbextension/dash.json +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/nbextension/main.js +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/resources.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/__init__.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/browser.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/composite.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/consts.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/dash_page.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/errors.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/newhooks.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/plugin.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/testing/wait.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash/types.py +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash.egg-info/dependency_links.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash.egg-info/entry_points.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash.egg-info/requires.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/dash.egg-info/top_level.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/celery.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/ci.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/compress.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/dev.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/diskcache.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/install.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/requirements/testing.txt +0 -0
- {dash-2.18.0 → dash-2.18.2}/setup.cfg +0 -0
- {dash-2.18.0 → dash-2.18.2}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2015-2024 Plotly Technologies Inc.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -409,23 +409,16 @@ def register_callback(
|
|
|
409
409
|
|
|
410
410
|
job_fn = callback_manager.func_registry.get(long_key)
|
|
411
411
|
|
|
412
|
+
ctx_value = AttributeDict(**context_value.get())
|
|
413
|
+
ctx_value.ignore_register_page = True
|
|
414
|
+
ctx_value.pop("background_callback_manager")
|
|
415
|
+
ctx_value.pop("dash_response")
|
|
416
|
+
|
|
412
417
|
job = callback_manager.call_job_fn(
|
|
413
418
|
cache_key,
|
|
414
419
|
job_fn,
|
|
415
420
|
func_args if func_args else func_kwargs,
|
|
416
|
-
|
|
417
|
-
args_grouping=callback_ctx.args_grouping,
|
|
418
|
-
using_args_grouping=callback_ctx.using_args_grouping,
|
|
419
|
-
outputs_grouping=callback_ctx.outputs_grouping,
|
|
420
|
-
using_outputs_grouping=callback_ctx.using_outputs_grouping,
|
|
421
|
-
inputs_list=callback_ctx.inputs_list,
|
|
422
|
-
states_list=callback_ctx.states_list,
|
|
423
|
-
outputs_list=callback_ctx.outputs_list,
|
|
424
|
-
input_values=callback_ctx.input_values,
|
|
425
|
-
state_values=callback_ctx.state_values,
|
|
426
|
-
triggered_inputs=callback_ctx.triggered_inputs,
|
|
427
|
-
ignore_register_page=True,
|
|
428
|
-
),
|
|
421
|
+
ctx_value,
|
|
429
422
|
)
|
|
430
423
|
|
|
431
424
|
data = {
|
|
@@ -508,11 +501,8 @@ def register_callback(
|
|
|
508
501
|
output_value = error_handler(err)
|
|
509
502
|
|
|
510
503
|
# If the error returns nothing, automatically puts NoUpdate for response.
|
|
511
|
-
if output_value is None:
|
|
512
|
-
|
|
513
|
-
output_value = NoUpdate()
|
|
514
|
-
else:
|
|
515
|
-
output_value = [NoUpdate() for _ in output_spec]
|
|
504
|
+
if output_value is None and has_output:
|
|
505
|
+
output_value = NoUpdate()
|
|
516
506
|
else:
|
|
517
507
|
raise err
|
|
518
508
|
|
|
@@ -528,12 +518,16 @@ def register_callback(
|
|
|
528
518
|
# list or tuple
|
|
529
519
|
output_value = list(output_value)
|
|
530
520
|
|
|
531
|
-
|
|
532
|
-
|
|
521
|
+
if NoUpdate.is_no_update(output_value):
|
|
522
|
+
flat_output_values = [output_value]
|
|
523
|
+
else:
|
|
524
|
+
# Flatten grouping and validate grouping structure
|
|
525
|
+
flat_output_values = flatten_grouping(output_value, output)
|
|
533
526
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
527
|
+
if not NoUpdate.is_no_update(output_value):
|
|
528
|
+
_validate.validate_multi_return(
|
|
529
|
+
output_spec, flat_output_values, callback_id
|
|
530
|
+
)
|
|
537
531
|
|
|
538
532
|
for val, spec in zip(flat_output_values, output_spec):
|
|
539
533
|
if NoUpdate.is_no_update(val):
|
|
@@ -30,6 +30,10 @@ def _get_context_value():
|
|
|
30
30
|
return context_value.get()
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
def _get_from_context(key, default):
|
|
34
|
+
return getattr(_get_context_value(), key, default)
|
|
35
|
+
|
|
36
|
+
|
|
33
37
|
class FalsyList(list):
|
|
34
38
|
def __bool__(self):
|
|
35
39
|
# for Python 3
|
|
@@ -258,6 +262,48 @@ class CallbackContext:
|
|
|
258
262
|
else:
|
|
259
263
|
ctx_value.updated_props[_id] = props
|
|
260
264
|
|
|
265
|
+
@property
|
|
266
|
+
@has_context
|
|
267
|
+
def cookies(self):
|
|
268
|
+
"""
|
|
269
|
+
Get the cookies for the current callback.
|
|
270
|
+
Works with background callbacks.
|
|
271
|
+
"""
|
|
272
|
+
return _get_from_context("cookies", {})
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
@has_context
|
|
276
|
+
def headers(self):
|
|
277
|
+
"""
|
|
278
|
+
Get the original headers for the current callback.
|
|
279
|
+
Works with background callbacks.
|
|
280
|
+
"""
|
|
281
|
+
return _get_from_context("headers", {})
|
|
282
|
+
|
|
283
|
+
@property
|
|
284
|
+
@has_context
|
|
285
|
+
def path(self):
|
|
286
|
+
"""
|
|
287
|
+
Path of the callback request with the query parameters.
|
|
288
|
+
"""
|
|
289
|
+
return _get_from_context("path", "")
|
|
290
|
+
|
|
291
|
+
@property
|
|
292
|
+
@has_context
|
|
293
|
+
def remote(self):
|
|
294
|
+
"""
|
|
295
|
+
Remote addr of the callback request.
|
|
296
|
+
"""
|
|
297
|
+
return _get_from_context("remote", "")
|
|
298
|
+
|
|
299
|
+
@property
|
|
300
|
+
@has_context
|
|
301
|
+
def origin(self):
|
|
302
|
+
"""
|
|
303
|
+
Origin of the callback request.
|
|
304
|
+
"""
|
|
305
|
+
return _get_from_context("origin", "")
|
|
306
|
+
|
|
261
307
|
|
|
262
308
|
callback_context = CallbackContext()
|
|
263
309
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import os
|
|
2
2
|
|
|
3
|
-
__version__ = "1.21.
|
|
3
|
+
__version__ = "1.21.1"
|
|
4
4
|
|
|
5
|
-
_available_react_versions = {"16.14.0", "18.2.0"}
|
|
6
|
-
_available_reactdom_versions = {"16.14.0", "18.2.0"}
|
|
5
|
+
_available_react_versions = {"16.14.0", "18.2.0", "18.3.1"}
|
|
6
|
+
_available_reactdom_versions = {"16.14.0", "18.2.0", "18.3.1"}
|
|
7
7
|
_js_dist_dependencies = [] # to be set by _set_react_version
|
|
8
8
|
|
|
9
9
|
|
|
@@ -64,7 +64,7 @@ _js_dist = [
|
|
|
64
64
|
{
|
|
65
65
|
"relative_package_path": "dash-renderer/build/dash_renderer.min.js",
|
|
66
66
|
"dev_package_path": "dash-renderer/build/dash_renderer.dev.js",
|
|
67
|
-
"external_url": "https://unpkg.com/dash-renderer@1.21.
|
|
67
|
+
"external_url": "https://unpkg.com/dash-renderer@1.21.1"
|
|
68
68
|
"/build/dash_renderer.min.js",
|
|
69
69
|
"namespace": "dash",
|
|
70
70
|
},
|
|
@@ -9,6 +9,7 @@ import sys
|
|
|
9
9
|
import threading
|
|
10
10
|
import time
|
|
11
11
|
|
|
12
|
+
from typing import Optional
|
|
12
13
|
from typing_extensions import Literal
|
|
13
14
|
|
|
14
15
|
from werkzeug.serving import make_server
|
|
@@ -228,7 +229,7 @@ class JupyterDash:
|
|
|
228
229
|
def run_app(
|
|
229
230
|
self,
|
|
230
231
|
app,
|
|
231
|
-
mode: JupyterDisplayMode = None,
|
|
232
|
+
mode: Optional[JupyterDisplayMode] = None,
|
|
232
233
|
width="100%",
|
|
233
234
|
height=650,
|
|
234
235
|
host="127.0.0.1",
|
|
@@ -266,7 +267,7 @@ class JupyterDash:
|
|
|
266
267
|
f" Received value of type {type(mode)}: {repr(mode)}"
|
|
267
268
|
)
|
|
268
269
|
else:
|
|
269
|
-
mode = mode.lower()
|
|
270
|
+
mode = mode.lower() # type: ignore
|
|
270
271
|
if mode not in valid_display_values:
|
|
271
272
|
raise ValueError(
|
|
272
273
|
f"Invalid display argument {mode}\n"
|
|
@@ -6,7 +6,7 @@ import sys
|
|
|
6
6
|
from fnmatch import fnmatch
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from os.path import isfile, join
|
|
9
|
-
from urllib.parse import parse_qs
|
|
9
|
+
from urllib.parse import parse_qs, unquote
|
|
10
10
|
|
|
11
11
|
import flask
|
|
12
12
|
|
|
@@ -113,6 +113,7 @@ def _infer_module_name(page_path):
|
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
def _parse_query_string(search):
|
|
116
|
+
search = unquote(search)
|
|
116
117
|
if search and len(search) > 0 and search[0] == "?":
|
|
117
118
|
search = search[1:]
|
|
118
119
|
else:
|