solara-ui 1.33.0__tar.gz → 1.34.1__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.
- {solara_ui-1.33.0 → solara_ui-1.34.1}/PKG-INFO +1 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/__init__.py +1 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/echarts.vue +2 -8
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/input.py +2 -2
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown.py +2 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown_editor.vue +2 -5
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/sql_code.vue +2 -5
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/tooltip.py +1 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/input_date.py +47 -6
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/style.css +13 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/reload.py +24 -15
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/starlette.py +1 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/solara_bootstrap.py +1 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/solara.html.j2 +5 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia_api.vue +2 -5
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/sidebar.py +26 -20
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/changelog/changelog.md +21 -0
- solara_ui-1.34.1/solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +7 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/gridlayout.vue +2 -5
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/vegalite.vue +2 -5
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/api_test.py +2 -2
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/server_test.py +2 -2
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/input_test.py +14 -14
- solara_ui-1.33.0/solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +0 -1
- {solara_ui-1.33.0 → solara_ui-1.34.1}/.gitignore +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/LICENSE +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/README.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/prefix/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/prefix/etc/jupyter/jupyter_server_config.d/solara.json +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/pyproject.toml +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/__main__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/alias.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/autorouting.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/cache.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/checks.html +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/checks.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/comm.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/alert.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/applayout.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/button.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/card.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/checkbox.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/code_highlight_css.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/code_highlight_css.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/columns.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/component_vue.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/cross_filter.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/datatable.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/datatable.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/details.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/download.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/echarts.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/figure_altair.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_browser.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_download.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_drop.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_drop.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_list_widget.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head_tag.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head_tag.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/image.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/link.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown_editor.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/matplotlib.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/meta.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/misc.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/pivot_table.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/pivot_table.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/progress.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/select.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/select.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/slider.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/slider_date.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/spinner-solara.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/spinner.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/sql_code.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/style.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/switch.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/tab_navigation.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/title.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/title.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/togglebuttons.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/datatypes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/express.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/misc.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/use_reactive.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/use_thread.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/kitchensink.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/chat.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/confirmation_dialog.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/cross_filter.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/menu.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/menu.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/tabs.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/theming.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/theming.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/hooks/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/hooks/dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/toestand.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/cookies.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/headers.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/layout.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lifecycle.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/minisettings.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/py.typed +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/reactive.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/routing.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/scope/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/scope/types.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/app.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/custom.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/custom.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/favicon.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/favicon.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme-dark.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme-light.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/cdn_helper.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/esm.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/fastapi.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/flask.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/cdn_handler.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/server_extension.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupytertools.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/kernel.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/kernel_context.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/patch.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/server.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/settings.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/shell.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/ansi.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/highlight-dark.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/highlight.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/main-vuetify.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/main.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/sun.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/webworker.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/telemetry.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/index.html.j2 +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-plain.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-plain.html +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-solara.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-solara.html +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/plain.html +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/threaded.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/utils.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/websocket.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/settings.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/tasks.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/button.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/markdown.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/.flake8 +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/.pre-commit-config.yaml +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/LICENSE +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/Procfile +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/mypy.ini +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/pyproject.toml +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/article.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/data.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/header.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/layout.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/content/articles/equis-in-vidi.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/content/articles/substiterat-vati.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/data.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/article/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/tabular.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/viz/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/viz/overview.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/test/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/test/pytest_plugin.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/toestand.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/util.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/custom.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo-small.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo_white.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/theme.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/docs.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/header.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/hero.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/mailchimp.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/mailchimp.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/markdown.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/notebook.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/admin.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/users.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/jupyter-dashboard-1.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/layout-demo.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/page1.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/page2.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/scatter.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/scrolling.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/tutorial-streamlit.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/changelog/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/contact/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/contact/contact.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/doc_use_download.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/10-multipage.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/20-layout.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/30-testing.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/31-debugging.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/40-embed.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/50-ipywidget_libraries.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/40-static_files.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/41-asset-files.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/60-static-site-generation.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/70-search.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/80-reloading.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/90-notebook-support.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/95-caching.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/00-introduction.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/05-ipywidgets.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/06-ipyvuetify.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/10-reacton.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/12-reacton-basics.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/15-anatomy.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/17-rules-of-hooks.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/18-containers.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/20-solara.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/40-routing.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/50-solara-server.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/60-voila.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/30-enterprise/10-oauth.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/01-contribute.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/10-setup.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_report.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_select.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_slider.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_cross_filter.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_dark_effective.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_effect.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_effect.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_exception.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_memo.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_memo.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_previous.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_reactive.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_state.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_state_or_update.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_thread.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_thread.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_trait_observe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/generate_routes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/generate_routes_directory.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/resolve_path.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/route.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/use_route.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/use_router.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/component_vue.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/computed.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/display.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/get_kernel_id.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/get_session_id.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/memoize.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/on_kernel_start.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/reactive.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/widget.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/link.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/meta.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/style.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/common.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/dataframe.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/pivot_table.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/avatar.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/avatar_menu.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/button.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/checkbox.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/file_browser.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/file_drop.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/input.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/select.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/slider.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/switch.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/togglebuttons.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/chat.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/confirmation_dialog.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/cookies_headers.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/input_date.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/menu.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/tab.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/tabs.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/task.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/theming.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/use_task.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_bar.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_bar_title.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_layout.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/card.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/card_actions.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/column.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/columns.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/columns_responsive.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/details.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/griddraggable.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/gridfixed.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/hbox.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/row.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/sidebar.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/vbox.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/file_download.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/html.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/image.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/markdown.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/markdown_editor.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/sql_code.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/tooltip.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/head.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/title.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/error.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/info.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/progress.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/spinner.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/success.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/warning.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/altair.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/echarts.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/matplotlib.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/plotly.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/plotly_express.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/chatbot.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/tokenizer.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/basics/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/basics/sine.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/authorization.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/layout_demo.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/multipage.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/scatter.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/scrolling.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/tutorial_streamlit.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/custom_storage.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/deploy_model.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/live_update.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/login_oauth.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/mycard.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/pokemon_search.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/vue_component.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ipycanvas.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/altair.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/bqplot.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/ipyleaflet.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/ipyleaflet_advanced.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/calculator.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/countdown_timer.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/todo.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/annotator.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/linked_views.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/plotly.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/faq/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/faq/content/99-faq.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/00-quickstart.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/01-introduction.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/02-installing.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/10_data_science.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/20-web-app.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/30-ipywidgets.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/40-streamlit.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/50-dash.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/60-jupyter-dashboard-part1.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/SF_crime_sample.csv.gz +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/_data_science.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/_jupyter_dashboard_1.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/05-fundamentals/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/05-fundamentals/10-components.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/05-fundamentals/50-state-management.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/07-deploying/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/07-deploying/10-self-hosted.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/07-deploying/20-cloud-hosted.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/80-what-is-lab.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/90-troubleshoot.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/docutils.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/domino_code_assist.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/planeto_tessa.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solara_dev.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_2.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_4.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_5.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_6.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/wanderlust.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/beach.jpeg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/logo.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/discord.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/github.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/twitter.svg +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/success.html +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/templates/index.html.j2 +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/utils.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/html.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/navigator.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/widgets.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/conftest.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_event_with_future_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_event_with_polling_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_api_find_testing_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_testing_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_threaded_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/app_widget.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets1/common.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets1/unique1.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/common.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/custom.css +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/custom.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/unique2.js +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/async_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/cdn_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/cmdline_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/conftest.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/create_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/enterprise/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/enterprise/oauth_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/error_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/esm_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/file_download_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/flask_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/input_date_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/latex_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/lifecycle_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/markdown_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/menu_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/popout_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/reconnect_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/reload/apps.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/router_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/ssg_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/starlette_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/test.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/testapp.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/widget_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/latex_test.py/test_widget_latex_solara-flask-chromium-linux-ipywidgets-7-changed-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/latex_test.py/test_widget_latex_solara-flask-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/latex_test.py/test_widget_latex_solara-flask-chromium-linux-ipywidgets-8-changed-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/latex_test.py/test_widget_latex_solara-flask-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-jupyter_lab-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-jupyter_lab-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-jupyter_notebook-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-jupyter_notebook-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-solara-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-solara-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-voila-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-flask-voila-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-starlette-solara-chromium-linux-ipywidgets-7-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_slider_all-starlette-solara-chromium-linux-ipywidgets-8-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_solara_button_all-flask-jupyter_lab-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_solara_button_all-flask-jupyter_notebook-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_solara_button_all-flask-solara-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_solara_button_all-flask-voila-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_solara_button_all-starlette-solara-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_widget_button_solara-flask-chromium-linux-ipyvuetify3-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_widget_button_solara-flask-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_widget_button_solara-starlette-chromium-linux-ipyvuetify3-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/ui/snapshots/tests/integration/widget_test.py/test_widget_button_solara-starlette-chromium-linux-reference.png +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/app_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/applayout_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/autorouting_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cache_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cdn_helper_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/chat_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/checkbox_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/common.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/component_frontend_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/component_vue_test.vue +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/confirmation_dialog_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/conftest.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cross_filter_component_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cross_filter_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/dataframe_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/datatable_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/display_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/express_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/file_browser_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/file_download_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/hooks_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/input_date_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/kernel_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/lab/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/lifecycle_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/matplotlib_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/no_solara_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/output_widget_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/patch_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/pivottable_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/reload_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/router_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/select_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/settings_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/shell_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/slider_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/food.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/index.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/kernel_start.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/01-home.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/02-my_fruit.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/03-some-markdown.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/04-a_directory/00-another-markdown.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/04-a_directory/01-not-an-app.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/04-a_directory/__init__.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/05-and-notebooks.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/06-custom-routes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/10-single-file-directory/single-file.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/99-some_other_python_script.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/some_other_file.txt +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/00-overview.md +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/01-views.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/02-likes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/03-volume.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/04-color.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_component.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_element.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_widget.ipynb +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file_multiple_routes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file_routes.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/switch_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/tabs_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/task_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/telemetry_tests.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toestand_computed_reload.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toestand_test.py +0 -0
- {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toggle_button_test.py +0 -0
|
@@ -93,10 +93,7 @@ module.exports = {
|
|
|
93
93
|
document.head.appendChild(script);
|
|
94
94
|
});
|
|
95
95
|
},
|
|
96
|
-
|
|
97
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
98
|
-
return solara.rootPath + "/";
|
|
99
|
-
}
|
|
96
|
+
getJupyterBaseUrl() {
|
|
100
97
|
// if base url is set, we use ./ for relative paths compared to the base url
|
|
101
98
|
if (document.getElementsByTagName("base").length) {
|
|
102
99
|
return "./";
|
|
@@ -113,10 +110,7 @@ module.exports = {
|
|
|
113
110
|
return base;
|
|
114
111
|
},
|
|
115
112
|
getCdn() {
|
|
116
|
-
return (
|
|
117
|
-
(typeof solara_cdn !== "undefined" && solara_cdn) ||
|
|
118
|
-
`${this.getBaseUrl()}_solara/cdn`
|
|
119
|
-
);
|
|
113
|
+
return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`
|
|
120
114
|
},
|
|
121
115
|
},
|
|
122
116
|
};
|
|
@@ -11,7 +11,7 @@ from solara.alias import rv as v
|
|
|
11
11
|
T = TypeVar("T")
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
def use_change(el: reacton.core.Element, on_value: Callable[[Any], Any], enabled=True, update_events=["
|
|
14
|
+
def use_change(el: reacton.core.Element, on_value: Callable[[Any], Any], enabled=True, update_events=["focusout", "keyup.enter"]):
|
|
15
15
|
"""Trigger a callback when a blur events occurs or the enter key is pressed."""
|
|
16
16
|
on_value_ref = solara.use_ref(on_value)
|
|
17
17
|
on_value_ref.current = on_value
|
|
@@ -44,7 +44,7 @@ def InputText(
|
|
|
44
44
|
disabled: bool = False,
|
|
45
45
|
password: bool = False,
|
|
46
46
|
continuous_update: bool = False,
|
|
47
|
-
update_events: List[str] = ["
|
|
47
|
+
update_events: List[str] = ["focusout", "keyup.enter"],
|
|
48
48
|
error: Union[bool, str] = False,
|
|
49
49
|
message: Optional[str] = None,
|
|
50
50
|
classes: List[str] = [],
|
|
@@ -119,7 +119,8 @@ module.exports = {
|
|
|
119
119
|
href = location.pathname + href.substr(1);
|
|
120
120
|
a.attributes['href'].href = href;
|
|
121
121
|
}
|
|
122
|
-
|
|
122
|
+
let authLink = href.starswith("/_solara/auth/");
|
|
123
|
+
if( (href.startsWith("./") || href.startsWith("/")) && !authLink) {
|
|
123
124
|
a.onclick = e => {
|
|
124
125
|
console.log("clicked", href)
|
|
125
126
|
if(href.startsWith("./")) {
|
|
@@ -247,10 +247,7 @@ module.exports = {
|
|
|
247
247
|
document.head.appendChild(script);
|
|
248
248
|
});
|
|
249
249
|
},
|
|
250
|
-
|
|
251
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
252
|
-
return solara.rootPath + "/";
|
|
253
|
-
}
|
|
250
|
+
getJupyterBaseUrl() {
|
|
254
251
|
// if base url is set, we use ./ for relative paths compared to the base url
|
|
255
252
|
if (document.getElementsByTagName("base").length) {
|
|
256
253
|
return "./";
|
|
@@ -267,7 +264,7 @@ module.exports = {
|
|
|
267
264
|
return base
|
|
268
265
|
},
|
|
269
266
|
getCdn() {
|
|
270
|
-
return
|
|
267
|
+
return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`;
|
|
271
268
|
},
|
|
272
269
|
},
|
|
273
270
|
};
|
|
@@ -83,10 +83,7 @@
|
|
|
83
83
|
document.head.appendChild(script);
|
|
84
84
|
});
|
|
85
85
|
},
|
|
86
|
-
|
|
87
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
88
|
-
return solara.rootPath + "/";
|
|
89
|
-
}
|
|
86
|
+
getJupyterBaseUrl() {
|
|
90
87
|
// if base url is set, we use ./ for relative paths compared to the base url
|
|
91
88
|
if (document.getElementsByTagName("base").length) {
|
|
92
89
|
return document.baseURI;
|
|
@@ -103,7 +100,7 @@
|
|
|
103
100
|
return base
|
|
104
101
|
},
|
|
105
102
|
getCdn() {
|
|
106
|
-
return
|
|
103
|
+
return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`;
|
|
107
104
|
},
|
|
108
105
|
}
|
|
109
106
|
}
|
|
@@ -43,6 +43,9 @@ def InputDate(
|
|
|
43
43
|
first_day_of_the_week: int = 1,
|
|
44
44
|
style: Optional[Union[str, Dict[str, str]]] = None,
|
|
45
45
|
classes: Optional[List[str]] = None,
|
|
46
|
+
date_picker_type: str = "date",
|
|
47
|
+
min_date: Optional[str] = None,
|
|
48
|
+
max_date: Optional[str] = None,
|
|
46
49
|
):
|
|
47
50
|
"""
|
|
48
51
|
Show a textfield, which when clicked, opens a datepicker. The input date should be of type `datetime.date`.
|
|
@@ -78,12 +81,22 @@ def InputDate(
|
|
|
78
81
|
* first_day_of_the_week: Sets the first day of the week, as an `int` starting count from Sunday (`=0`). Defaults to `1`, which is Monday.
|
|
79
82
|
* style: CSS style to apply to the text field. Either a string or a dictionary of CSS properties (i.e. `{"property": "value"}`).
|
|
80
83
|
* classes: List of CSS classes to apply to the text field.
|
|
84
|
+
* date_picker_type: Sets the type of the datepicker. Use `"date"` for date selection or `"month"` for month selection. Defaults to `"date"`.
|
|
85
|
+
* min_date: Earliest allowed date/month (ISO 8601 format). If not specified, there is no limit.
|
|
86
|
+
* max_date: Latest allowed date/month (ISO 8601 format). If not specified, there is no limit.
|
|
81
87
|
"""
|
|
82
88
|
value_reactive = solara.use_reactive(value, on_value) # type: ignore
|
|
83
89
|
del value, on_value
|
|
84
90
|
datepicker_is_open = solara.use_reactive(open_value, on_open_value) # type: ignore
|
|
85
91
|
del open_value, on_open_value
|
|
86
92
|
|
|
93
|
+
if date_picker_type == "date":
|
|
94
|
+
internal_date_format = "%Y-%m-%d"
|
|
95
|
+
elif date_picker_type == "month":
|
|
96
|
+
internal_date_format = "%Y-%m"
|
|
97
|
+
else:
|
|
98
|
+
raise ValueError("date_picker_type must be either 'date' or 'month'.")
|
|
99
|
+
|
|
87
100
|
def set_date_typed_cast(value: Optional[str]):
|
|
88
101
|
if value:
|
|
89
102
|
try:
|
|
@@ -103,7 +116,7 @@ def InputDate(
|
|
|
103
116
|
|
|
104
117
|
def set_date_cast(new_value: Optional[str]):
|
|
105
118
|
if new_value:
|
|
106
|
-
date_value = dt.datetime.strptime(new_value,
|
|
119
|
+
date_value = dt.datetime.strptime(new_value, internal_date_format).date()
|
|
107
120
|
datepicker_is_open.set(False)
|
|
108
121
|
value_reactive.value = date_value
|
|
109
122
|
|
|
@@ -111,7 +124,7 @@ def InputDate(
|
|
|
111
124
|
if date is None:
|
|
112
125
|
return None
|
|
113
126
|
else:
|
|
114
|
-
return date.strftime(
|
|
127
|
+
return date.strftime(internal_date_format)
|
|
115
128
|
|
|
116
129
|
date_standard_str = standard_strfy(value_reactive.value)
|
|
117
130
|
|
|
@@ -144,6 +157,9 @@ def InputDate(
|
|
|
144
157
|
on_v_model=set_date_cast,
|
|
145
158
|
first_day_of_week=first_day_of_the_week,
|
|
146
159
|
style_="width: 100%;",
|
|
160
|
+
max=max_date,
|
|
161
|
+
min=min_date,
|
|
162
|
+
type=date_picker_type,
|
|
147
163
|
):
|
|
148
164
|
if len(children) > 0:
|
|
149
165
|
solara.display(*children)
|
|
@@ -162,6 +178,10 @@ def InputDateRange(
|
|
|
162
178
|
first_day_of_the_week: int = 1,
|
|
163
179
|
style: Optional[Union[str, Dict[str, str]]] = None,
|
|
164
180
|
classes: Optional[List[str]] = None,
|
|
181
|
+
date_picker_type: str = "date",
|
|
182
|
+
min_date: Optional[str] = None,
|
|
183
|
+
max_date: Optional[str] = None,
|
|
184
|
+
sort: Optional[bool] = False,
|
|
165
185
|
):
|
|
166
186
|
"""
|
|
167
187
|
Show a textfield, which when clicked, opens a datepicker that allows users to select a range of dates by choosing a starting and ending date.
|
|
@@ -194,11 +214,16 @@ def InputDateRange(
|
|
|
194
214
|
Intended to be used in conjunction with a custom set of controls to close the datepicker.
|
|
195
215
|
* on_open_value: a callback function for when open_value changes. Also receives the new value as an argument.
|
|
196
216
|
* date_format: Sets the format of the date displayed in the text field. Defaults to `"%Y/%m/%d"`. For more information,
|
|
197
|
-
* optional: Determines whether go show an error when value is `None`. If `True`, no error is shown.
|
|
198
217
|
see <a href="https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes" target="_blank">the Python documentation</a>.
|
|
218
|
+
* optional: Determines whether go show an error when value is `None`. If `True`, no error is shown.
|
|
199
219
|
* first_day_of_the_week: Sets the first day of the week, as an `int` starting count from Sunday (`=0`). Defaults to `1`, which is Monday.
|
|
200
220
|
* style: CSS style to apply to the text field. Either a string or a dictionary of CSS properties (i.e. `{"property": "value"}`).
|
|
201
221
|
* classes: List of CSS classes to apply to the text field.
|
|
222
|
+
* date_picker_type: Sets the type of the datepicker. Use `"date"` for date selection or `"month"` for month selection. Defaults to `"date"`.
|
|
223
|
+
* min_date: Earliest allowed date/month (ISO 8601 format). If not specified, there is no limit.
|
|
224
|
+
* max_date: Latest allowed date/month (ISO 8601 format). If not specified, there is no limit.
|
|
225
|
+
* sort: If True, selected dates will be sorted in ascending order, regardless of the order they were picked. If False, preserves the order the
|
|
226
|
+
dates were selected.
|
|
202
227
|
|
|
203
228
|
## A More Advanced Example
|
|
204
229
|
|
|
@@ -244,7 +269,15 @@ def InputDateRange(
|
|
|
244
269
|
"""
|
|
245
270
|
value_reactive = solara.use_reactive(value, on_value) # type: ignore
|
|
246
271
|
del value, on_value
|
|
247
|
-
|
|
272
|
+
|
|
273
|
+
if date_picker_type == "date":
|
|
274
|
+
internal_date_format = "%Y-%m-%d"
|
|
275
|
+
elif date_picker_type == "month":
|
|
276
|
+
internal_date_format = "%Y-%m"
|
|
277
|
+
else:
|
|
278
|
+
raise ValueError("date_picker_type must be either 'date' or 'month'.")
|
|
279
|
+
|
|
280
|
+
date_standard_strings = [date.strftime(internal_date_format) for date in value_reactive.value if date is not None]
|
|
248
281
|
datepicker_is_open = solara.use_reactive(open_value, on_open_value) # type: ignore
|
|
249
282
|
del open_value, on_open_value
|
|
250
283
|
style_flat = solara.util._flatten_style(style)
|
|
@@ -252,15 +285,20 @@ def InputDateRange(
|
|
|
252
285
|
def dates_to_string(dates: Tuple[Optional[dt.date], Optional[dt.date]]):
|
|
253
286
|
string_dates = [date.strftime(date_format) if date is not None else "" for date in dates]
|
|
254
287
|
if (len(dates) < 2 or dates[1] is None) and not optional:
|
|
255
|
-
return string_dates[0], "Please select two
|
|
288
|
+
return string_dates[0], f"Please select two {date_picker_type}s"
|
|
256
289
|
return " - ".join(string_dates), None
|
|
257
290
|
|
|
258
291
|
def set_dates_cast(values):
|
|
259
292
|
date_value = cast(
|
|
260
|
-
Tuple[Optional[dt.date], Optional[dt.date]],
|
|
293
|
+
Tuple[Optional[dt.date], Optional[dt.date]],
|
|
294
|
+
tuple([(dt.datetime.strptime(item, internal_date_format).date() if item is not None else None) for item in values]),
|
|
261
295
|
)
|
|
262
296
|
if len(date_value) > 1 and date_value[1] is not None:
|
|
263
297
|
datepicker_is_open.set(False)
|
|
298
|
+
|
|
299
|
+
if sort:
|
|
300
|
+
date_value = cast(Tuple[dt.date, dt.date], tuple(sorted(date_value)))
|
|
301
|
+
|
|
264
302
|
value_reactive.value = date_value
|
|
265
303
|
|
|
266
304
|
string_dates, error_message = dates_to_string(value_reactive.value)
|
|
@@ -292,6 +330,9 @@ def InputDateRange(
|
|
|
292
330
|
range=True,
|
|
293
331
|
first_day_of_week=first_day_of_the_week,
|
|
294
332
|
style_="width: 100%;",
|
|
333
|
+
max=max_date,
|
|
334
|
+
min=min_date,
|
|
335
|
+
type=date_picker_type,
|
|
295
336
|
):
|
|
296
337
|
if len(children) > 0:
|
|
297
338
|
for el in children:
|
|
@@ -134,6 +134,19 @@ div.highlight {
|
|
|
134
134
|
cursor: default;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
/* Originally from nbconvert, required for accordion widget to work correctly */
|
|
138
|
+
.p-Widget.p-mod-hidden, /* </DEPRECATED> */
|
|
139
|
+
.lm-Widget.lm-mod-hidden {
|
|
140
|
+
display: none !important;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
|
|
144
|
+
/* Title is rotated for horizontal accordion panel using CSS */
|
|
145
|
+
display: block;
|
|
146
|
+
transform-origin: top left;
|
|
147
|
+
transform: rotate(-90deg) translate(-100%);
|
|
148
|
+
}
|
|
149
|
+
|
|
137
150
|
/* change font settings for ipywidgets */
|
|
138
151
|
.jupyter-widgets {
|
|
139
152
|
font-weight:400;
|
|
@@ -15,6 +15,7 @@ NO_WATCHDOG = False
|
|
|
15
15
|
try:
|
|
16
16
|
from watchdog.events import FileSystemEventHandler
|
|
17
17
|
from watchdog.observers import Observer
|
|
18
|
+
import watchdog.events
|
|
18
19
|
except ImportError:
|
|
19
20
|
pass
|
|
20
21
|
NO_WATCHDOG = True
|
|
@@ -99,27 +100,35 @@ else:
|
|
|
99
100
|
self.observers.append(observer)
|
|
100
101
|
self.directories.add(directory)
|
|
101
102
|
|
|
103
|
+
def on_moved(self, event):
|
|
104
|
+
logger.debug("Moved event: %s", event)
|
|
105
|
+
if isinstance(event, watchdog.events.FileMovedEvent):
|
|
106
|
+
if event.dest_path in self.files:
|
|
107
|
+
self._handle_possible_change(event.dest_path)
|
|
108
|
+
|
|
102
109
|
def on_modified(self, event):
|
|
103
|
-
|
|
104
|
-
logger.debug("Watch event: %s", event)
|
|
110
|
+
logger.debug("Modified event: %s", event)
|
|
105
111
|
if not event.is_directory:
|
|
106
112
|
if event.src_path in self.files:
|
|
107
|
-
|
|
108
|
-
changed = mtime_new > self.mtimes[event.src_path]
|
|
109
|
-
self.mtimes[event.src_path] = mtime_new
|
|
110
|
-
if changed:
|
|
111
|
-
logger.debug("File modified: %s", event.src_path)
|
|
112
|
-
try:
|
|
113
|
-
self.on_change(event.src_path)
|
|
114
|
-
except: # noqa
|
|
115
|
-
# we are in the watchdog thread here, all we can do is report
|
|
116
|
-
# and continue running (otherwise reload stops working)
|
|
117
|
-
logger.exception("Error while executing on change handler")
|
|
118
|
-
else:
|
|
119
|
-
logger.debug("File reported modified, but mtime did not change: %s", event.src_path)
|
|
113
|
+
self._handle_possible_change(event.src_path)
|
|
120
114
|
else:
|
|
121
115
|
logger.debug("Ignore file modification: %s", event.src_path)
|
|
122
116
|
|
|
117
|
+
def _handle_possible_change(self, path: str):
|
|
118
|
+
mtime_new = os.path.getmtime(path)
|
|
119
|
+
changed = mtime_new > self.mtimes[path]
|
|
120
|
+
self.mtimes[path] = mtime_new
|
|
121
|
+
if changed:
|
|
122
|
+
logger.debug("File modified: %s", path)
|
|
123
|
+
try:
|
|
124
|
+
self.on_change(path)
|
|
125
|
+
except: # noqa
|
|
126
|
+
# we are in the watchdog thread here, all we can do is report
|
|
127
|
+
# and continue running (otherwise reload stops working)
|
|
128
|
+
logger.exception("Error while executing on change handler")
|
|
129
|
+
else:
|
|
130
|
+
logger.debug("File reported modified, but mtime did not change: %s", path)
|
|
131
|
+
|
|
123
132
|
WatcherType = WatcherWatchdog # type: ignore
|
|
124
133
|
|
|
125
134
|
|
|
@@ -352,7 +352,7 @@ async def root(request: Request, fullpath: str = ""):
|
|
|
352
352
|
if content is None:
|
|
353
353
|
if settings.oauth.private and not request.user.is_authenticated:
|
|
354
354
|
raise HTTPException(status_code=401, detail="Unauthorized")
|
|
355
|
-
|
|
355
|
+
raise HTTPException(status_code=404, detail="Page not found by Solara router")
|
|
356
356
|
|
|
357
357
|
if settings.oauth.private and not request.user.is_authenticated:
|
|
358
358
|
from solara_enterprise.auth.starlette import login
|
|
@@ -119,7 +119,7 @@ async def main():
|
|
|
119
119
|
]
|
|
120
120
|
for dep in requirements:
|
|
121
121
|
await micropip.install(dep, keep_going=True)
|
|
122
|
-
await micropip.install("/wheels/solara-1.
|
|
122
|
+
await micropip.install("/wheels/solara-1.34.1-py2.py3-none-any.whl", keep_going=True)
|
|
123
123
|
import solara
|
|
124
124
|
|
|
125
125
|
el = solara.Warning("lala")
|
|
@@ -237,6 +237,11 @@
|
|
|
237
237
|
{% endif %}
|
|
238
238
|
<script>
|
|
239
239
|
solara.rootPath = {{ root_path | tojson | safe}};
|
|
240
|
+
solara.cdn = {{ cdn | tojson | safe }};
|
|
241
|
+
// the vue templates expect it to not have a trailing slash
|
|
242
|
+
solara.cdn = solara.cdn.replace(/\/$/, '');
|
|
243
|
+
// keep this for backwards compatibility
|
|
244
|
+
window.solara_cdn = solara.cdn;
|
|
240
245
|
console.log("rootPath", solara.rootPath);
|
|
241
246
|
|
|
242
247
|
async function changeThemeCSS(theme) {
|
|
@@ -151,10 +151,7 @@ module.exports = {
|
|
|
151
151
|
document.head.appendChild(script);
|
|
152
152
|
});
|
|
153
153
|
},
|
|
154
|
-
|
|
155
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
156
|
-
return solara.rootPath + "/";
|
|
157
|
-
}
|
|
154
|
+
getJupyterBaseUrl() {
|
|
158
155
|
// if base url is set, we use ./ for relative paths compared to the base url
|
|
159
156
|
if (document.getElementsByTagName("base").length) {
|
|
160
157
|
return document.baseURI;
|
|
@@ -171,7 +168,7 @@ module.exports = {
|
|
|
171
168
|
return base
|
|
172
169
|
},
|
|
173
170
|
getCdn() {
|
|
174
|
-
return
|
|
171
|
+
return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`;
|
|
175
172
|
},
|
|
176
173
|
},
|
|
177
174
|
data(){
|
|
@@ -16,6 +16,7 @@ def Sidebar():
|
|
|
16
16
|
|
|
17
17
|
with solara.v.List(expand=True, nav=True, style_="height: 100%; display: flex; flex-direction: column;") as main:
|
|
18
18
|
with solara.v.ListItemGroup(v_model=router.path):
|
|
19
|
+
# e.g. getting_started, examples, components, api, advanced, faq
|
|
19
20
|
for route in all_routes:
|
|
20
21
|
if len(route.children) == 1 or route.path == "/":
|
|
21
22
|
with solara.Link("/documentation/" + route.path if route.path != "/" else "/documentation"):
|
|
@@ -24,6 +25,8 @@ def Sidebar():
|
|
|
24
25
|
solara.v.ListItemIcon(children=[solara.v.Icon(children=["mdi-home"])])
|
|
25
26
|
solara.v.ListItemTitle(style_="padding: 0 20px;", children=[route.label])
|
|
26
27
|
else:
|
|
28
|
+
path_top_level = "/documentation/" + route.path
|
|
29
|
+
top_level_expanded = router.path.startswith(path_top_level)
|
|
27
30
|
with solara.v.ListGroup(
|
|
28
31
|
v_slots=[
|
|
29
32
|
{
|
|
@@ -34,57 +37,60 @@ def Sidebar():
|
|
|
34
37
|
),
|
|
35
38
|
}
|
|
36
39
|
],
|
|
37
|
-
value=
|
|
40
|
+
value=top_level_expanded,
|
|
41
|
+
eager=True, # better for SEO
|
|
38
42
|
):
|
|
39
43
|
for item in route.children:
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
label = item.label
|
|
45
|
+
if item.path == "/" and route.path in ["examples", "api", "components"]:
|
|
46
|
+
# the 'homepage' of the subpage are named Overview
|
|
47
|
+
label = "Overview"
|
|
48
|
+
path_sub = "/documentation/" + route.path + "/" + item.path
|
|
49
|
+
sub_should_be_expanded = router.path.startswith(path_sub)
|
|
42
50
|
if item.children != [] and any([c.label is not None and c.path != "/" for c in item.children]):
|
|
43
51
|
with solara.v.ListGroup(
|
|
44
52
|
v_slots=[
|
|
45
53
|
{
|
|
46
54
|
"name": "activator",
|
|
47
55
|
"children": solara.v.ListItemTitle(
|
|
48
|
-
children=[
|
|
56
|
+
children=[label],
|
|
49
57
|
),
|
|
50
58
|
}
|
|
51
59
|
],
|
|
52
60
|
sub_group=True,
|
|
53
61
|
no_action=True,
|
|
54
|
-
|
|
62
|
+
eager=True, # better for SEO
|
|
63
|
+
value=sub_should_be_expanded,
|
|
55
64
|
):
|
|
56
65
|
for subitem in item.children:
|
|
57
|
-
# skip
|
|
58
|
-
if subitem.path == "/"
|
|
66
|
+
# skip the 'homepage' of the examples only
|
|
67
|
+
if subitem.path == "/" and route.path not in ["getting_started", "advanced"]:
|
|
59
68
|
continue
|
|
60
69
|
path = (
|
|
61
|
-
"/documentation/" + route.path + "/" + item.path + "/" + subitem.path
|
|
70
|
+
"/documentation/" + route.path + "/" + item.path + "/" + (subitem.path if subitem.path != "/" else "")
|
|
62
71
|
if item.path != "fullscreen"
|
|
63
72
|
else "/apps/" + subitem.path
|
|
64
73
|
)
|
|
65
74
|
with solara.Link(
|
|
66
75
|
path,
|
|
67
76
|
):
|
|
68
|
-
with solara.v.ListItem(dense=True, style_="padding: 0 20px;", value=path):
|
|
77
|
+
with solara.v.ListItem(dense=True, style_="margin-left: 40px; padding: 0 20px;", value=path):
|
|
69
78
|
solara.v.ListItemContent(
|
|
70
79
|
children=[subitem.label],
|
|
71
80
|
)
|
|
72
81
|
else:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
children=[item.label],
|
|
80
|
-
)
|
|
81
|
-
with solara.v.ListItemGroup():
|
|
82
|
+
path = "/documentation/" + route.path + ("/" + item.path if item.path != "/" else "")
|
|
83
|
+
with solara.Link(path):
|
|
84
|
+
with solara.v.ListItem(dense=True, style_="padding: 0 20px;", value=path):
|
|
85
|
+
solara.v.ListItemContent(
|
|
86
|
+
children=[label],
|
|
87
|
+
)
|
|
82
88
|
with solara.Link("/contact"):
|
|
83
|
-
with solara.v.ListItem():
|
|
89
|
+
with solara.v.ListItem(value="/contact"):
|
|
84
90
|
solara.v.ListItemIcon(children=[solara.v.Icon(children=["mdi-email"])])
|
|
85
91
|
solara.v.ListItemTitle(style_="padding: 0 20px;", children=["Contact"])
|
|
86
92
|
with solara.Link("/changelog"):
|
|
87
|
-
with solara.v.ListItem():
|
|
93
|
+
with solara.v.ListItem(value="/changelog"):
|
|
88
94
|
solara.v.ListItemIcon(children=[solara.v.Icon(children=["mdi-history"])])
|
|
89
95
|
solara.v.ListItemTitle(style_="padding: 0 20px;", children=["Changelog"])
|
|
90
96
|
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Solara Changelog
|
|
2
2
|
|
|
3
|
+
## Version 1.34.0
|
|
4
|
+
|
|
5
|
+
* Feature: Enhancements for Solara `InputDate` and `InputDateRange` components [#672](https://github.com/widgetti/solara/pull/672):
|
|
6
|
+
* Limiting allowed dates with `min_date` and `max_date` arguments.
|
|
7
|
+
* Monthly granularity with `date_picker_type="month"`.
|
|
8
|
+
* `InputDateRange` selection can be sorted in ascending order with `sort` argument.
|
|
9
|
+
* Bug Fix: Typo in `solara.Tooltip`. [#695](https://github.com/widgetti/solara/pull/695)
|
|
10
|
+
* Bug Fix: `ipywidgets.Accordion` content was not hidden when closed. [#694](https://github.com/widgetti/solara/pull/694)
|
|
11
|
+
* Bug Fix: `solara.Tooltip` would break any functionality in it's children that relied on the `blur`, `keydown`, or `focus` events. [#696](https://github.com/widgetti/solara/pull/696)
|
|
12
|
+
* Bug Fix: Raise an error instead of showing a custom page on 404. Enables custom 404 pages in Solara apps. [#670](https://github.com/widgetti/solara/pull/670)
|
|
13
|
+
* Bug Fix: Prevent broken installation by restricting Numpy version. [#687](https://github.com/widgetti/solara/pull/687) and [`286e196`](https://github.com/widgetti/solara/commit/286e196ee990af814768d0612b98b5138f5ceb51).
|
|
14
|
+
|
|
15
|
+
## Version 1.33.0
|
|
16
|
+
|
|
17
|
+
### Details
|
|
18
|
+
|
|
19
|
+
* Feature: Add support for `color` argument to `solara.Switch`. [#658](https://github.com/widgetti/solara/pull/658)
|
|
20
|
+
* Bug Fix: Support `define` for ES Modules when running with virtual kernel. [#668](https://github.com/widgetti/solara/pull/668)
|
|
21
|
+
* Bug Fix: Typo in `NameError` message. [#666](https://github.com/widgetti/solara/pull/666)
|
|
22
|
+
* Bug Fix: Show `solara.AppBar` when navigation tabs are the only child. [#656](https://github.com/widgetti/solara/pull/656)
|
|
23
|
+
* Bug Fix: PermissionError for nbextensions on startup in `solara>=1.29`. [#648](https://github.com/widgetti/solara/pull/648)
|
|
3
24
|
|
|
4
25
|
## Version 1.32.2
|
|
5
26
|
|
solara_ui-1.34.1/solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Solara enterprise
|
|
2
|
+
|
|
3
|
+
Solara enterprise is a not Open Source, but the source code is visible, is free for non-commercial use and installable from pypi.
|
|
4
|
+
|
|
5
|
+
For commercial use, you require a license. Please [contact](/contact) us for more information.
|
|
6
|
+
|
|
7
|
+
Solara-enterprise will stay free for non-commercial use and features that are in solara will **not be moved to solara-enterprise**.
|
|
@@ -78,10 +78,7 @@ module.exports = {
|
|
|
78
78
|
document.head.appendChild(script);
|
|
79
79
|
});
|
|
80
80
|
},
|
|
81
|
-
|
|
82
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
83
|
-
return solara.rootPath + "/";
|
|
84
|
-
}
|
|
81
|
+
getJupyterBaseUrl() {
|
|
85
82
|
if (document.getElementsByTagName("base").length) {
|
|
86
83
|
return "./";
|
|
87
84
|
}
|
|
@@ -97,7 +94,7 @@ module.exports = {
|
|
|
97
94
|
return base
|
|
98
95
|
},
|
|
99
96
|
getCdn() {
|
|
100
|
-
return
|
|
97
|
+
return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`;
|
|
101
98
|
},
|
|
102
99
|
}
|
|
103
100
|
}
|
|
@@ -88,10 +88,7 @@ module.exports = {
|
|
|
88
88
|
document.head.appendChild(script);
|
|
89
89
|
});
|
|
90
90
|
},
|
|
91
|
-
|
|
92
|
-
if (window.solara && window.solara.rootPath !== undefined) {
|
|
93
|
-
return solara.rootPath + "/";
|
|
94
|
-
}
|
|
91
|
+
getJupyterBaseUrl() {
|
|
95
92
|
// if base url is set, we use ./ for relative paths compared to the base url
|
|
96
93
|
if (document.getElementsByTagName("base").length) {
|
|
97
94
|
return "./";
|
|
@@ -108,7 +105,7 @@ module.exports = {
|
|
|
108
105
|
return base
|
|
109
106
|
},
|
|
110
107
|
getCdn() {
|
|
111
|
-
return this.cdn || (
|
|
108
|
+
return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);
|
|
112
109
|
}
|
|
113
110
|
},
|
|
114
111
|
}
|
|
@@ -21,14 +21,14 @@ from playwright.sync_api import expect
|
|
|
21
21
|
def test_api_markdown_editor(page_session: playwright.sync_api.Page, solara_server, solara_app):
|
|
22
22
|
with solara_app("solara.website.pages"):
|
|
23
23
|
page_session.goto(solara_server.base_url + "/documentation/components/")
|
|
24
|
-
page_session.locator("text=Markdown Editor").first.click()
|
|
24
|
+
page_session.locator(".v-card >> text=Markdown Editor").first.click()
|
|
25
25
|
page_session.locator('h1:has-text("Large heading")').wait_for()
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
def test_api_file_browser(page_session: playwright.sync_api.Page, solara_server, solara_app):
|
|
29
29
|
with solara_app("solara.website.pages"):
|
|
30
30
|
page_session.goto(solara_server.base_url + "/documentation/components/")
|
|
31
|
-
page_session.locator("text=File Browser").first.click()
|
|
31
|
+
page_session.locator(".v-card >> text=File Browser").first.click()
|
|
32
32
|
page_session.locator("text=You are in directory").wait_for()
|
|
33
33
|
|
|
34
34
|
|
|
@@ -28,7 +28,7 @@ def test_docs_basics(page_session: playwright.sync_api.Page, solara_server, sola
|
|
|
28
28
|
|
|
29
29
|
page_session.locator("text=Search the Solara Documentation").wait_for()
|
|
30
30
|
page_session.locator(".docs-card", has_text="Examples").first.click()
|
|
31
|
-
page_session.locator("text=Calculator").first.click()
|
|
31
|
+
page_session.locator(".v-card >> text=Calculator").first.click()
|
|
32
32
|
page_session.locator("text=+/-").wait_for()
|
|
33
33
|
page_session.screenshot(path="tmp/screenshot_calculator.png")
|
|
34
34
|
|
|
@@ -39,7 +39,7 @@ def test_docs_basics(page_session: playwright.sync_api.Page, solara_server, sola
|
|
|
39
39
|
|
|
40
40
|
page_session.locator("text=Visualization").first.click()
|
|
41
41
|
page_session.locator("text=Scatter plot using Plotly").first.click()
|
|
42
|
-
page_session.locator("text=
|
|
42
|
+
page_session.locator("text=This example shows how to use Plotly").wait_for()
|
|
43
43
|
page_session.screenshot(path="tmp/screenshot_plotly.png")
|
|
44
44
|
|
|
45
45
|
page_session.locator("text=Plotly Image Annotator").first.click()
|