dara-core 1.21.0__py3-none-any.whl → 1.21.2__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.
dara/core/umd/style.css CHANGED
@@ -743,6 +743,11 @@
743
743
  .react-datepicker__portal .react-datepicker-time__header {
744
744
  font-size: 1.44rem;
745
745
  }
746
+ /*
747
+ * This file only contains styles independent of the theme,
748
+ * mostly a css reset. Theme-specific styles are created using createGlobalStyle.
749
+ */
750
+
746
751
  @font-face {
747
752
  font-family: 'Manrope';
748
753
  font-weight: 300 900;
@@ -759,7 +764,6 @@ body,
759
764
  width: 100%;
760
765
 
761
766
  font-family: 'Manrope';
762
- font-size: 16px;
763
767
  }
764
768
 
765
769
  /* The following is a css-reset from: https://piccalil.li/blog/a-modern-css-reset */
@@ -839,13 +843,12 @@ select {
839
843
  }
840
844
  }
841
845
 
846
+ /* NOTE: the nprogress color is hard-coded intentionally as we want a blue progress bar regardless of the theme */
842
847
  #nprogress {
843
848
  pointer-events: none;
844
849
  }
845
850
 
846
851
  #nprogress .bar {
847
- background: #3796f6;
848
-
849
852
  position: fixed;
850
853
  z-index: 1031;
851
854
  top: 0;
@@ -853,27 +856,29 @@ select {
853
856
 
854
857
  width: 100%;
855
858
  height: 2px;
859
+
860
+ background: #3796f6;
856
861
  }
857
862
 
858
863
  #nprogress .peg {
859
- display: block;
860
864
  position: absolute;
861
- right: 0px;
865
+ right: 0;
866
+ transform: rotate(3deg) translate(0, -4px);
867
+
868
+ display: block;
869
+
862
870
  width: 100px;
863
871
  height: 100%;
872
+
873
+ opacity: 1;
864
874
  box-shadow:
865
875
  0 0 10px #3796f6,
866
876
  0 0 5px #3796f6;
867
- opacity: 1;
868
-
869
- -webkit-transform: rotate(3deg) translate(0px, -4px);
870
- -ms-transform: rotate(3deg) translate(0px, -4px);
871
- transform: rotate(3deg) translate(0px, -4px);
872
877
  }
873
878
 
874
879
  .nprogress-custom-parent {
875
- overflow: hidden;
876
880
  position: relative;
881
+ overflow: hidden;
877
882
  }
878
883
 
879
884
  .nprogress-custom-parent #nprogress .spinner,
@@ -35,7 +35,6 @@ from .fallback import (
35
35
  from .for_cmp import For, ForDef
36
36
  from .invalid_component import InvalidComponent
37
37
  from .menu import Menu, MenuDef
38
- from .menu_link import MenuLink, MenuLinkDef
39
38
  from .powered_by_causalens import PoweredByCausalens, PoweredByCausalensDef
40
39
  from .progress_tracker import (
41
40
  ProgressTracker,
@@ -44,6 +43,7 @@ from .progress_tracker import (
44
43
  from .raw_string import RawString
45
44
  from .router_content import RouterContent, RouterContentDef
46
45
  from .sidebar_frame import SideBarFrame, SideBarFrameDef
46
+ from .theme_provider import ThemeProvider, ThemeProviderDef
47
47
  from .topbar_frame import TopBarFrame, TopBarFrameDef
48
48
 
49
49
  __all__ = [
@@ -68,8 +68,8 @@ __all__ = [
68
68
  'Fallback',
69
69
  'PoweredByCausalens',
70
70
  'PoweredByCausalensDef',
71
- 'MenuLink',
72
- 'MenuLinkDef',
71
+ 'ThemeProvider',
72
+ 'ThemeProviderDef',
73
73
  ]
74
74
 
75
75
  for symbol in list(globals().values()) + [Fallback.Default, Fallback.Row]:
@@ -1,36 +1 @@
1
- from dara.core.definitions import ComponentInstance, JsComponentDef
2
- from dara.core.router import Link
3
1
 
4
- MenuLinkDef = JsComponentDef(name='MenuLink', js_module='@darajs/core', py_module='dara.core')
5
-
6
-
7
- class MenuLink(Link):
8
- """
9
- Styled version of Link component, ready to be used with e.g. the built-in SideBarFrame component.
10
- Accepts all the same props as the Link component, can be used as a drop-in replacement.
11
-
12
- ```python
13
- from dara.core.visual.components import MenuLink, SideBarFrame
14
- from dara.core.router import Router, Outlet
15
-
16
- router = Router()
17
-
18
- def RootLayout():
19
- routes = router.get_navigable_routes()
20
-
21
- return SideBarFrame(
22
- side_bar=Stack(
23
- *[MenuLink(Text(path['name']), to=path['path']) for path in routes],
24
- ),
25
- content=Outlet(),
26
- )
27
-
28
- root = router.add_layout(content=RootLayout)
29
- ```
30
- """
31
-
32
- def __init__(self, *children: ComponentInstance, **kwargs):
33
- els = list(children)
34
- if 'children' not in kwargs:
35
- kwargs['children'] = els
36
- super().__init__(**kwargs)
@@ -0,0 +1,44 @@
1
+ from typing import Literal, Union
2
+
3
+ from dara.core.definitions import ComponentInstance, JsComponentDef, StyledComponentInstance
4
+ from dara.core.interactivity.client_variable import ClientVariable
5
+ from dara.core.visual.themes.definitions import ThemeDef
6
+
7
+ ThemeProviderDef = JsComponentDef(name='ThemeProvider', js_module='@darajs/core', py_module='dara.core')
8
+
9
+
10
+ class ThemeProvider(StyledComponentInstance):
11
+ """
12
+ ThemeProvider can be used to provide a different theme to a subtree of components.
13
+
14
+ ```python
15
+ from dara.core import ConfigurationBuilder
16
+ from dara.core.visual.components import ThemeProvider
17
+ from dara.core.visual.themes import Light
18
+
19
+ config = ConfigurationBuilder()
20
+
21
+ # Define a theme by cloning Light and modifying it
22
+ theme = Light.model_copy()
23
+ theme.colors.text = 'red'
24
+
25
+ def ThemePage():
26
+ return Stack(
27
+ Text('This text is default color'),
28
+ ThemeProvider(
29
+ Text('This text is red'),
30
+ theme=theme
31
+ )
32
+ )
33
+
34
+ config.router.add_page(path='theme', content=ThemePage)
35
+ """
36
+
37
+ theme: Union[ThemeDef, ClientVariable, Literal['light', 'dark']]
38
+ base: Union[ClientVariable, Literal['light', 'dark']] = 'light'
39
+
40
+ def __init__(self, *children: ComponentInstance, **kwargs):
41
+ components = list(children)
42
+ if 'children' not in kwargs:
43
+ kwargs['children'] = components
44
+ super().__init__(**kwargs)
@@ -54,7 +54,7 @@ CURRENT_COMPONENT_ID = ContextVar('current_component_id', default='')
54
54
 
55
55
  class PyComponentInstance(ComponentInstance):
56
56
  func_name: str
57
- dynamic_kwargs: Optional[Mapping[str, AnyVariable]] = None
57
+ dynamic_kwargs: Mapping[str, AnyVariable]
58
58
  polling_interval: Optional[int] = None
59
59
  js_module: ClassVar[Optional[str]] = None
60
60
 
@@ -18,6 +18,7 @@ limitations under the License.
18
18
  from typing import Literal, Optional, Union
19
19
 
20
20
  from dara.core.base_definitions import DaraBaseModel as BaseModel
21
+ from dara.core.interactivity.client_variable import ClientVariable
21
22
 
22
23
 
23
24
  class ThemeColors(BaseModel):
@@ -96,5 +97,5 @@ class BaseTheme(BaseModel):
96
97
  Defines the base theming scheme of an app
97
98
  """
98
99
 
99
- main: Union[ThemeDef, Literal['light'], Literal['dark']]
100
+ main: Union[ThemeDef, ClientVariable, Literal['light'], Literal['dark']]
100
101
  base: Optional[Union[Literal['light'], Literal['dark']]] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.21.0
3
+ Version: 1.21.2
4
4
  Summary: Dara Framework Core
5
5
  Home-page: https://dara.causalens.com/
6
6
  License: Apache-2.0
@@ -21,10 +21,10 @@ Requires-Dist: cachetools (>=5.0.0,<6.0.0)
21
21
  Requires-Dist: certifi (>=2024.7.4)
22
22
  Requires-Dist: click (==8.1.3)
23
23
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
24
- Requires-Dist: create-dara-app (==1.21.0)
24
+ Requires-Dist: create-dara-app (==1.21.2)
25
25
  Requires-Dist: croniter (>=1.0.15,<3.0.0)
26
26
  Requires-Dist: cryptography (>=42.0.4)
27
- Requires-Dist: dara-components (==1.21.0) ; extra == "all"
27
+ Requires-Dist: dara-components (==1.21.2) ; extra == "all"
28
28
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0)
29
29
  Requires-Dist: fastapi (>=0.115.0,<0.116.0)
30
30
  Requires-Dist: fastapi_vite_dara (==0.4.0)
@@ -55,7 +55,7 @@ Description-Content-Type: text/markdown
55
55
 
56
56
  # Dara Application Framework
57
57
 
58
- <img src="https://github.com/causalens/dara/blob/v1.21.0/img/dara_light.svg?raw=true">
58
+ <img src="https://github.com/causalens/dara/blob/v1.21.2/img/dara_light.svg?raw=true">
59
59
 
60
60
  ![Master tests](https://github.com/causalens/dara/actions/workflows/tests.yml/badge.svg?branch=master)
61
61
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
@@ -100,7 +100,7 @@ source .venv/bin/activate
100
100
  dara start
101
101
  ```
102
102
 
103
- ![Dara App](https://github.com/causalens/dara/blob/v1.21.0/img/components_gallery.png?raw=true)
103
+ ![Dara App](https://github.com/causalens/dara/blob/v1.21.2/img/components_gallery.png?raw=true)
104
104
 
105
105
  Note: `pip` installation uses [PEP 660](https://peps.python.org/pep-0660/) `pyproject.toml`-based editable installs which require `pip >= 21.3` and `setuptools >= 64.0.0`. You can upgrade both with:
106
106
 
@@ -117,9 +117,9 @@ Explore some of our favorite apps - a great way of getting started and getting t
117
117
 
118
118
  | Dara App | Description |
119
119
  | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
120
- | ![Large Language Model](https://github.com/causalens/dara/blob/v1.21.0/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
- | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.21.0/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
- | ![Graph Editor](https://github.com/causalens/dara/blob/v1.21.0/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
120
+ | ![Large Language Model](https://github.com/causalens/dara/blob/v1.21.2/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
+ | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.21.2/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
+ | ![Graph Editor](https://github.com/causalens/dara/blob/v1.21.2/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
123
123
 
124
124
  Check out our [App Gallery](https://dara.causalens.com/gallery) for more inspiration!
125
125
 
@@ -146,9 +146,9 @@ And the supporting UI packages and tools.
146
146
  - `ui-utils` - miscellaneous utility functions
147
147
  - `ui-widgets` - widget components
148
148
 
149
- More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.21.0/CONTRIBUTING.md) file.
149
+ More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.21.2/CONTRIBUTING.md) file.
150
150
 
151
151
  ## License
152
152
 
153
- Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.21.0/LICENSE).
153
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.21.2/LICENSE).
154
154
 
@@ -8,11 +8,11 @@ dara/core/auth/routes.py,sha256=0o5KXApRbkL0F5qFsarQk_cq5lbQ3QfIHR_mwLRgBEY,7217
8
8
  dara/core/auth/utils.py,sha256=iEWP5qwfH17Mi-5t3sP-DNMUrWN0oSRk96NhieY2Zw4,7334
9
9
  dara/core/base_definitions.py,sha256=ptc6OSx-qElWWSuZB4-06kWmnj6hekpKR47eeB36igQ,16915
10
10
  dara/core/cli.py,sha256=V__LAK3ozWGsVTEQHqvJwqSfpC3o6R76YGABJ-YVoSE,8185
11
- dara/core/configuration.py,sha256=8gp2rsQBAigv6GD69Op0_xyW7d5WZEI3CcUYXgp7LTY,23381
11
+ dara/core/configuration.py,sha256=caPebHNUmYqh9czEBwQiIDjGrH8ltsphayZICj1CRhc,23489
12
12
  dara/core/css.py,sha256=UkNZ6n7RDBLsHmpZvn_a3K2nAwxVggQJbQMKNbgXONA,1753
13
13
  dara/core/data_utils.py,sha256=RD5_GdyGyGr1LVThCo8mpuOMWrd9_c1iyRqjuyoarXM,12578
14
- dara/core/defaults.py,sha256=Krd0NoZvF8ZW09Wr6ra8AfXHFRCS9YCbnUxe7r--wHw,4602
15
- dara/core/definitions.py,sha256=-m2nrvEFo4P1mCkWu1m4UyEXsmZrxMj7LHk33L82T1I,18368
14
+ dara/core/defaults.py,sha256=J1-IX4nKcE6kXzqx7kq1ereU4MKXiMitZxSZo2rs7-U,4681
15
+ dara/core/definitions.py,sha256=I4TUJ6zu968T4PNmeqbC-u-DfiKay-4XxurLNASkDz0,18358
16
16
  dara/core/http.py,sha256=-OzbCHlYSnfVnw2492C_UmaWOI5oSONfWk03eEGxSRI,4761
17
17
  dara/core/interactivity/__init__.py,sha256=ZppwTvxaCsaAdf0qX6j1qTcmbj6wxVcbiaMZfwTVKtU,2679
18
18
  dara/core/interactivity/actions.py,sha256=ADLVhffplOcIWy7l74SrpZk8oCe3q12BJ9060rVDpfU,48170
@@ -26,7 +26,7 @@ dara/core/interactivity/derived_variable.py,sha256=RTessKdELHfKK-ApC4KfhUS8neMAD
26
26
  dara/core/interactivity/filtering.py,sha256=rXv9ye_HqYFdZCDJ5x22AKSS_gIXB-zJDxxi4FuqAvo,9752
27
27
  dara/core/interactivity/loop_variable.py,sha256=eiw9AVYzE7-qkBtww0qxYAGtG5SknKs_MMd6GD1gi8M,2994
28
28
  dara/core/interactivity/non_data_variable.py,sha256=I-Nm5nEbt06X62xiUeAZsiutH-nPTY0iGJDurzbQB3M,189
29
- dara/core/interactivity/plain_variable.py,sha256=MlfQpmI1HBrKI3xOI_BDlvrdXpoTKdqj4sQ0kZOqlr0,12603
29
+ dara/core/interactivity/plain_variable.py,sha256=S4z7-SUQM8ucVot0N6rAn9sF6nq-q-SujW4ZtqaDYPg,13115
30
30
  dara/core/interactivity/server_variable.py,sha256=jtE0BqfNXz9W4BaWuaP29hqNRW_LZpYPROV2Xv-JL1E,11223
31
31
  dara/core/interactivity/state_variable.py,sha256=1sSQjjjwedR9_IVPIk9h39ywR4hklYoTUMPy3FA6TVU,2487
32
32
  dara/core/interactivity/switch_variable.py,sha256=6vyYPdSk5gNahMq5kgRQt5c2xyt6fRyO7_cPNi0ho2A,14191
@@ -61,11 +61,11 @@ dara/core/internal/port_utils.py,sha256=3NN94CubNrIYQKmPM4SEwstY-UMqsbbe1M_JhyPc
61
61
  dara/core/internal/registries.py,sha256=1lY9xrggiyUlM32pPyzFEfflW3_37QGOxTDrfWQ4CN4,3659
62
62
  dara/core/internal/registry.py,sha256=TJsD6eUQIBvcuTn_x3371pF-gxo6VtHUX5h-haca-00,4372
63
63
  dara/core/internal/registry_lookup.py,sha256=RlT6Np658GCykdOXeLA6Gm1BTBcdDbhtOJDwJUB3Tkc,2430
64
- dara/core/internal/routing.py,sha256=F1nnQE95pOtwrfw3dm_5Yp_SxXzM_9M5R1dhttkyZhY,19746
64
+ dara/core/internal/routing.py,sha256=LN133glz523lBp5TV7GVgyW2f8jlN9X8hVe7szJr_Cg,26422
65
65
  dara/core/internal/scheduler.py,sha256=rmj-NnHHToWBPuteKlf0RmKcav2Hz0Z9-l4uyrAGKSI,13069
66
66
  dara/core/internal/settings.py,sha256=DxRvXcelawaKemTcX6JIVIilibn0XO5Bd98dCXau4zg,3937
67
67
  dara/core/internal/store.py,sha256=Z4EUMwHR0DR-TVCL9csSGYE3toxh15iRpBP2c7MUgr8,6442
68
- dara/core/internal/tasks.py,sha256=WgQcgyChnUe4Dy16dw4LpFAcSECVoxFjVJHkPnfZFaA,34790
68
+ dara/core/internal/tasks.py,sha256=LVRrcK_cuJ7fujSUb8S6xSkPLYmxrAcnXKxEvo7G3l0,34814
69
69
  dara/core/internal/utils.py,sha256=nUnwy1BLW9HUQro9ASAYb-AlNJkbaT_bQ1bE2e1q1wo,9088
70
70
  dara/core/internal/websocket.py,sha256=rcipt5XY48akMuLHFdvUUIgNLqzJx7ovLeiPsYVMELM,21953
71
71
  dara/core/jinja/index.html,sha256=5Sq_FwXn0F4dOyRFprfoh_tn0GUq6_aLYyYdpzQLdeM,3312
@@ -82,44 +82,46 @@ dara/core/js_tooling/templates/dara.config.json,sha256=RZG_R_xJv_5rYIoz2QZulcG49
82
82
  dara/core/js_tooling/templates/vite.config.template.ts,sha256=W-R9LtXPMv7vQkqMawMmeFrjaQ22xrGU0iYyS_nHkh4,1199
83
83
  dara/core/log_configs/logging.yaml,sha256=YJyD18psAmSVz6587dcEOyoulLuRFFu1g8yMXl1ylM0,706
84
84
  dara/core/logging.py,sha256=8kJPQfRpivxzJXpmsK6-sYnWjR_VBDHzIelD1rstIeM,13260
85
- dara/core/main.py,sha256=B3dst9KlXEV_Vgbm5uvfg-ZPhFHL3qx1cjhqxJ75C4g,24654
85
+ dara/core/main.py,sha256=DtJgblyovl5X_ZEeeQ5Pru1j29GCcnoi9VeO6OZ0qUc,20753
86
86
  dara/core/metrics/__init__.py,sha256=2UqpWHv-Ie58QLJIHJ9Szfjq8xifAuwy5FYGUIFwWtI,823
87
87
  dara/core/metrics/cache.py,sha256=c1PSst_oZZvuVzBXYWdpf8Sbb97u6q0HS2dlsEVLpQU,2632
88
88
  dara/core/metrics/runtime.py,sha256=YP-6Dz0GeI9_Yr7bUk_-OqShyFySGH_AKpDO126l6es,1833
89
89
  dara/core/metrics/utils.py,sha256=inR1Ab5hmWZY2lsgGwLCQOEdyhCD9PumU52X2JbwlKY,2251
90
- dara/core/persistence.py,sha256=10Hrvb2z5c9r0Hof7gpiiWfuKAAu6TLqLKoiZA9KpZo,18901
91
- dara/core/router/__init__.py,sha256=4e0g3jS1DMa2EftBEYAFTZxwH1r_mREzbTbIqEWxGPo,89
90
+ dara/core/persistence.py,sha256=ZUmfAjcTwk_oYyaulDrtpiCwIg8vaOw8uTZd2qT4nNo,19410
91
+ dara/core/router/__init__.py,sha256=yGI_MgLQU37ircCtYVNjnhqCjWQxKd5amoNqvMyrhOs,121
92
92
  dara/core/router/compat.py,sha256=WAVzDcJFJOVoIQ5inplIhXD58TWsWwTTebTCqpG4nGs,3137
93
- dara/core/router/components.py,sha256=venfZjfJIqttsn8ZmkcQzj_5W4txYKQ1BuPjDox3efo,3483
94
- dara/core/router/router.py,sha256=KWefrstdXojN7GHiHbZcjRLgWMVPNbH_xX5fs0z9Lrs,29035
95
- dara/core/umd/dara.core.umd.cjs,sha256=JruBmUGb8NENOHa4-7o_JOEd16-BJzTC-7_aVW4ZQIE,5032118
96
- dara/core/umd/style.css,sha256=aywwY47sVAdfUt4q8c3xCi81TuHXoIJdwrWtppRGJrk,4095751
93
+ dara/core/router/components.py,sha256=MDaiQ8Y0-94EH0Jm4j7p9S141k8G4osSbOKSTSu3aOM,4433
94
+ dara/core/router/dependency_graph.py,sha256=AyjSk3DuvCgACrgpID4oSpms1X6GQJUbt-scY5X_LN4,2305
95
+ dara/core/router/router.py,sha256=1r3rFGiftOXC6GP66hKqTdcVNDRJsZWBWvL74wNG4dA,29719
96
+ dara/core/umd/dara.core.umd.cjs,sha256=xWbTSf5MuczWptv2bOgW9Sslvai_3SXNIQq4DR_iCBw,5143689
97
+ dara/core/umd/style.css,sha256=yT3PKpi2sKI2-kQIF8xtVbTPQqgpK7-Ua7tfzDPuSsI,4095881
97
98
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
98
- dara/core/visual/components/__init__.py,sha256=zAxlhI6ZCJYAPAwLPLc435NMgANaoZuQV--I6tA2ecY,2422
99
+ dara/core/visual/components/__init__.py,sha256=nmCsnMLXeZAjkhMYz-mIFodpVY-69IO1fvwwXbFlMQ4,2447
99
100
  dara/core/visual/components/dynamic_component.py,sha256=w7rxrM9ZTNvkHymkAto_s9UKg7EE8VrlpL9QdRe4sgY,692
100
101
  dara/core/visual/components/fallback.py,sha256=cnuPcblmQ1gyzZHrwHtrD5C5Bo7-JXeiMO0KZ1ACbPM,4764
101
102
  dara/core/visual/components/for_cmp.py,sha256=HykNfue2YzjZjWiWaJakLZmbdd_M7IfUi9kNhG2mLOE,6347
102
103
  dara/core/visual/components/invalid_component.py,sha256=Q6O9rAwVUNZXjEmliAKLfWf2lsyYK5JhgQvMM6jVco8,901
103
104
  dara/core/visual/components/menu.py,sha256=hGBw6nj8_MKsYyD7sTL4687Y3-hYiIh6VsbT-cxyvDE,1113
104
- dara/core/visual/components/menu_link.py,sha256=Sw2D3peHwNihzGrwwGZAcW478BgC19ZoXDf7RR7YVn8,1114
105
+ dara/core/visual/components/menu_link.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
105
106
  dara/core/visual/components/powered_by_causalens.py,sha256=AOeEDKCqRcLhdVDcpcXnAwGupfMvrJo2cZ26q3CYpMc,285
106
107
  dara/core/visual/components/progress_tracker.py,sha256=5p_nEJf7RK2oPimXL4YhAN7v0Jcx2HHQzlLxPr7Co38,1705
107
108
  dara/core/visual/components/raw_string.py,sha256=jtG9hDZz3s-sCg__Eg4__XkD80OhnNaWiRo-W88LK4M,921
108
109
  dara/core/visual/components/router_content.py,sha256=ZFJBuT-Vpn4yvbzgt5IGQbBqiWFhYfHa6mgB2O8Xt8I,978
109
110
  dara/core/visual/components/sidebar_frame.py,sha256=vUd8BM-VD3HvI4I1RssS1A2r5-4gtAl-UrMxLdz0sDI,1291
111
+ dara/core/visual/components/theme_provider.py,sha256=cerZVnvQmGHqe_0uIiWXB8U4ArCUQLqWInSOroHim9g,1458
110
112
  dara/core/visual/components/topbar_frame.py,sha256=7L4Bi7Ba_gdfS6yoduXQ3k0-XQaNuahmkumyfzlpzzY,1255
111
113
  dara/core/visual/components/types.py,sha256=uH2IGufr4-I8cNbZgnEd3YbqoPFgyqG91rfNXZVG7a0,686
112
114
  dara/core/visual/css/Property.py,sha256=XJzlMeASyrquhXmaQZvrsgin3xlVfm94dHRY9aJkhXk,43028
113
115
  dara/core/visual/css/__init__.py,sha256=r2W1B5yRQhmxBRoRyldzOopaobb2sgkEh_mUjWUvtko,367328
114
- dara/core/visual/dynamic_component.py,sha256=hlOBRm3V1DlDAzyi--wWDOqC_bD-ofq5LXa4Mn5hBk0,14302
116
+ dara/core/visual/dynamic_component.py,sha256=-UWwA_D07GPmqGjIKHy-X0iJ8_ynoS4J_5einEHQ3B8,14285
115
117
  dara/core/visual/progress_updater.py,sha256=IdtWihnMYk8hqsHqDd0nzuuHeQu8wjnZT42s0oSq9ro,5895
116
118
  dara/core/visual/template.py,sha256=y0KJU2913Q10y1TVMpTVnIxIoUsabzYfpUHEGuX2QyM,5707
117
119
  dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmFIkyRKw,794
118
120
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
119
- dara/core/visual/themes/definitions.py,sha256=nS_gQvOzCt5hTmj74d0_siq_9QWuj6wNuir4VCHy0Dk,2779
121
+ dara/core/visual/themes/definitions.py,sha256=5g83t24w8Ar51Cl9REBJfCU7_DtlashBQeUTKDg3D1M,2862
120
122
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
121
- dara_core-1.21.0.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
122
- dara_core-1.21.0.dist-info/METADATA,sha256=dXFFQ3A7LdKjE2tzh3Cj0KnbgQUN5rrX-s1xVBE027w,7534
123
- dara_core-1.21.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
124
- dara_core-1.21.0.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
125
- dara_core-1.21.0.dist-info/RECORD,,
123
+ dara_core-1.21.2.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
124
+ dara_core-1.21.2.dist-info/METADATA,sha256=SlVuhAHMJ77CYjCiJKE8xGI0q8IppVGtyMso8jFPckY,7534
125
+ dara_core-1.21.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
126
+ dara_core-1.21.2.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
127
+ dara_core-1.21.2.dist-info/RECORD,,