solara-ui 1.45.0__py3-none-any.whl

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 (464) hide show
  1. prefix/etc/jupyter/jupyter_notebook_config.d/solara.json +7 -0
  2. prefix/etc/jupyter/jupyter_server_config.d/solara.json +7 -0
  3. solara/__init__.py +124 -0
  4. solara/__main__.py +765 -0
  5. solara/_stores.py +297 -0
  6. solara/alias.py +6 -0
  7. solara/autorouting.py +555 -0
  8. solara/cache.py +305 -0
  9. solara/checks.html +71 -0
  10. solara/checks.py +227 -0
  11. solara/comm.py +28 -0
  12. solara/components/__init__.py +77 -0
  13. solara/components/alert.py +155 -0
  14. solara/components/applayout.py +397 -0
  15. solara/components/button.py +85 -0
  16. solara/components/card.py +87 -0
  17. solara/components/checkbox.py +50 -0
  18. solara/components/code_highlight_css.py +11 -0
  19. solara/components/code_highlight_css.vue +63 -0
  20. solara/components/columns.py +159 -0
  21. solara/components/component_vue.py +134 -0
  22. solara/components/cross_filter.py +335 -0
  23. solara/components/dataframe.py +546 -0
  24. solara/components/datatable.py +214 -0
  25. solara/components/datatable.vue +175 -0
  26. solara/components/details.py +56 -0
  27. solara/components/download.vue +35 -0
  28. solara/components/echarts.py +86 -0
  29. solara/components/echarts.vue +139 -0
  30. solara/components/figure_altair.py +39 -0
  31. solara/components/file_browser.py +181 -0
  32. solara/components/file_download.py +199 -0
  33. solara/components/file_drop.py +159 -0
  34. solara/components/file_drop.vue +83 -0
  35. solara/components/file_list_widget.vue +78 -0
  36. solara/components/head.py +27 -0
  37. solara/components/head_tag.py +49 -0
  38. solara/components/head_tag.vue +60 -0
  39. solara/components/image.py +173 -0
  40. solara/components/input.py +456 -0
  41. solara/components/input_text_area.py +86 -0
  42. solara/components/link.py +55 -0
  43. solara/components/markdown.py +441 -0
  44. solara/components/markdown_editor.py +33 -0
  45. solara/components/markdown_editor.vue +359 -0
  46. solara/components/matplotlib.py +74 -0
  47. solara/components/meta.py +47 -0
  48. solara/components/misc.py +333 -0
  49. solara/components/pivot_table.py +258 -0
  50. solara/components/pivot_table.vue +158 -0
  51. solara/components/progress.py +47 -0
  52. solara/components/select.py +182 -0
  53. solara/components/select.vue +27 -0
  54. solara/components/slider.py +442 -0
  55. solara/components/slider_date.vue +56 -0
  56. solara/components/spinner-solara.vue +105 -0
  57. solara/components/spinner.py +45 -0
  58. solara/components/sql_code.py +41 -0
  59. solara/components/sql_code.vue +125 -0
  60. solara/components/style.py +105 -0
  61. solara/components/switch.py +71 -0
  62. solara/components/tab_navigation.py +37 -0
  63. solara/components/title.py +90 -0
  64. solara/components/title.vue +38 -0
  65. solara/components/togglebuttons.py +200 -0
  66. solara/components/tooltip.py +61 -0
  67. solara/core.py +42 -0
  68. solara/datatypes.py +143 -0
  69. solara/express.py +241 -0
  70. solara/hooks/__init__.py +4 -0
  71. solara/hooks/dataframe.py +99 -0
  72. solara/hooks/misc.py +263 -0
  73. solara/hooks/use_reactive.py +151 -0
  74. solara/hooks/use_thread.py +129 -0
  75. solara/kitchensink.py +8 -0
  76. solara/lab/__init__.py +34 -0
  77. solara/lab/components/__init__.py +7 -0
  78. solara/lab/components/chat.py +215 -0
  79. solara/lab/components/confirmation_dialog.py +163 -0
  80. solara/lab/components/cross_filter.py +7 -0
  81. solara/lab/components/input_date.py +339 -0
  82. solara/lab/components/input_time.py +133 -0
  83. solara/lab/components/menu.py +181 -0
  84. solara/lab/components/menu.vue +38 -0
  85. solara/lab/components/tabs.py +274 -0
  86. solara/lab/components/theming.py +98 -0
  87. solara/lab/components/theming.vue +72 -0
  88. solara/lab/hooks/__init__.py +0 -0
  89. solara/lab/hooks/dataframe.py +2 -0
  90. solara/lab/toestand.py +3 -0
  91. solara/lab/utils/__init__.py +2 -0
  92. solara/lab/utils/cookies.py +5 -0
  93. solara/lab/utils/dataframe.py +165 -0
  94. solara/lab/utils/headers.py +5 -0
  95. solara/layout.py +44 -0
  96. solara/lifecycle.py +46 -0
  97. solara/minisettings.py +141 -0
  98. solara/py.typed +0 -0
  99. solara/reactive.py +99 -0
  100. solara/routing.py +268 -0
  101. solara/scope/__init__.py +88 -0
  102. solara/scope/types.py +55 -0
  103. solara/server/__init__.py +0 -0
  104. solara/server/app.py +527 -0
  105. solara/server/assets/custom.css +1 -0
  106. solara/server/assets/custom.js +1 -0
  107. solara/server/assets/favicon.png +0 -0
  108. solara/server/assets/favicon.svg +5 -0
  109. solara/server/assets/style.css +1681 -0
  110. solara/server/assets/theme-dark.css +437 -0
  111. solara/server/assets/theme-light.css +420 -0
  112. solara/server/assets/theme.js +3 -0
  113. solara/server/cdn_helper.py +91 -0
  114. solara/server/esm.py +71 -0
  115. solara/server/fastapi.py +5 -0
  116. solara/server/flask.py +297 -0
  117. solara/server/jupyter/__init__.py +2 -0
  118. solara/server/jupyter/cdn_handler.py +28 -0
  119. solara/server/jupyter/server_extension.py +40 -0
  120. solara/server/jupyter/solara.py +91 -0
  121. solara/server/jupytertools.py +46 -0
  122. solara/server/kernel.py +388 -0
  123. solara/server/kernel_context.py +467 -0
  124. solara/server/patch.py +564 -0
  125. solara/server/pyinstaller/__init__.py +9 -0
  126. solara/server/pyinstaller/hook-ipyreact.py +5 -0
  127. solara/server/pyinstaller/hook-ipyvuetify.py +5 -0
  128. solara/server/pyinstaller/hook-solara.py +9 -0
  129. solara/server/qt.py +113 -0
  130. solara/server/reload.py +251 -0
  131. solara/server/server.py +484 -0
  132. solara/server/settings.py +249 -0
  133. solara/server/shell.py +269 -0
  134. solara/server/starlette.py +770 -0
  135. solara/server/static/ansi.js +270 -0
  136. solara/server/static/highlight-dark.css +82 -0
  137. solara/server/static/highlight.css +43 -0
  138. solara/server/static/main-vuetify.js +272 -0
  139. solara/server/static/main.js +163 -0
  140. solara/server/static/solara_bootstrap.py +129 -0
  141. solara/server/static/sun.svg +23 -0
  142. solara/server/static/webworker.js +42 -0
  143. solara/server/telemetry.py +212 -0
  144. solara/server/templates/index.html.j2 +1 -0
  145. solara/server/templates/loader-plain.css +11 -0
  146. solara/server/templates/loader-plain.html +20 -0
  147. solara/server/templates/loader-solara.css +111 -0
  148. solara/server/templates/loader-solara.html +40 -0
  149. solara/server/templates/plain.html +82 -0
  150. solara/server/templates/solara.html.j2 +486 -0
  151. solara/server/threaded.py +84 -0
  152. solara/server/utils.py +44 -0
  153. solara/server/websocket.py +45 -0
  154. solara/settings.py +86 -0
  155. solara/tasks.py +893 -0
  156. solara/template/button.py +16 -0
  157. solara/template/markdown.py +42 -0
  158. solara/template/portal/.flake8 +6 -0
  159. solara/template/portal/.pre-commit-config.yaml +28 -0
  160. solara/template/portal/LICENSE +21 -0
  161. solara/template/portal/Procfile +7 -0
  162. solara/template/portal/mypy.ini +3 -0
  163. solara/template/portal/pyproject.toml +26 -0
  164. solara/template/portal/solara_portal/__init__.py +4 -0
  165. solara/template/portal/solara_portal/components/__init__.py +2 -0
  166. solara/template/portal/solara_portal/components/article.py +28 -0
  167. solara/template/portal/solara_portal/components/data.py +28 -0
  168. solara/template/portal/solara_portal/components/header.py +6 -0
  169. solara/template/portal/solara_portal/components/layout.py +6 -0
  170. solara/template/portal/solara_portal/content/articles/equis-in-vidi.md +85 -0
  171. solara/template/portal/solara_portal/content/articles/substiterat-vati.md +70 -0
  172. solara/template/portal/solara_portal/data.py +60 -0
  173. solara/template/portal/solara_portal/pages/__init__.py +67 -0
  174. solara/template/portal/solara_portal/pages/article/__init__.py +26 -0
  175. solara/template/portal/solara_portal/pages/tabular.py +29 -0
  176. solara/template/portal/solara_portal/pages/viz/__init__.py +70 -0
  177. solara/template/portal/solara_portal/pages/viz/overview.py +14 -0
  178. solara/test/__init__.py +0 -0
  179. solara/test/pytest_plugin.py +783 -0
  180. solara/toestand.py +998 -0
  181. solara/util.py +348 -0
  182. solara/validate_hooks.py +258 -0
  183. solara/website/__init__.py +0 -0
  184. solara/website/assets/custom.css +444 -0
  185. solara/website/assets/images/logo-small.png +0 -0
  186. solara/website/assets/images/logo.svg +17 -0
  187. solara/website/assets/images/logo_white.svg +50 -0
  188. solara/website/assets/theme.js +8 -0
  189. solara/website/components/__init__.py +5 -0
  190. solara/website/components/algolia.py +6 -0
  191. solara/website/components/algolia.vue +24 -0
  192. solara/website/components/algolia_api.vue +202 -0
  193. solara/website/components/breadcrumbs.py +28 -0
  194. solara/website/components/contact.py +144 -0
  195. solara/website/components/docs.py +143 -0
  196. solara/website/components/header.py +75 -0
  197. solara/website/components/mailchimp.py +12 -0
  198. solara/website/components/mailchimp.vue +47 -0
  199. solara/website/components/markdown.py +99 -0
  200. solara/website/components/markdown_nav.vue +34 -0
  201. solara/website/components/notebook.py +171 -0
  202. solara/website/components/sidebar.py +105 -0
  203. solara/website/pages/__init__.py +370 -0
  204. solara/website/pages/about/__init__.py +9 -0
  205. solara/website/pages/about/about.md +3 -0
  206. solara/website/pages/apps/__init__.py +16 -0
  207. solara/website/pages/apps/authorization/__init__.py +119 -0
  208. solara/website/pages/apps/authorization/admin.py +12 -0
  209. solara/website/pages/apps/authorization/users.py +12 -0
  210. solara/website/pages/apps/jupyter-dashboard-1.py +116 -0
  211. solara/website/pages/apps/layout-demo.py +40 -0
  212. solara/website/pages/apps/multipage/__init__.py +38 -0
  213. solara/website/pages/apps/multipage/page1.py +26 -0
  214. solara/website/pages/apps/multipage/page2.py +34 -0
  215. solara/website/pages/apps/scatter.py +136 -0
  216. solara/website/pages/apps/scrolling.py +63 -0
  217. solara/website/pages/apps/tutorial-streamlit.py +18 -0
  218. solara/website/pages/careers/__init__.py +27 -0
  219. solara/website/pages/changelog/__init__.py +10 -0
  220. solara/website/pages/changelog/changelog.md +372 -0
  221. solara/website/pages/contact/__init__.py +34 -0
  222. solara/website/pages/doc_use_download.py +85 -0
  223. solara/website/pages/documentation/__init__.py +90 -0
  224. solara/website/pages/documentation/advanced/__init__.py +9 -0
  225. solara/website/pages/documentation/advanced/content/00-overview.md +1 -0
  226. solara/website/pages/documentation/advanced/content/10-howto/00-overview.md +6 -0
  227. solara/website/pages/documentation/advanced/content/10-howto/10-multipage.md +196 -0
  228. solara/website/pages/documentation/advanced/content/10-howto/20-layout.md +125 -0
  229. solara/website/pages/documentation/advanced/content/10-howto/30-testing.md +417 -0
  230. solara/website/pages/documentation/advanced/content/10-howto/31-debugging.md +69 -0
  231. solara/website/pages/documentation/advanced/content/10-howto/40-embed.md +50 -0
  232. solara/website/pages/documentation/advanced/content/10-howto/50-ipywidget_libraries.md +124 -0
  233. solara/website/pages/documentation/advanced/content/15-reference/00-overview.md +3 -0
  234. solara/website/pages/documentation/advanced/content/15-reference/40-static_files.md +31 -0
  235. solara/website/pages/documentation/advanced/content/15-reference/41-asset-files.md +72 -0
  236. solara/website/pages/documentation/advanced/content/15-reference/60-static-site-generation.md +59 -0
  237. solara/website/pages/documentation/advanced/content/15-reference/70-search.md +34 -0
  238. solara/website/pages/documentation/advanced/content/15-reference/80-reloading.md +34 -0
  239. solara/website/pages/documentation/advanced/content/15-reference/90-notebook-support.md +7 -0
  240. solara/website/pages/documentation/advanced/content/15-reference/95-caching.md +148 -0
  241. solara/website/pages/documentation/advanced/content/20-understanding/00-introduction.md +10 -0
  242. solara/website/pages/documentation/advanced/content/20-understanding/05-ipywidgets.md +35 -0
  243. solara/website/pages/documentation/advanced/content/20-understanding/06-ipyvuetify.md +42 -0
  244. solara/website/pages/documentation/advanced/content/20-understanding/10-reacton.md +28 -0
  245. solara/website/pages/documentation/advanced/content/20-understanding/12-reacton-basics.md +108 -0
  246. solara/website/pages/documentation/advanced/content/20-understanding/15-anatomy.md +23 -0
  247. solara/website/pages/documentation/advanced/content/20-understanding/17-rules-of-hooks.md +192 -0
  248. solara/website/pages/documentation/advanced/content/20-understanding/18-containers.md +166 -0
  249. solara/website/pages/documentation/advanced/content/20-understanding/20-solara.md +18 -0
  250. solara/website/pages/documentation/advanced/content/20-understanding/40-routing.md +256 -0
  251. solara/website/pages/documentation/advanced/content/20-understanding/50-solara-server.md +108 -0
  252. solara/website/pages/documentation/advanced/content/20-understanding/60-voila.md +12 -0
  253. solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +7 -0
  254. solara/website/pages/documentation/advanced/content/30-enterprise/10-oauth.md +187 -0
  255. solara/website/pages/documentation/advanced/content/40-development/00-overview.md +0 -0
  256. solara/website/pages/documentation/advanced/content/40-development/01-contribute.md +45 -0
  257. solara/website/pages/documentation/advanced/content/40-development/10-setup.md +76 -0
  258. solara/website/pages/documentation/api/__init__.py +19 -0
  259. solara/website/pages/documentation/api/cross_filter/__init__.py +9 -0
  260. solara/website/pages/documentation/api/cross_filter/cross_filter_dataframe.py +22 -0
  261. solara/website/pages/documentation/api/cross_filter/cross_filter_report.py +20 -0
  262. solara/website/pages/documentation/api/cross_filter/cross_filter_select.py +20 -0
  263. solara/website/pages/documentation/api/cross_filter/cross_filter_slider.py +20 -0
  264. solara/website/pages/documentation/api/hooks/__init__.py +9 -0
  265. solara/website/pages/documentation/api/hooks/use_cross_filter.py +23 -0
  266. solara/website/pages/documentation/api/hooks/use_dark_effective.py +12 -0
  267. solara/website/pages/documentation/api/hooks/use_effect.md +43 -0
  268. solara/website/pages/documentation/api/hooks/use_effect.py +9 -0
  269. solara/website/pages/documentation/api/hooks/use_exception.py +31 -0
  270. solara/website/pages/documentation/api/hooks/use_memo.md +16 -0
  271. solara/website/pages/documentation/api/hooks/use_memo.py +9 -0
  272. solara/website/pages/documentation/api/hooks/use_previous.py +30 -0
  273. solara/website/pages/documentation/api/hooks/use_reactive.py +16 -0
  274. solara/website/pages/documentation/api/hooks/use_state.py +10 -0
  275. solara/website/pages/documentation/api/hooks/use_state_or_update.py +66 -0
  276. solara/website/pages/documentation/api/hooks/use_thread.md +64 -0
  277. solara/website/pages/documentation/api/hooks/use_thread.py +42 -0
  278. solara/website/pages/documentation/api/hooks/use_trait_observe.py +12 -0
  279. solara/website/pages/documentation/api/routing/__init__.py +9 -0
  280. solara/website/pages/documentation/api/routing/generate_routes.py +10 -0
  281. solara/website/pages/documentation/api/routing/generate_routes_directory.py +10 -0
  282. solara/website/pages/documentation/api/routing/resolve_path.py +35 -0
  283. solara/website/pages/documentation/api/routing/route.py +29 -0
  284. solara/website/pages/documentation/api/routing/use_route.py +76 -0
  285. solara/website/pages/documentation/api/routing/use_router.py +16 -0
  286. solara/website/pages/documentation/api/utilities/__init__.py +9 -0
  287. solara/website/pages/documentation/api/utilities/component_vue.py +10 -0
  288. solara/website/pages/documentation/api/utilities/computed.py +16 -0
  289. solara/website/pages/documentation/api/utilities/display.py +16 -0
  290. solara/website/pages/documentation/api/utilities/get_kernel_id.py +16 -0
  291. solara/website/pages/documentation/api/utilities/get_session_id.py +16 -0
  292. solara/website/pages/documentation/api/utilities/memoize.py +35 -0
  293. solara/website/pages/documentation/api/utilities/on_kernel_start.py +44 -0
  294. solara/website/pages/documentation/api/utilities/reactive.py +16 -0
  295. solara/website/pages/documentation/api/utilities/widget.py +104 -0
  296. solara/website/pages/documentation/components/__init__.py +12 -0
  297. solara/website/pages/documentation/components/advanced/__init__.py +9 -0
  298. solara/website/pages/documentation/components/advanced/link.py +25 -0
  299. solara/website/pages/documentation/components/advanced/meta.py +17 -0
  300. solara/website/pages/documentation/components/advanced/style.py +43 -0
  301. solara/website/pages/documentation/components/common.py +9 -0
  302. solara/website/pages/documentation/components/data/__init__.py +9 -0
  303. solara/website/pages/documentation/components/data/dataframe.py +44 -0
  304. solara/website/pages/documentation/components/data/pivot_table.py +81 -0
  305. solara/website/pages/documentation/components/enterprise/__init__.py +9 -0
  306. solara/website/pages/documentation/components/enterprise/avatar.py +24 -0
  307. solara/website/pages/documentation/components/enterprise/avatar_menu.py +25 -0
  308. solara/website/pages/documentation/components/input/__init__.py +9 -0
  309. solara/website/pages/documentation/components/input/button.py +23 -0
  310. solara/website/pages/documentation/components/input/checkbox.py +10 -0
  311. solara/website/pages/documentation/components/input/file_browser.py +30 -0
  312. solara/website/pages/documentation/components/input/file_drop.py +76 -0
  313. solara/website/pages/documentation/components/input/input.py +43 -0
  314. solara/website/pages/documentation/components/input/select.py +22 -0
  315. solara/website/pages/documentation/components/input/slider.py +29 -0
  316. solara/website/pages/documentation/components/input/switch.py +10 -0
  317. solara/website/pages/documentation/components/input/togglebuttons.py +21 -0
  318. solara/website/pages/documentation/components/lab/__init__.py +9 -0
  319. solara/website/pages/documentation/components/lab/chat.py +109 -0
  320. solara/website/pages/documentation/components/lab/confirmation_dialog.py +55 -0
  321. solara/website/pages/documentation/components/lab/cookies_headers.py +48 -0
  322. solara/website/pages/documentation/components/lab/input_date.py +20 -0
  323. solara/website/pages/documentation/components/lab/input_time.py +15 -0
  324. solara/website/pages/documentation/components/lab/menu.py +22 -0
  325. solara/website/pages/documentation/components/lab/tab.py +25 -0
  326. solara/website/pages/documentation/components/lab/tabs.py +45 -0
  327. solara/website/pages/documentation/components/lab/task.py +11 -0
  328. solara/website/pages/documentation/components/lab/theming.py +74 -0
  329. solara/website/pages/documentation/components/lab/use_task.py +11 -0
  330. solara/website/pages/documentation/components/layout/__init__.py +9 -0
  331. solara/website/pages/documentation/components/layout/app_bar.py +16 -0
  332. solara/website/pages/documentation/components/layout/app_bar_title.py +16 -0
  333. solara/website/pages/documentation/components/layout/app_layout.py +24 -0
  334. solara/website/pages/documentation/components/layout/card.py +15 -0
  335. solara/website/pages/documentation/components/layout/card_actions.py +16 -0
  336. solara/website/pages/documentation/components/layout/column.py +30 -0
  337. solara/website/pages/documentation/components/layout/columns.py +27 -0
  338. solara/website/pages/documentation/components/layout/columns_responsive.py +66 -0
  339. solara/website/pages/documentation/components/layout/details.py +13 -0
  340. solara/website/pages/documentation/components/layout/griddraggable.py +62 -0
  341. solara/website/pages/documentation/components/layout/gridfixed.py +19 -0
  342. solara/website/pages/documentation/components/layout/hbox.py +18 -0
  343. solara/website/pages/documentation/components/layout/row.py +30 -0
  344. solara/website/pages/documentation/components/layout/sidebar.py +24 -0
  345. solara/website/pages/documentation/components/layout/vbox.py +19 -0
  346. solara/website/pages/documentation/components/output/__init__.py +9 -0
  347. solara/website/pages/documentation/components/output/file_download.py +11 -0
  348. solara/website/pages/documentation/components/output/html.py +19 -0
  349. solara/website/pages/documentation/components/output/image.py +11 -0
  350. solara/website/pages/documentation/components/output/markdown.py +57 -0
  351. solara/website/pages/documentation/components/output/markdown_editor.py +51 -0
  352. solara/website/pages/documentation/components/output/sql_code.py +83 -0
  353. solara/website/pages/documentation/components/output/tooltip.py +11 -0
  354. solara/website/pages/documentation/components/page/__init__.py +9 -0
  355. solara/website/pages/documentation/components/page/head.py +15 -0
  356. solara/website/pages/documentation/components/page/title.py +25 -0
  357. solara/website/pages/documentation/components/status/__init__.py +9 -0
  358. solara/website/pages/documentation/components/status/error.py +39 -0
  359. solara/website/pages/documentation/components/status/info.py +39 -0
  360. solara/website/pages/documentation/components/status/progress.py +10 -0
  361. solara/website/pages/documentation/components/status/spinner.py +11 -0
  362. solara/website/pages/documentation/components/status/success.py +40 -0
  363. solara/website/pages/documentation/components/status/warning.py +47 -0
  364. solara/website/pages/documentation/components/viz/__init__.py +9 -0
  365. solara/website/pages/documentation/components/viz/altair.py +42 -0
  366. solara/website/pages/documentation/components/viz/echarts.py +77 -0
  367. solara/website/pages/documentation/components/viz/matplotlib.py +30 -0
  368. solara/website/pages/documentation/components/viz/plotly.py +63 -0
  369. solara/website/pages/documentation/components/viz/plotly_express.py +41 -0
  370. solara/website/pages/documentation/examples/__init__.py +54 -0
  371. solara/website/pages/documentation/examples/ai/__init__.py +11 -0
  372. solara/website/pages/documentation/examples/ai/chatbot.py +113 -0
  373. solara/website/pages/documentation/examples/ai/tokenizer.py +107 -0
  374. solara/website/pages/documentation/examples/basics/__init__.py +10 -0
  375. solara/website/pages/documentation/examples/basics/sine.py +28 -0
  376. solara/website/pages/documentation/examples/fullscreen/__init__.py +10 -0
  377. solara/website/pages/documentation/examples/fullscreen/authorization.py +3 -0
  378. solara/website/pages/documentation/examples/fullscreen/layout_demo.py +3 -0
  379. solara/website/pages/documentation/examples/fullscreen/multipage.py +3 -0
  380. solara/website/pages/documentation/examples/fullscreen/scatter.py +3 -0
  381. solara/website/pages/documentation/examples/fullscreen/scrolling.py +3 -0
  382. solara/website/pages/documentation/examples/fullscreen/tutorial_streamlit.py +3 -0
  383. solara/website/pages/documentation/examples/general/__init__.py +10 -0
  384. solara/website/pages/documentation/examples/general/custom_storage.py +70 -0
  385. solara/website/pages/documentation/examples/general/deploy_model.py +115 -0
  386. solara/website/pages/documentation/examples/general/live_update.py +32 -0
  387. solara/website/pages/documentation/examples/general/login_oauth.py +81 -0
  388. solara/website/pages/documentation/examples/general/mycard.vue +58 -0
  389. solara/website/pages/documentation/examples/general/pokemon_search.py +51 -0
  390. solara/website/pages/documentation/examples/general/vue_component.py +50 -0
  391. solara/website/pages/documentation/examples/ipycanvas.py +49 -0
  392. solara/website/pages/documentation/examples/libraries/__init__.py +10 -0
  393. solara/website/pages/documentation/examples/libraries/altair.py +65 -0
  394. solara/website/pages/documentation/examples/libraries/bqplot.py +39 -0
  395. solara/website/pages/documentation/examples/libraries/ipyleaflet.py +33 -0
  396. solara/website/pages/documentation/examples/libraries/ipyleaflet_advanced.py +66 -0
  397. solara/website/pages/documentation/examples/utilities/__init__.py +10 -0
  398. solara/website/pages/documentation/examples/utilities/calculator.py +157 -0
  399. solara/website/pages/documentation/examples/utilities/countdown_timer.py +62 -0
  400. solara/website/pages/documentation/examples/utilities/todo.py +196 -0
  401. solara/website/pages/documentation/examples/visualization/__init__.py +6 -0
  402. solara/website/pages/documentation/examples/visualization/annotator.py +67 -0
  403. solara/website/pages/documentation/examples/visualization/linked_views.py +81 -0
  404. solara/website/pages/documentation/examples/visualization/plotly.py +44 -0
  405. solara/website/pages/documentation/faq/__init__.py +12 -0
  406. solara/website/pages/documentation/faq/content/99-faq.md +112 -0
  407. solara/website/pages/documentation/getting_started/__init__.py +9 -0
  408. solara/website/pages/documentation/getting_started/content/00-quickstart.md +107 -0
  409. solara/website/pages/documentation/getting_started/content/01-introduction.md +125 -0
  410. solara/website/pages/documentation/getting_started/content/02-installing.md +134 -0
  411. solara/website/pages/documentation/getting_started/content/04-tutorials/00-overview.md +14 -0
  412. solara/website/pages/documentation/getting_started/content/04-tutorials/10_data_science.py +13 -0
  413. solara/website/pages/documentation/getting_started/content/04-tutorials/20-web-app.md +89 -0
  414. solara/website/pages/documentation/getting_started/content/04-tutorials/30-ipywidgets.md +124 -0
  415. solara/website/pages/documentation/getting_started/content/04-tutorials/40-streamlit.md +146 -0
  416. solara/website/pages/documentation/getting_started/content/04-tutorials/50-dash.md +144 -0
  417. solara/website/pages/documentation/getting_started/content/04-tutorials/60-jupyter-dashboard-part1.py +65 -0
  418. solara/website/pages/documentation/getting_started/content/04-tutorials/SF_crime_sample.csv.gz +0 -0
  419. solara/website/pages/documentation/getting_started/content/04-tutorials/_data_science.ipynb +445 -0
  420. solara/website/pages/documentation/getting_started/content/04-tutorials/_jupyter_dashboard_1.ipynb +1021 -0
  421. solara/website/pages/documentation/getting_started/content/05-fundamentals/00-overview.md +11 -0
  422. solara/website/pages/documentation/getting_started/content/05-fundamentals/10-components.md +228 -0
  423. solara/website/pages/documentation/getting_started/content/05-fundamentals/50-state-management.md +278 -0
  424. solara/website/pages/documentation/getting_started/content/07-deploying/00-overview.md +7 -0
  425. solara/website/pages/documentation/getting_started/content/07-deploying/10-self-hosted.md +305 -0
  426. solara/website/pages/documentation/getting_started/content/07-deploying/20-cloud-hosted.md +80 -0
  427. solara/website/pages/documentation/getting_started/content/80-what-is-lab.md +7 -0
  428. solara/website/pages/documentation/getting_started/content/90-troubleshoot.md +26 -0
  429. solara/website/pages/docutils.py +38 -0
  430. solara/website/pages/home.vue +1199 -0
  431. solara/website/pages/our_team/__init__.py +83 -0
  432. solara/website/pages/pricing/__init__.py +31 -0
  433. solara/website/pages/roadmap/__init__.py +11 -0
  434. solara/website/pages/roadmap/roadmap.md +47 -0
  435. solara/website/pages/scale_ipywidgets.py +45 -0
  436. solara/website/pages/showcase/__init__.py +105 -0
  437. solara/website/pages/showcase/domino_code_assist.py +60 -0
  438. solara/website/pages/showcase/planeto_tessa.py +19 -0
  439. solara/website/pages/showcase/solara_dev.py +54 -0
  440. solara/website/pages/showcase/solarathon_2023_team_2.py +22 -0
  441. solara/website/pages/showcase/solarathon_2023_team_4.py +22 -0
  442. solara/website/pages/showcase/solarathon_2023_team_5.py +23 -0
  443. solara/website/pages/showcase/solarathon_2023_team_6.py +34 -0
  444. solara/website/pages/showcase/wanderlust.py +27 -0
  445. solara/website/public/beach.jpeg +0 -0
  446. solara/website/public/logo.svg +6 -0
  447. solara/website/public/social/discord.svg +1 -0
  448. solara/website/public/social/github.svg +1 -0
  449. solara/website/public/social/twitter.svg +3 -0
  450. solara/website/public/success.html +25 -0
  451. solara/website/templates/index.html.j2 +117 -0
  452. solara/website/utils.py +51 -0
  453. solara/widgets/__init__.py +1 -0
  454. solara/widgets/vue/gridlayout.vue +107 -0
  455. solara/widgets/vue/html.vue +4 -0
  456. solara/widgets/vue/navigator.vue +134 -0
  457. solara/widgets/vue/vegalite.vue +130 -0
  458. solara/widgets/widgets.py +74 -0
  459. solara_ui-1.45.0.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json +7 -0
  460. solara_ui-1.45.0.data/data/etc/jupyter/jupyter_server_config.d/solara.json +7 -0
  461. solara_ui-1.45.0.dist-info/METADATA +162 -0
  462. solara_ui-1.45.0.dist-info/RECORD +464 -0
  463. solara_ui-1.45.0.dist-info/WHEEL +4 -0
  464. solara_ui-1.45.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,444 @@
1
+ /* General */
2
+ :root {
3
+ --container-width: 800px;
4
+ --color-primary-lightest: #ffeec5;
5
+ --color-primary: #ff991f;
6
+ --color-primary-darker: #dc7f0f;
7
+ --color-text: #636363;
8
+ --color-grey: #545454;
9
+ --color-grey-light: #f9f9f9;
10
+ --font-size: 16px;
11
+
12
+ --jp-content-heading-line-height: 1.5em;
13
+
14
+ --jp-content-font-family: "Open Sans", Arial, Helvetica, sans-serif;
15
+ --jp-content-heading-font-weight: bold;
16
+ --jp-content-link-color: var(--color-primary);
17
+
18
+ --jp-content-font-size2: 1.5rem;
19
+ --jp-content-font-size3: 1.75rem;
20
+ --jp-content-font-size4: 2rem;
21
+ --jp-content-font-size5: 2.25rem;
22
+
23
+ --dark-color-primary-lightest: #26273D;
24
+ /* --dark-color-primary: #7A8AFF; */
25
+ --dark-color-primary: #f77e14;
26
+ --dark-color-primary-darker: #303886;
27
+ --dark-color-text: hsla(0,0%,100%,.7);
28
+ --dark-color-grey: #ababab;
29
+ --dark-color-grey-light: #202020;
30
+
31
+ --docs-color-grey: #40362E;
32
+ --docs-social-discord: #5865F2;
33
+ --docs-social-github: #333;
34
+ --docs-social-twitter: #000000;
35
+ }
36
+
37
+ .theme--dark {
38
+ --color-border-appbar: hsla(0,0%,100%,.12);
39
+ --color-material-background: #1e1e1e;
40
+ --color-text-fade: hsla(0,0%,100%,.7);
41
+ }
42
+ .theme--light {
43
+ --color-border-appbar: rgba(0,0,0,.12);
44
+ --color-material-background: #fff;
45
+ --color-text-fade: rgba(0,0,0,.6);
46
+ }
47
+
48
+ html,
49
+ body,
50
+ p,
51
+ ul,
52
+ li {
53
+ color: var(--color-text);
54
+ font-size: var(--font-size);
55
+ }
56
+ .theme--dark p, .theme--dark ul, .theme--dark li {
57
+ color: var(--dark-color-text);
58
+ }
59
+
60
+ a {
61
+ transition: color 0.3s ease;
62
+ }
63
+
64
+ a:link {
65
+ color: var(--color-primary);
66
+ }
67
+
68
+ .theme--dark a:link {
69
+ color: var(--dark-color-primary);
70
+ }
71
+
72
+ .theme--dark .jp-RenderedHTMLCommon a:visited {
73
+ color: var(--dark-color-primary);
74
+ }
75
+
76
+ .jp-RenderedHTMLCommon pre {
77
+ background-color: var(--color-grey-light);
78
+ display: block;
79
+ border-radius: 1rem;
80
+ padding: 1.75rem 2.5rem;
81
+ margin: 0.5rem 0;
82
+ }
83
+
84
+ .theme--dark .jp-RenderedHTMLCommon pre {
85
+ background-color: var(--dark-color-grey-light);
86
+ }
87
+
88
+ .code {
89
+ padding: 0;
90
+ margin: 0;
91
+ }
92
+
93
+ .text-center {
94
+ text-align: center;
95
+ }
96
+
97
+ .bg-primary {
98
+ background-color: var(--color-primary);
99
+ }
100
+
101
+ .theme--dark .bg-primary {
102
+ background-color: var(--dark-color-primary);
103
+ }
104
+
105
+ .bg-primary-fade {
106
+ background-color: var(--color-primary-lightest) !important;
107
+ }
108
+
109
+ .theme--dark .bg-primary-fade {
110
+ background-color: var(--dark-color-primary-lightest) !important;
111
+ }
112
+
113
+ .padding-40 {
114
+ padding: 40px !important;
115
+ }
116
+
117
+ h1 {
118
+ font-size: 2.4rem;
119
+ }
120
+
121
+ .bg-grey {
122
+ background-color: var(--color-grey-light);
123
+ }
124
+
125
+ .theme--dark .bg-grey {
126
+ background-color: var(--dark-color-grey-light);
127
+ }
128
+
129
+ li::marker {
130
+ color: var(--color-primary);
131
+ font-size: 1.2em;
132
+ font-weight: bold;
133
+ }
134
+
135
+ .theme--dark li::marker {
136
+ color: var(--dark-color-primary);
137
+ }
138
+
139
+ blockquote,
140
+ .jp-RenderedHTMLCommon blockquote {
141
+ font-family: "Courier New", Courier, monospace;
142
+ border-left: 8px solid var(--color-primary);
143
+ margin: 1rem 0;
144
+ padding: 1rem 1rem 1rem 4rem;
145
+ position: relative;
146
+ z-index: 0;
147
+ background: no-repeat left center url("data:image/svg+xml,%3Csvg width='25' height='25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)' fill='%23FF991F'%3E%3Cpath d='M12.24 0C5.49 0 0 5.49 0 12.24s5.49 12.24 12.24 12.24 12.24-5.49 12.24-12.24S19 0 12.24 0zm0 22.26c-5.52 0-10.02-4.49-10.02-10.02 0-5.53 4.5-10.01 10.02-10.01s10.02 4.49 10.02 10.02c0 5.53-4.49 10.02-10.02 10.02v-.01z'/%3E%3Cpath d='M12.24 9.65c-.61 0-1.11.5-1.11 1.11v7.42c0 .61.5 1.11 1.11 1.11.61 0 1.11-.5 1.11-1.11v-7.42c0-.61-.5-1.11-1.11-1.11zM12.24 5.19a1.13 1.13 0 0 0-1.12 1.12c0 .3.12.58.33.79a1.112 1.112 0 0 0 1.58 0 1.112 1.112 0 0 0 0-1.58c-.21-.21-.49-.33-.79-.33z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h24.49v24.49H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
148
+ background-color: var(--color-grey-light);
149
+ background-position: 1.2rem center;
150
+ }
151
+
152
+ .theme--dark blockquote,
153
+ .theme--dark .jp-RenderedHTMLCommon blockquote {
154
+ border-left: 8px solid var(--dark-color-primary);
155
+ background-color: var(--dark-color-grey-light);
156
+ }
157
+
158
+ blockquote p:last-child {
159
+ margin-bottom: 0;
160
+ }
161
+
162
+ .footer-wrapper{
163
+ width: 100%;
164
+ padding: 50px 0;
165
+ flex-wrap: wrap;
166
+ row-gap: 2.5em;
167
+ }
168
+
169
+ .row-container{
170
+ width: 60%;
171
+ flex-wrap: wrap;
172
+ }
173
+ .row-container > div{
174
+ max-width: 500px;
175
+ }
176
+
177
+ .v-btn.homepage-button {
178
+ background-color: var(--color-primary-darker) !important;
179
+ }
180
+
181
+ .theme--dark .v-btn.homepage-button {
182
+ background-color: var(--dark-color-primary) !important;
183
+ color: var(--dark-color-grey-light);
184
+ }
185
+
186
+ .v-card.testimonial-card{
187
+ background-color: var(--color-primary-lightest);
188
+ display: flex;
189
+ flex-direction: column;
190
+ justify-content: space-between;
191
+ }
192
+
193
+ .theme--dark .v-card.testimonial-card{
194
+ background-color: var(--dark-color-primary-lightest);
195
+ }
196
+
197
+ /* Algolia search results styling */
198
+ .algolia-docsearch-suggestion--highlight {
199
+ color: var(--color-primary);
200
+ font-weight: 700;
201
+ }
202
+
203
+ /* API PAGE REFACTOR STYLE */
204
+
205
+ .v-sheet.api-search-container{
206
+ flex-grow: 1;
207
+ }
208
+ .v-sheet.api-search-container .v-input{
209
+ flex-grow: 0;
210
+ }
211
+ .v-sheet.docs-card-container{
212
+ width: 100%;
213
+ justify-content: start;
214
+ align-content: stretch;
215
+ flex-wrap: wrap !important;
216
+ flex-grow: 1;
217
+ row-gap: 20px;
218
+ }
219
+ .v-sheet.docs-card-container > a{
220
+ height: fit-content;
221
+ }
222
+ .v-sheet.docs-card-container > a > .docs-card{
223
+ display: flex;
224
+ flex-grow: 1;
225
+ height: 4rem;
226
+ border-radius: 16px !important;
227
+ color: var(--color-grey-light);
228
+ }
229
+ .v-sheet.docs-card-container > a > .docs-card > h2 {
230
+ padding: 0 24px;
231
+ }
232
+ .v-sheet.docs-card-container > a .docs-card-icon{
233
+ padding-right: 1.5rem;
234
+ transition: ease padding 0.25s;
235
+ }
236
+ .v-sheet.docs-card-container > a:hover .docs-card-icon{
237
+ color: var(--color-primary);
238
+ padding-right: 0.5rem;
239
+ transition: ease padding 0.25s;
240
+ }
241
+ .component-card{
242
+ display: flex;
243
+ flex-direction: column;
244
+ width: 19rem;
245
+ }
246
+ .social-logo-container{
247
+ display: flex;
248
+ justify-content: center;
249
+ align-items: center;
250
+ width: 4rem;
251
+ height: 4rem;
252
+ border-radius: 8px;
253
+ }
254
+
255
+ .v-navigation-drawer__content .algolia {
256
+ padding: 0.35rem;
257
+ }
258
+
259
+ @media screen and (max-width: 960px) {
260
+ .header-logo-container{
261
+ justify-content: center !important;
262
+ }
263
+ }
264
+
265
+ /* vuetify component overrides */
266
+
267
+ .v-btn.solara-docs-button {
268
+ font-weight: bold;
269
+ border-radius: 10px;
270
+ }
271
+
272
+ .btn-size--xlarge {
273
+ height: 4.25rem !important;
274
+ padding: 0 2rem !important;
275
+ font-size: 1.125rem !important;
276
+ }
277
+
278
+ /* overriding styles that didn't set primary color */
279
+ .theme--light.v-application .text--primary {
280
+ color: var(--color-primary-darker) !important;
281
+ }
282
+
283
+ .theme--dark.v-application .text--primary {
284
+ color: var(--dark-color-primary-darker) !important;
285
+ }
286
+
287
+ /* header */
288
+ .header-logo {
289
+ display: block;
290
+ height: 100%;
291
+ margin: 0;
292
+ }
293
+ .news {
294
+ background-color: var(--color-primary);
295
+ padding: 10px;
296
+ font-size: 20px;
297
+ display: flex;
298
+ justify-content: center;
299
+ }
300
+ .theme--dark .news {
301
+ background-color: var(--dark-color-primary);
302
+ }
303
+ .news a {
304
+ color: white !important;
305
+ }
306
+
307
+
308
+ /* fixes padding issue on drawer menu */
309
+ .v-list-group__items {
310
+ padding-left: 1rem;
311
+ }
312
+
313
+ /* menu */
314
+
315
+ .menu {
316
+ list-style: none;
317
+ display: flex;
318
+ }
319
+
320
+ .menu li a:link,
321
+ .menu li a:visited {
322
+ color: var(--color-grey);
323
+ }
324
+
325
+ .theme--dark .menu li a:link,
326
+ .theme--dark .menu li a:visited {
327
+ color: var(--dark-color-grey);
328
+ }
329
+
330
+ .menu li a:hover {
331
+ color: var(--color-primary);
332
+ }
333
+
334
+ .theme--dark .menu li a:hover {
335
+ color: var(--dark-color-primary);
336
+ }
337
+
338
+ .menu li a:link {
339
+ display: block;
340
+ padding: 0.75rem;
341
+ }
342
+
343
+ .menu .active {
344
+ font-weight: bolder;
345
+ }
346
+
347
+ /* sidebar */
348
+
349
+ .sidebar {
350
+ display: flex;
351
+ justify-content: right;
352
+ padding: 4rem;
353
+ }
354
+
355
+ .sidebar ul li {
356
+ font-size: 1.3rem;
357
+ }
358
+
359
+ .sidebar ul a {
360
+ display: block;
361
+ }
362
+
363
+ .sidebar a:link,
364
+ .sidebar a:visited {
365
+ color: var(--color-grey);
366
+ }
367
+
368
+ .theme--dark .sidebar a:link,
369
+ .theme--dark .sidebar a:visited {
370
+ color: var(--dark-color-grey);
371
+ }
372
+
373
+ .sidebar a:hover {
374
+ color: var(--color-primary);
375
+ text-decoration: none;
376
+ }
377
+
378
+ .theme--dark .sidebar a:hover {
379
+ color: var(--dark-color-primary);
380
+ }
381
+
382
+ .sidebar ul li {
383
+ font-weight: normal;
384
+ margin: 0.8rem auto;
385
+ }
386
+
387
+ .sidebar>div>ul>li {
388
+ font-weight: bold;
389
+ margin: 1.4rem auto;
390
+ }
391
+
392
+ .sidebar li ul {
393
+ margin: 0.8rem 0;
394
+ }
395
+
396
+ .sidebar>div>ul>li>a:link,
397
+ .sidebar>div>ul>li>a:visited {
398
+ color: black;
399
+ }
400
+
401
+ .sidebar li.active {
402
+ font-weight: bolder;
403
+ }
404
+
405
+ .jp-RenderedHTMLCommon {
406
+ padding-right: 0;
407
+ }
408
+
409
+ /* MAILCHIMP */
410
+
411
+ #mc_embed_signup {
412
+ background: transparent;
413
+ clear: left;
414
+ width: 100%;
415
+ }
416
+ #mc_embed_signup .indicates-required{
417
+ margin-right: 0;
418
+ }
419
+ #mc_embed_signup .mc-field-group{
420
+ width: 100%;
421
+ }
422
+ #mc_embed_signup_scroll > div.mc-field-group:nth-child(3){
423
+ display: none;
424
+ }
425
+
426
+
427
+ /* MOBILE */
428
+
429
+ @media screen and (aspect-ratio < 1) {
430
+ .container.fill-height > .ma-8.row{
431
+ max-width: 80%;
432
+ }
433
+ .footer-wrapper{
434
+ padding: 25px;
435
+ row-gap: 1em;
436
+ }
437
+ .row-container{
438
+ width: calc(100% - 16px);
439
+ padding: 12px;
440
+ }
441
+ .row-container > div{
442
+ max-width: 300px;
443
+ }
444
+ }
@@ -0,0 +1,17 @@
1
+ <svg width="241" height="65" viewBox="0 0 241 65" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_1_12)">
3
+ <path d="M57.11 30.64L61.47 17.87L48.7 13.51L42.76 1.39999L30.65 7.34999L17.87 2.97999L13.51 15.75L1.40002 21.7L7.35002 33.81L2.99002 46.58L15.76 50.94L21.71 63.06L33.82 57.11L46.59 61.47L50.95 48.7L63.06 42.75L57.11 30.64ZM54.26 34.39L34.39 54.26C33.19 55.46 31.25 55.46 30.05 54.26L10.2 34.4C9.00002 33.2 9.00002 31.26 10.2 30.07L30.06 10.2C31.26 8.99999 33.2 8.99999 34.4 10.2L54.27 30.07C55.47 31.27 55.47 33.21 54.27 34.4L54.26 34.39Z" fill="#FFCF64"/>
4
+ <path d="M53.62 19.42L51.65 6.07L38.3 8.04L27.46 0L19.42 10.84L6.07 12.82L8.04 26.17L0 37L10.84 45.04L12.81 58.39L26.16 56.42L37 64.46L45.04 53.62L58.39 51.64L56.42 38.29L64.46 27.45L53.62 19.4V19.42ZM52.8 24.06L44.24 50.82C43.72 52.43 42 53.32 40.39 52.81L13.63 44.25C12.02 43.74 11.13 42.01 11.64 40.4L20.21 13.64C20.72 12.03 22.45 11.14 24.06 11.65L50.82 20.21C52.43 20.72 53.32 22.45 52.81 24.06H52.8Z" fill="#FF8C3E"/>
5
+ <path d="M93.27 24.79C92.82 24.22 92.21 23.8 91.44 23.53C90.67 23.26 89.94 23.12 89.26 23.12C88.86 23.12 88.44 23.17 88.02 23.26C87.59 23.35 87.19 23.5 86.81 23.7C86.43 23.9 86.12 24.17 85.89 24.5C85.65 24.83 85.54 25.23 85.54 25.71C85.54 26.47 85.82 27.05 86.39 27.45C86.96 27.85 87.67 28.2 88.54 28.48C89.4 28.76 90.33 29.05 91.33 29.33C92.32 29.61 93.25 30.02 94.12 30.54C94.98 31.06 95.7 31.76 96.27 32.63C96.84 33.51 97.12 34.68 97.12 36.15C97.12 37.62 96.86 38.77 96.34 39.81C95.82 40.85 95.11 41.72 94.23 42.4C93.34 43.09 92.31 43.6 91.14 43.93C89.97 44.26 88.73 44.43 87.43 44.43C85.8 44.43 84.28 44.18 82.89 43.68C81.49 43.18 80.19 42.38 78.98 41.27L82.92 36.94C83.49 37.7 84.2 38.28 85.07 38.7C85.93 39.11 86.83 39.32 87.75 39.32C88.2 39.32 88.66 39.27 89.12 39.16C89.58 39.05 90 38.89 90.36 38.68C90.73 38.47 91.02 38.2 91.25 37.86C91.47 37.53 91.59 37.14 91.59 36.69C91.59 35.93 91.3 35.34 90.72 34.9C90.14 34.46 89.41 34.09 88.54 33.78C87.66 33.47 86.72 33.16 85.7 32.86C84.68 32.55 83.73 32.14 82.86 31.62C81.98 31.1 81.26 30.41 80.68 29.56C80.1 28.71 79.81 27.58 79.81 26.19C79.81 24.8 80.08 23.66 80.61 22.64C81.14 21.62 81.85 20.77 82.74 20.08C83.63 19.39 84.65 18.88 85.81 18.54C86.97 18.2 88.17 18.02 89.4 18.02C90.82 18.02 92.19 18.22 93.52 18.62C94.85 19.02 96.04 19.7 97.11 20.64L93.31 24.79H93.27Z" fill="#0F0F0F"/>
6
+ <path d="M103.42 31.22C103.42 29.21 103.76 27.39 104.43 25.75C105.1 24.12 106.05 22.73 107.25 21.58C108.46 20.43 109.89 19.55 111.55 18.93C113.21 18.31 115.02 18.01 116.98 18.01C118.94 18.01 120.76 18.32 122.41 18.93C124.07 19.55 125.5 20.43 126.71 21.58C127.92 22.73 128.86 24.12 129.53 25.75C130.2 27.38 130.54 29.21 130.54 31.22C130.54 33.23 130.2 35.05 129.53 36.69C128.86 38.32 127.91 39.71 126.71 40.86C125.5 42.01 124.07 42.89 122.41 43.51C120.75 44.13 118.94 44.43 116.98 44.43C115.02 44.43 113.2 44.12 111.55 43.51C109.89 42.89 108.46 42.01 107.25 40.86C106.04 39.71 105.1 38.32 104.43 36.69C103.76 35.06 103.42 33.23 103.42 31.22ZM109.17 31.22C109.17 32.4 109.35 33.49 109.72 34.47C110.09 35.45 110.61 36.3 111.3 37.03C111.99 37.75 112.81 38.31 113.77 38.72C114.73 39.12 115.8 39.32 116.98 39.32C118.16 39.32 119.23 39.12 120.19 38.72C121.15 38.32 121.97 37.76 122.66 37.03C123.35 36.31 123.87 35.46 124.24 34.47C124.61 33.49 124.79 32.4 124.79 31.22C124.79 30.04 124.61 28.98 124.24 27.99C123.87 27 123.35 26.14 122.66 25.42C121.97 24.7 121.15 24.14 120.19 23.73C119.23 23.33 118.16 23.13 116.98 23.13C115.8 23.13 114.73 23.33 113.77 23.73C112.81 24.13 111.99 24.69 111.3 25.42C110.61 26.14 110.09 27 109.72 27.99C109.35 28.98 109.17 30.06 109.17 31.22Z" fill="#0F0F0F"/>
7
+ <path d="M138.08 18.65H143.62V38.68H153.88V43.79H138.08V18.65Z" fill="#0F0F0F"/>
8
+ <path d="M168.76 18.65H173.34L184.28 43.79H178.03L175.86 38.46H166.1L164 43.79H157.89L168.76 18.65ZM170.89 25.96L167.84 33.77H173.98L170.89 25.96Z" fill="#0F0F0F"/>
9
+ <path d="M190.35 18.65H200.08C201.36 18.65 202.57 18.77 203.72 19.02C204.87 19.27 205.87 19.68 206.74 20.26C207.6 20.84 208.29 21.62 208.8 22.6C209.31 23.58 209.56 24.81 209.56 26.27C209.56 28.05 209.1 29.55 208.18 30.8C207.26 32.04 205.91 32.83 204.13 33.16L210.52 43.78H203.88L198.63 33.73H195.9V43.78H190.36V18.65H190.35ZM195.89 29.05H199.16C199.66 29.05 200.18 29.03 200.74 29C201.3 28.96 201.8 28.86 202.25 28.68C202.7 28.5 203.07 28.22 203.37 27.85C203.67 27.47 203.81 26.94 203.81 26.25C203.81 25.61 203.68 25.1 203.42 24.72C203.16 24.34 202.83 24.05 202.43 23.85C202.03 23.65 201.56 23.51 201.05 23.44C200.53 23.37 200.02 23.33 199.52 23.33H195.9V29.05H195.89Z" fill="#0F0F0F"/>
10
+ <path d="M225.18 18.65H229.76L240.7 43.79H234.45L232.28 38.46H222.52L220.43 43.79H214.32L225.19 18.65H225.18ZM227.31 25.96L224.26 33.77H230.4L227.31 25.96Z" fill="#0F0F0F"/>
11
+ </g>
12
+ <defs>
13
+ <clipPath id="clip0_1_12">
14
+ <rect width="240.7" height="64.46" fill="white"/>
15
+ </clipPath>
16
+ </defs>
17
+ </svg>
@@ -0,0 +1,50 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="241" height="65"
4
+ viewBox="0 0 241 65" style="enable-background:new 0 0 241 65;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{clip-path:url(#SVGID_2_);}
7
+ .st1{fill:#FFCF64;}
8
+ .st2{fill:#FF8C3E;}
9
+ .st3{fill:#FFFFFF;}
10
+ </style>
11
+ <g>
12
+ <defs>
13
+ <rect id="SVGID_1_" y="0" width="240.7" height="64.5"/>
14
+ </defs>
15
+ <clipPath id="SVGID_2_">
16
+ <use xlink:href="#SVGID_1_" style="overflow:visible;"/>
17
+ </clipPath>
18
+ <g class="st0">
19
+ <path class="st1" d="M57.1,30.6l4.4-12.8l-12.8-4.4L42.8,1.4L30.6,7.4L17.9,3l-4.4,12.8l-12.1,6l5.9,12.1L3,46.6l12.8,4.4
20
+ l5.9,12.1l12.1-6l12.8,4.4L51,48.7l12.1-6L57.1,30.6z M54.3,34.4L34.4,54.3c-1.2,1.2-3.1,1.2-4.3,0L10.2,34.4
21
+ c-1.2-1.2-1.2-3.1,0-4.3l19.9-19.9c1.2-1.2,3.1-1.2,4.3,0l19.9,19.9C55.5,31.3,55.5,33.2,54.3,34.4L54.3,34.4z"/>
22
+ <path class="st2" d="M53.6,19.4l-2-13.4L38.3,8L27.5,0l-8,10.8l-13.4,2l2,13.4L0,37l10.8,8l2,13.3l13.3-2l10.8,8l8-10.8l13.3-2
23
+ l-2-13.3l8-10.8L53.6,19.4L53.6,19.4z M52.8,24.1l-8.6,26.8c-0.5,1.6-2.2,2.5-3.9,2l-26.8-8.6c-1.6-0.5-2.5-2.2-2-3.8l8.6-26.8
24
+ c0.5-1.6,2.2-2.5,3.9-2l26.8,8.6C52.4,20.7,53.3,22.5,52.8,24.1L52.8,24.1z"/>
25
+ <path class="st3" d="M93.3,24.8c-0.4-0.6-1.1-1-1.8-1.3c-0.8-0.3-1.5-0.4-2.2-0.4c-0.4,0-0.8,0-1.2,0.1c-0.4,0.1-0.8,0.2-1.2,0.4
26
+ c-0.4,0.2-0.7,0.5-0.9,0.8c-0.2,0.3-0.3,0.7-0.3,1.2c0,0.8,0.3,1.3,0.8,1.7c0.6,0.4,1.3,0.8,2.2,1c0.9,0.3,1.8,0.6,2.8,0.9
27
+ c1,0.3,1.9,0.7,2.8,1.2c0.9,0.5,1.6,1.2,2.1,2.1c0.6,0.9,0.9,2,0.9,3.5c0,1.5-0.3,2.6-0.8,3.7c-0.5,1-1.2,1.9-2.1,2.6
28
+ c-0.9,0.7-1.9,1.2-3.1,1.5c-1.2,0.3-2.4,0.5-3.7,0.5c-1.6,0-3.2-0.3-4.5-0.8c-1.4-0.5-2.7-1.3-3.9-2.4l3.9-4.3
29
+ c0.6,0.8,1.3,1.3,2.2,1.8c0.9,0.4,1.8,0.6,2.7,0.6c0.4,0,0.9,0,1.4-0.2s0.9-0.3,1.2-0.5c0.4-0.2,0.7-0.5,0.9-0.8
30
+ c0.2-0.3,0.3-0.7,0.3-1.2c0-0.8-0.3-1.3-0.9-1.8c-0.6-0.4-1.3-0.8-2.2-1.1c-0.9-0.3-1.8-0.6-2.8-0.9c-1-0.3-2-0.7-2.8-1.2
31
+ c-0.9-0.5-1.6-1.2-2.2-2.1s-0.9-2-0.9-3.4c0-1.4,0.3-2.5,0.8-3.6c0.5-1,1.2-1.9,2.1-2.6s1.9-1.2,3.1-1.5c1.2-0.3,2.4-0.5,3.6-0.5
32
+ c1.4,0,2.8,0.2,4.1,0.6c1.3,0.4,2.5,1.1,3.6,2L93.3,24.8L93.3,24.8z"/>
33
+ <path class="st3" d="M103.4,31.2c0-2,0.3-3.8,1-5.5c0.7-1.6,1.6-3,2.8-4.2c1.2-1.1,2.6-2,4.3-2.6c1.7-0.6,3.5-0.9,5.4-0.9
34
+ c2,0,3.8,0.3,5.4,0.9c1.7,0.6,3.1,1.5,4.3,2.6s2.2,2.5,2.8,4.2s1,3.5,1,5.5s-0.3,3.8-1,5.5c-0.7,1.6-1.6,3-2.8,4.2
35
+ c-1.2,1.1-2.6,2-4.3,2.6c-1.7,0.6-3.5,0.9-5.4,0.9c-2,0-3.8-0.3-5.4-0.9c-1.7-0.6-3.1-1.5-4.3-2.6c-1.2-1.2-2.2-2.5-2.8-4.2
36
+ C103.8,35.1,103.4,33.2,103.4,31.2z M109.2,31.2c0,1.2,0.2,2.3,0.6,3.3c0.4,1,0.9,1.8,1.6,2.6c0.7,0.7,1.5,1.3,2.5,1.7
37
+ c1,0.4,2,0.6,3.2,0.6s2.3-0.2,3.2-0.6c1-0.4,1.8-1,2.5-1.7c0.7-0.7,1.2-1.6,1.6-2.6c0.4-1,0.6-2.1,0.6-3.3c0-1.2-0.2-2.2-0.6-3.2
38
+ c-0.4-1-0.9-1.9-1.6-2.6c-0.7-0.7-1.5-1.3-2.5-1.7c-1-0.4-2-0.6-3.2-0.6s-2.3,0.2-3.2,0.6c-1,0.4-1.8,1-2.5,1.7
39
+ c-0.7,0.7-1.2,1.6-1.6,2.6C109.3,29,109.2,30.1,109.2,31.2z"/>
40
+ <path class="st3" d="M138.1,18.7h5.5v20h10.3v5.1h-15.8V18.7z"/>
41
+ <path class="st3" d="M168.8,18.7h4.6l10.9,25.1H178l-2.2-5.3h-9.8l-2.1,5.3h-6.1L168.8,18.7z M170.9,26l-3.1,7.8h6.1L170.9,26z"/>
42
+ <path class="st3" d="M190.4,18.7h9.7c1.3,0,2.5,0.1,3.6,0.4s2.1,0.7,3,1.2c0.9,0.6,1.5,1.4,2.1,2.3c0.5,1,0.8,2.2,0.8,3.7
43
+ c0,1.8-0.5,3.3-1.4,4.5c-0.9,1.2-2.3,2-4,2.4l6.4,10.6h-6.6l-5.3-10h-2.7v10h-5.5L190.4,18.7L190.4,18.7z M195.9,29.1h3.3
44
+ c0.5,0,1,0,1.6,0c0.6,0,1.1-0.1,1.5-0.3s0.8-0.5,1.1-0.8c0.3-0.4,0.4-0.9,0.4-1.6c0-0.6-0.1-1.1-0.4-1.5c-0.3-0.4-0.6-0.7-1-0.9
45
+ c-0.4-0.2-0.9-0.3-1.4-0.4c-0.5-0.1-1-0.1-1.5-0.1h-3.6L195.9,29.1L195.9,29.1z"/>
46
+ <path class="st3" d="M225.2,18.7h4.6l10.9,25.1h-6.3l-2.2-5.3h-9.8l-2.1,5.3h-6.1L225.2,18.7L225.2,18.7z M227.3,26l-3.1,7.8h6.1
47
+ L227.3,26z"/>
48
+ </g>
49
+ </g>
50
+ </svg>
@@ -0,0 +1,8 @@
1
+ vuetifyThemes = {
2
+ light: {
3
+ primary: '#ff991f',
4
+ },
5
+ dark: {
6
+ primary: '#f77e14',
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ from .docs import CategoryLayout, Gallery, NoPage, SubCategoryLayout, WithCode # noqa
2
+ from .header import Header
3
+ from .markdown import MarkdownWithMetadata
4
+
5
+ __all__ = ["Header", "MarkdownWithMetadata", "CategoryLayout", "Gallery", "NoPage", "SubCategoryLayout", "WithCode"]
@@ -0,0 +1,6 @@
1
+ import solara
2
+
3
+
4
+ @solara.component_vue("algolia_api.vue")
5
+ def Algolia():
6
+ pass
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <div id="docsearch">
3
+ </div>
4
+ </template>
5
+
6
+ <script>
7
+ module.exports = {
8
+ mounted() {
9
+ // like open in new window
10
+ solaraAlgoliaInit({appId: this.app_id, apiKey: this.api_key, indexName: this.index_name, debug: this.debug})
11
+ }
12
+ }
13
+ </script>
14
+
15
+ <style id="algolia">
16
+ .DocSearch-Button {
17
+ background-color: rgb(255, 238, 197);
18
+ color: #182026;
19
+ }
20
+
21
+ .DocSearch-Button:hover {
22
+ background-color: rgb(255, 247, 227);
23
+ }
24
+ </style>