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.
Files changed (580) hide show
  1. {solara_ui-1.33.0 → solara_ui-1.34.1}/PKG-INFO +1 -1
  2. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/__init__.py +1 -1
  3. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/echarts.vue +2 -8
  4. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/input.py +2 -2
  5. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown.py +2 -1
  6. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown_editor.vue +2 -5
  7. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/sql_code.vue +2 -5
  8. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/tooltip.py +1 -1
  9. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/input_date.py +47 -6
  10. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/style.css +13 -0
  11. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/reload.py +24 -15
  12. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/starlette.py +1 -1
  13. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/solara_bootstrap.py +1 -1
  14. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/solara.html.j2 +5 -0
  15. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia_api.vue +2 -5
  16. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/sidebar.py +26 -20
  17. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/changelog/changelog.md +21 -0
  18. solara_ui-1.34.1/solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +7 -0
  19. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/gridlayout.vue +2 -5
  20. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/vegalite.vue +2 -5
  21. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/api_test.py +2 -2
  22. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/server_test.py +2 -2
  23. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/input_test.py +14 -14
  24. solara_ui-1.33.0/solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +0 -1
  25. {solara_ui-1.33.0 → solara_ui-1.34.1}/.gitignore +0 -0
  26. {solara_ui-1.33.0 → solara_ui-1.34.1}/LICENSE +0 -0
  27. {solara_ui-1.33.0 → solara_ui-1.34.1}/README.md +0 -0
  28. {solara_ui-1.33.0 → solara_ui-1.34.1}/prefix/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -0
  29. {solara_ui-1.33.0 → solara_ui-1.34.1}/prefix/etc/jupyter/jupyter_server_config.d/solara.json +0 -0
  30. {solara_ui-1.33.0 → solara_ui-1.34.1}/pyproject.toml +0 -0
  31. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/__main__.py +0 -0
  32. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/alias.py +0 -0
  33. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/autorouting.py +0 -0
  34. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/cache.py +0 -0
  35. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/checks.html +0 -0
  36. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/checks.py +0 -0
  37. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/comm.py +0 -0
  38. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/__init__.py +0 -0
  39. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/alert.py +0 -0
  40. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/applayout.py +0 -0
  41. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/button.py +0 -0
  42. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/card.py +0 -0
  43. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/checkbox.py +0 -0
  44. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/code_highlight_css.py +0 -0
  45. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/code_highlight_css.vue +0 -0
  46. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/columns.py +0 -0
  47. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/component_vue.py +0 -0
  48. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/cross_filter.py +0 -0
  49. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/dataframe.py +0 -0
  50. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/datatable.py +0 -0
  51. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/datatable.vue +0 -0
  52. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/details.py +0 -0
  53. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/download.vue +0 -0
  54. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/echarts.py +0 -0
  55. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/figure_altair.py +0 -0
  56. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_browser.py +0 -0
  57. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_download.py +0 -0
  58. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_drop.py +0 -0
  59. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_drop.vue +0 -0
  60. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/file_list_widget.vue +0 -0
  61. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head.py +0 -0
  62. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head_tag.py +0 -0
  63. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/head_tag.vue +0 -0
  64. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/image.py +0 -0
  65. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/link.py +0 -0
  66. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/markdown_editor.py +0 -0
  67. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/matplotlib.py +0 -0
  68. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/meta.py +0 -0
  69. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/misc.py +0 -0
  70. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/pivot_table.py +0 -0
  71. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/pivot_table.vue +0 -0
  72. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/progress.py +0 -0
  73. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/select.py +0 -0
  74. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/select.vue +0 -0
  75. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/slider.py +0 -0
  76. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/slider_date.vue +0 -0
  77. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/spinner-solara.vue +0 -0
  78. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/spinner.py +0 -0
  79. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/sql_code.py +0 -0
  80. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/style.py +0 -0
  81. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/switch.py +0 -0
  82. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/tab_navigation.py +0 -0
  83. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/title.py +0 -0
  84. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/title.vue +0 -0
  85. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/components/togglebuttons.py +0 -0
  86. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/datatypes.py +0 -0
  87. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/express.py +0 -0
  88. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/__init__.py +0 -0
  89. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/dataframe.py +0 -0
  90. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/misc.py +0 -0
  91. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/use_reactive.py +0 -0
  92. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/hooks/use_thread.py +0 -0
  93. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/kitchensink.py +0 -0
  94. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/__init__.py +0 -0
  95. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/__init__.py +0 -0
  96. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/chat.py +0 -0
  97. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/confirmation_dialog.py +0 -0
  98. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/cross_filter.py +0 -0
  99. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/menu.py +0 -0
  100. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/menu.vue +0 -0
  101. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/tabs.py +0 -0
  102. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/theming.py +0 -0
  103. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/components/theming.vue +0 -0
  104. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/hooks/__init__.py +0 -0
  105. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/hooks/dataframe.py +0 -0
  106. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/toestand.py +0 -0
  107. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/__init__.py +0 -0
  108. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/cookies.py +0 -0
  109. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/dataframe.py +0 -0
  110. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lab/utils/headers.py +0 -0
  111. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/layout.py +0 -0
  112. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/lifecycle.py +0 -0
  113. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/minisettings.py +0 -0
  114. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/py.typed +0 -0
  115. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/reactive.py +0 -0
  116. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/routing.py +0 -0
  117. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/scope/__init__.py +0 -0
  118. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/scope/types.py +0 -0
  119. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/__init__.py +0 -0
  120. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/app.py +0 -0
  121. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/custom.css +0 -0
  122. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/custom.js +0 -0
  123. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/favicon.png +0 -0
  124. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/favicon.svg +0 -0
  125. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme-dark.css +0 -0
  126. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme-light.css +0 -0
  127. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/assets/theme.js +0 -0
  128. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/cdn_helper.py +0 -0
  129. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/esm.py +0 -0
  130. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/fastapi.py +0 -0
  131. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/flask.py +0 -0
  132. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/__init__.py +0 -0
  133. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/cdn_handler.py +0 -0
  134. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupyter/server_extension.py +0 -0
  135. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/jupytertools.py +0 -0
  136. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/kernel.py +0 -0
  137. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/kernel_context.py +0 -0
  138. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/patch.py +0 -0
  139. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/server.py +0 -0
  140. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/settings.py +0 -0
  141. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/shell.py +0 -0
  142. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/ansi.js +0 -0
  143. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/highlight-dark.css +0 -0
  144. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/highlight.css +0 -0
  145. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/main-vuetify.js +0 -0
  146. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/main.js +0 -0
  147. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/sun.svg +0 -0
  148. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/static/webworker.js +0 -0
  149. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/telemetry.py +0 -0
  150. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/index.html.j2 +0 -0
  151. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-plain.css +0 -0
  152. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-plain.html +0 -0
  153. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-solara.css +0 -0
  154. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/loader-solara.html +0 -0
  155. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/templates/plain.html +0 -0
  156. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/threaded.py +0 -0
  157. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/utils.py +0 -0
  158. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/server/websocket.py +0 -0
  159. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/settings.py +0 -0
  160. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/tasks.py +0 -0
  161. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/button.py +0 -0
  162. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/markdown.py +0 -0
  163. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/.flake8 +0 -0
  164. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/.pre-commit-config.yaml +0 -0
  165. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/LICENSE +0 -0
  166. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/Procfile +0 -0
  167. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/mypy.ini +0 -0
  168. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/pyproject.toml +0 -0
  169. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/__init__.py +0 -0
  170. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/__init__.py +0 -0
  171. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/article.py +0 -0
  172. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/data.py +0 -0
  173. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/header.py +0 -0
  174. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/components/layout.py +0 -0
  175. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/content/articles/equis-in-vidi.md +0 -0
  176. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/content/articles/substiterat-vati.md +0 -0
  177. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/data.py +0 -0
  178. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/__init__.py +0 -0
  179. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/article/__init__.py +0 -0
  180. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/tabular.py +0 -0
  181. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/viz/__init__.py +0 -0
  182. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/template/portal/solara_portal/pages/viz/overview.py +0 -0
  183. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/test/__init__.py +0 -0
  184. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/test/pytest_plugin.py +0 -0
  185. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/toestand.py +0 -0
  186. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/util.py +0 -0
  187. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/__init__.py +0 -0
  188. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/custom.css +0 -0
  189. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo-small.png +0 -0
  190. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo.svg +0 -0
  191. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/images/logo_white.svg +0 -0
  192. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/assets/theme.js +0 -0
  193. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/__init__.py +0 -0
  194. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia.py +0 -0
  195. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/algolia.vue +0 -0
  196. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/docs.py +0 -0
  197. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/header.py +0 -0
  198. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/hero.py +0 -0
  199. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/mailchimp.py +0 -0
  200. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/mailchimp.vue +0 -0
  201. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/markdown.py +0 -0
  202. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/components/notebook.py +0 -0
  203. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/__init__.py +0 -0
  204. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/__init__.py +0 -0
  205. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/__init__.py +0 -0
  206. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/admin.py +0 -0
  207. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/authorization/users.py +0 -0
  208. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/jupyter-dashboard-1.py +0 -0
  209. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/layout-demo.py +0 -0
  210. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/__init__.py +0 -0
  211. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/page1.py +0 -0
  212. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/multipage/page2.py +0 -0
  213. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/scatter.py +0 -0
  214. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/scrolling.py +0 -0
  215. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/apps/tutorial-streamlit.py +0 -0
  216. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/changelog/__init__.py +0 -0
  217. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/contact/__init__.py +0 -0
  218. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/contact/contact.md +0 -0
  219. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/doc_use_download.py +0 -0
  220. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/__init__.py +0 -0
  221. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/__init__.py +0 -0
  222. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/00-overview.md +0 -0
  223. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/00-overview.md +0 -0
  224. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/10-multipage.md +0 -0
  225. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/20-layout.md +0 -0
  226. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/30-testing.md +0 -0
  227. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/31-debugging.md +0 -0
  228. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/40-embed.md +0 -0
  229. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/10-howto/50-ipywidget_libraries.md +0 -0
  230. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/00-overview.md +0 -0
  231. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/40-static_files.md +0 -0
  232. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/41-asset-files.md +0 -0
  233. {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
  234. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/70-search.md +0 -0
  235. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/80-reloading.md +0 -0
  236. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/90-notebook-support.md +0 -0
  237. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/15-reference/95-caching.md +0 -0
  238. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/00-introduction.md +0 -0
  239. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/05-ipywidgets.md +0 -0
  240. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/06-ipyvuetify.md +0 -0
  241. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/10-reacton.md +0 -0
  242. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/12-reacton-basics.md +0 -0
  243. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/15-anatomy.md +0 -0
  244. {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
  245. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/18-containers.md +0 -0
  246. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/20-solara.md +0 -0
  247. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/40-routing.md +0 -0
  248. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/50-solara-server.md +0 -0
  249. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/20-understanding/60-voila.md +0 -0
  250. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/30-enterprise/10-oauth.md +0 -0
  251. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/00-overview.md +0 -0
  252. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/01-contribute.md +0 -0
  253. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/advanced/content/40-development/10-setup.md +0 -0
  254. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/__init__.py +0 -0
  255. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/__init__.py +0 -0
  256. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_dataframe.py +0 -0
  257. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_report.py +0 -0
  258. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_select.py +0 -0
  259. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/cross_filter/cross_filter_slider.py +0 -0
  260. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/__init__.py +0 -0
  261. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_cross_filter.py +0 -0
  262. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_dark_effective.py +0 -0
  263. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_effect.md +0 -0
  264. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_effect.py +0 -0
  265. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_exception.py +0 -0
  266. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_memo.md +0 -0
  267. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_memo.py +0 -0
  268. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_previous.py +0 -0
  269. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_reactive.py +0 -0
  270. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_state.py +0 -0
  271. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_state_or_update.py +0 -0
  272. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_thread.md +0 -0
  273. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_thread.py +0 -0
  274. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/hooks/use_trait_observe.py +0 -0
  275. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/__init__.py +0 -0
  276. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/generate_routes.py +0 -0
  277. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/generate_routes_directory.py +0 -0
  278. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/resolve_path.py +0 -0
  279. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/route.py +0 -0
  280. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/use_route.py +0 -0
  281. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/routing/use_router.py +0 -0
  282. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/__init__.py +0 -0
  283. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/component_vue.py +0 -0
  284. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/computed.py +0 -0
  285. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/display.py +0 -0
  286. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/get_kernel_id.py +0 -0
  287. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/get_session_id.py +0 -0
  288. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/memoize.py +0 -0
  289. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/on_kernel_start.py +0 -0
  290. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/reactive.py +0 -0
  291. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/api/utilities/widget.py +0 -0
  292. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/__init__.py +0 -0
  293. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/__init__.py +0 -0
  294. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/link.py +0 -0
  295. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/meta.py +0 -0
  296. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/advanced/style.py +0 -0
  297. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/common.py +0 -0
  298. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/__init__.py +0 -0
  299. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/dataframe.py +0 -0
  300. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/data/pivot_table.py +0 -0
  301. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/__init__.py +0 -0
  302. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/avatar.py +0 -0
  303. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/enterprise/avatar_menu.py +0 -0
  304. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/__init__.py +0 -0
  305. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/button.py +0 -0
  306. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/checkbox.py +0 -0
  307. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/file_browser.py +0 -0
  308. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/file_drop.py +0 -0
  309. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/input.py +0 -0
  310. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/select.py +0 -0
  311. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/slider.py +0 -0
  312. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/switch.py +0 -0
  313. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/input/togglebuttons.py +0 -0
  314. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/__init__.py +0 -0
  315. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/chat.py +0 -0
  316. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/confirmation_dialog.py +0 -0
  317. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/cookies_headers.py +0 -0
  318. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/input_date.py +0 -0
  319. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/menu.py +0 -0
  320. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/tab.py +0 -0
  321. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/tabs.py +0 -0
  322. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/task.py +0 -0
  323. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/theming.py +0 -0
  324. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/lab/use_task.py +0 -0
  325. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/__init__.py +0 -0
  326. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_bar.py +0 -0
  327. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_bar_title.py +0 -0
  328. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/app_layout.py +0 -0
  329. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/card.py +0 -0
  330. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/card_actions.py +0 -0
  331. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/column.py +0 -0
  332. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/columns.py +0 -0
  333. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/columns_responsive.py +0 -0
  334. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/details.py +0 -0
  335. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/griddraggable.py +0 -0
  336. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/gridfixed.py +0 -0
  337. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/hbox.py +0 -0
  338. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/row.py +0 -0
  339. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/sidebar.py +0 -0
  340. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/layout/vbox.py +0 -0
  341. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/__init__.py +0 -0
  342. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/file_download.py +0 -0
  343. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/html.py +0 -0
  344. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/image.py +0 -0
  345. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/markdown.py +0 -0
  346. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/markdown_editor.py +0 -0
  347. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/sql_code.py +0 -0
  348. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/output/tooltip.py +0 -0
  349. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/__init__.py +0 -0
  350. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/head.py +0 -0
  351. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/page/title.py +0 -0
  352. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/__init__.py +0 -0
  353. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/error.py +0 -0
  354. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/info.py +0 -0
  355. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/progress.py +0 -0
  356. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/spinner.py +0 -0
  357. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/success.py +0 -0
  358. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/status/warning.py +0 -0
  359. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/__init__.py +0 -0
  360. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/altair.py +0 -0
  361. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/echarts.py +0 -0
  362. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/matplotlib.py +0 -0
  363. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/plotly.py +0 -0
  364. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/components/viz/plotly_express.py +0 -0
  365. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/__init__.py +0 -0
  366. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/__init__.py +0 -0
  367. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/chatbot.py +0 -0
  368. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ai/tokenizer.py +0 -0
  369. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/basics/__init__.py +0 -0
  370. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/basics/sine.py +0 -0
  371. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/__init__.py +0 -0
  372. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/authorization.py +0 -0
  373. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/layout_demo.py +0 -0
  374. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/multipage.py +0 -0
  375. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/scatter.py +0 -0
  376. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/scrolling.py +0 -0
  377. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/fullscreen/tutorial_streamlit.py +0 -0
  378. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/__init__.py +0 -0
  379. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/custom_storage.py +0 -0
  380. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/deploy_model.py +0 -0
  381. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/live_update.py +0 -0
  382. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/login_oauth.py +0 -0
  383. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/mycard.vue +0 -0
  384. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/pokemon_search.py +0 -0
  385. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/general/vue_component.py +0 -0
  386. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/ipycanvas.py +0 -0
  387. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/__init__.py +0 -0
  388. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/altair.py +0 -0
  389. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/bqplot.py +0 -0
  390. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/ipyleaflet.py +0 -0
  391. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/libraries/ipyleaflet_advanced.py +0 -0
  392. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/__init__.py +0 -0
  393. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/calculator.py +0 -0
  394. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/countdown_timer.py +0 -0
  395. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/utilities/todo.py +0 -0
  396. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/__init__.py +0 -0
  397. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/annotator.py +0 -0
  398. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/linked_views.py +0 -0
  399. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/examples/visualization/plotly.py +0 -0
  400. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/faq/__init__.py +0 -0
  401. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/faq/content/99-faq.md +0 -0
  402. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/__init__.py +0 -0
  403. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/00-quickstart.md +0 -0
  404. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/01-introduction.md +0 -0
  405. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/02-installing.md +0 -0
  406. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/00-overview.md +0 -0
  407. {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
  408. {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
  409. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/30-ipywidgets.md +0 -0
  410. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/40-streamlit.md +0 -0
  411. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/50-dash.md +0 -0
  412. {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
  413. {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
  414. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/04-tutorials/_data_science.ipynb +0 -0
  415. {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
  416. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/05-fundamentals/00-overview.md +0 -0
  417. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/05-fundamentals/10-components.md +0 -0
  418. {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
  419. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/07-deploying/00-overview.md +0 -0
  420. {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
  421. {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
  422. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/80-what-is-lab.md +0 -0
  423. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/documentation/getting_started/content/90-troubleshoot.md +0 -0
  424. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/docutils.py +0 -0
  425. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/__init__.py +0 -0
  426. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/domino_code_assist.py +0 -0
  427. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/planeto_tessa.py +0 -0
  428. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solara_dev.py +0 -0
  429. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_2.py +0 -0
  430. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_4.py +0 -0
  431. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_5.py +0 -0
  432. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/solarathon_2023_team_6.py +0 -0
  433. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/pages/showcase/wanderlust.py +0 -0
  434. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/beach.jpeg +0 -0
  435. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/logo.svg +0 -0
  436. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/discord.svg +0 -0
  437. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/github.svg +0 -0
  438. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/social/twitter.svg +0 -0
  439. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/public/success.html +0 -0
  440. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/templates/index.html.j2 +0 -0
  441. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/website/utils.py +0 -0
  442. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/__init__.py +0 -0
  443. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/html.vue +0 -0
  444. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/vue/navigator.vue +0 -0
  445. {solara_ui-1.33.0 → solara_ui-1.34.1}/solara/widgets/widgets.py +0 -0
  446. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/__init__.py +0 -0
  447. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/conftest.py +0 -0
  448. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_event_with_future_test.py +0 -0
  449. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_event_with_polling_test.py +0 -0
  450. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_api_find_testing_test.py +0 -0
  451. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_testing_test.py +0 -0
  452. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/docs/docs_howto_no_browser_threaded_test.py +0 -0
  453. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/__init__.py +0 -0
  454. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/app_widget.py +0 -0
  455. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets1/common.js +0 -0
  456. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets1/unique1.js +0 -0
  457. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/common.js +0 -0
  458. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/custom.css +0 -0
  459. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/custom.js +0 -0
  460. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets/assets2/unique2.js +0 -0
  461. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/assets_test.py +0 -0
  462. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/async_test.py +0 -0
  463. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/cdn_test.py +0 -0
  464. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/cmdline_test.py +0 -0
  465. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/conftest.py +0 -0
  466. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/create_test.py +0 -0
  467. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/enterprise/__init__.py +0 -0
  468. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/enterprise/oauth_test.py +0 -0
  469. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/error_test.py +0 -0
  470. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/esm_test.py +0 -0
  471. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/file_download_test.py +0 -0
  472. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/flask_test.py +0 -0
  473. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/input_date_test.py +0 -0
  474. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/latex_test.py +0 -0
  475. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/lifecycle_test.py +0 -0
  476. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/markdown_test.py +0 -0
  477. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/menu_test.py +0 -0
  478. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/popout_test.py +0 -0
  479. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/reconnect_test.py +0 -0
  480. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/reload/apps.py +0 -0
  481. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/router_test.py +0 -0
  482. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/ssg_test.py +0 -0
  483. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/starlette_test.py +0 -0
  484. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/test.vue +0 -0
  485. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/testapp.py +0 -0
  486. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/integration/widget_test.py +0 -0
  487. {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
  488. {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
  489. {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
  490. {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
  491. {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
  492. {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
  493. {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
  494. {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
  495. {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
  496. {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
  497. {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
  498. {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
  499. {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
  500. {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
  501. {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
  502. {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
  503. {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
  504. {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
  505. {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
  506. {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
  507. {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
  508. {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
  509. {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
  510. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/__init__.py +0 -0
  511. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/app_test.py +0 -0
  512. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/applayout_test.py +0 -0
  513. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/autorouting_test.py +0 -0
  514. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cache_test.py +0 -0
  515. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cdn_helper_test.py +0 -0
  516. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/chat_test.py +0 -0
  517. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/checkbox_test.py +0 -0
  518. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/common.py +0 -0
  519. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/component_frontend_test.py +0 -0
  520. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/component_vue_test.vue +0 -0
  521. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/confirmation_dialog_test.py +0 -0
  522. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/conftest.py +0 -0
  523. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cross_filter_component_test.py +0 -0
  524. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/cross_filter_test.py +0 -0
  525. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/dataframe_test.py +0 -0
  526. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/datatable_test.py +0 -0
  527. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/display_test.py +0 -0
  528. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/express_test.py +0 -0
  529. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/file_browser_test.py +0 -0
  530. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/file_download_test.py +0 -0
  531. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/hooks_test.py +0 -0
  532. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/input_date_test.py +0 -0
  533. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/kernel_test.py +0 -0
  534. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/lab/__init__.py +0 -0
  535. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/lifecycle_test.py +0 -0
  536. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/matplotlib_test.py +0 -0
  537. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/no_solara_test.py +0 -0
  538. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/output_widget_test.py +0 -0
  539. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/patch_test.py +0 -0
  540. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/pivottable_test.py +0 -0
  541. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/reload_test.py +0 -0
  542. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/router_test.py +0 -0
  543. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/select_test.py +0 -0
  544. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/settings_test.py +0 -0
  545. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/shell_test.py +0 -0
  546. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/slider_test.py +0 -0
  547. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/__init__.py +0 -0
  548. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/__init__.py +0 -0
  549. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/food.py +0 -0
  550. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/food/index.py +0 -0
  551. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/kernel_start.py +0 -0
  552. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/01-home.py +0 -0
  553. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/02-my_fruit.py +0 -0
  554. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/03-some-markdown.md +0 -0
  555. {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
  556. {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
  557. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/04-a_directory/__init__.py +0 -0
  558. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/05-and-notebooks.ipynb +0 -0
  559. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/06-custom-routes.py +0 -0
  560. {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
  561. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/99-some_other_python_script.py +0 -0
  562. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage/some_other_file.txt +0 -0
  563. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/00-overview.md +0 -0
  564. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/01-views.py +0 -0
  565. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/02-likes.py +0 -0
  566. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/03-volume.py +0 -0
  567. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/multipage-widgets/04-color.ipynb +0 -0
  568. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_component.ipynb +0 -0
  569. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_element.ipynb +0 -0
  570. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/notebookapp_widget.ipynb +0 -0
  571. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file.py +0 -0
  572. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file_multiple_routes.py +0 -0
  573. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/solara_test_apps/single_file_routes.py +0 -0
  574. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/switch_test.py +0 -0
  575. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/tabs_test.py +0 -0
  576. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/task_test.py +0 -0
  577. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/telemetry_tests.py +0 -0
  578. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toestand_computed_reload.py +0 -0
  579. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toestand_test.py +0 -0
  580. {solara_ui-1.33.0 → solara_ui-1.34.1}/tests/unit/toggle_button_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solara-ui
3
- Version: 1.33.0
3
+ Version: 1.34.1
4
4
  Dynamic: Summary
5
5
  Project-URL: Home, https://www.github.com/widgetti/solara
6
6
  Project-URL: Documentation, https://solara.dev
@@ -1,6 +1,6 @@
1
1
  """Build webapps using IPywidgets"""
2
2
 
3
- __version__ = "1.33.0"
3
+ __version__ = "1.34.1"
4
4
  github_url = "https://github.com/widgetti/solara"
5
5
  git_branch = "master"
6
6
 
@@ -93,10 +93,7 @@ module.exports = {
93
93
  document.head.appendChild(script);
94
94
  });
95
95
  },
96
- getBaseUrl() {
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=["blur", "keyup.enter"]):
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] = ["blur", "keyup.enter"],
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
- if(href.startsWith("./") || href.startsWith("/")) {
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
- getBaseUrl() {
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 (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/cdn`;
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
- getBaseUrl() {
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 (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/cdn`;
103
+ return window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`;
107
104
  },
108
105
  }
109
106
  }
@@ -7,7 +7,7 @@ import solara
7
7
 
8
8
  @solara.component
9
9
  def Tooltip(
10
- tooltip=Union[str, solara.Element],
10
+ tooltip: Union[str, solara.Element],
11
11
  children=[],
12
12
  color: Optional[str] = None,
13
13
  ):
@@ -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, "%Y-%m-%d").date()
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("%Y-%m-%d")
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
- date_standard_strings = [date.strftime("%Y-%m-%d") for date in value_reactive.value if date is not None]
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 dates"
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]], tuple([dt.datetime.strptime(item, "%Y-%m-%d").date() if item is not None else None for item in values])
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
- super().on_modified(event)
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
- mtime_new = os.path.getmtime(event.src_path)
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
- return HTMLResponse(content="Page not found by Solara router", status_code=404)
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.33.0-py2.py3-none-any.whl", keep_going=True)
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
- getBaseUrl() {
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 (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/cdn`;
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=router.path.startswith("/documentation/" + route.path),
40
+ value=top_level_expanded,
41
+ eager=True, # better for SEO
38
42
  ):
39
43
  for item in route.children:
40
- if item.path == "/":
41
- continue
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=[item.label],
56
+ children=[label],
49
57
  ),
50
58
  }
51
59
  ],
52
60
  sub_group=True,
53
61
  no_action=True,
54
- value=router.path.startswith("/documentation/" + route.path + "/" + item.path),
62
+ eager=True, # better for SEO
63
+ value=sub_should_be_expanded,
55
64
  ):
56
65
  for subitem in item.children:
57
- # skip pages that are only used to demonstrate Link or Router usage
58
- if subitem.path == "/" or subitem.label is None:
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
- with solara.v.ListItemGroup(value="/documentation/" + route.path + "/" + item.path):
74
- with solara.Link(
75
- "/documentation/" + route.path + "/" + item.path,
76
- ):
77
- with solara.v.ListItem(dense=True, style_="padding: 0 20px;"):
78
- solara.v.ListItemContent(
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
 
@@ -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
- getBaseUrl() {
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 (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/cdn`;
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
- getBaseUrl() {
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 || (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/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=plotly express").first.wait_for()
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()