|
@@ -9,97 +9,28 @@ from reflex.event import EventChain, EventHandler, EventSpec
|
|
|
from reflex.style import Style
|
|
|
from typing import Any, Dict, List
|
|
|
from reflex.base import Base
|
|
|
-from reflex.components.component import NoSSRComponent
|
|
|
+from reflex.components.component import Component, NoSSRComponent
|
|
|
+from reflex.components.core.cond import color_mode_cond
|
|
|
from reflex.event import EventHandler
|
|
|
+from reflex.utils import console
|
|
|
from reflex.vars import Var
|
|
|
|
|
|
try:
|
|
|
- from plotly.graph_objects import Figure # type: ignore
|
|
|
+ from plotly.graph_objects import Figure, layout # type: ignore
|
|
|
+
|
|
|
+ Template = layout.Template
|
|
|
except ImportError:
|
|
|
+ console.warn("Plotly is not installed. Please run `pip install plotly`.")
|
|
|
Figure = Any # type: ignore
|
|
|
+ Template = Any
|
|
|
|
|
|
class _ButtonClickData(Base):
|
|
|
menu: Any
|
|
|
button: Any
|
|
|
active: Any
|
|
|
|
|
|
-class PlotlyLib(NoSSRComponent):
|
|
|
- @overload
|
|
|
- @classmethod
|
|
|
- def create( # type: ignore
|
|
|
- cls,
|
|
|
- *children,
|
|
|
- style: Optional[Style] = None,
|
|
|
- key: Optional[Any] = None,
|
|
|
- id: Optional[Any] = None,
|
|
|
- class_name: Optional[Any] = None,
|
|
|
- autofocus: Optional[bool] = None,
|
|
|
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
|
- on_blur: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_click: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_context_menu: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_double_click: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_focus: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mount: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_down: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_enter: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_leave: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_move: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_out: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_over: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_mouse_up: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_scroll: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- on_unmount: Optional[
|
|
|
- Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
- ] = None,
|
|
|
- **props
|
|
|
- ) -> "PlotlyLib":
|
|
|
- """Create the component.
|
|
|
-
|
|
|
- Args:
|
|
|
- *children: The children of the component.
|
|
|
- style: The style of the component.
|
|
|
- key: A unique key for the component.
|
|
|
- id: The id for the component.
|
|
|
- class_name: The class name for the component.
|
|
|
- autofocus: Whether the component should take the focus once the page is loaded
|
|
|
- custom_attrs: custom attribute
|
|
|
- **props: The props of the component.
|
|
|
-
|
|
|
- Returns:
|
|
|
- The component.
|
|
|
- """
|
|
|
- ...
|
|
|
-
|
|
|
-class Plotly(PlotlyLib):
|
|
|
+class Plotly(NoSSRComponent):
|
|
|
+ def add_imports(self) -> dict[str, str]: ...
|
|
|
def add_custom_code(self) -> list[str]: ...
|
|
|
@overload
|
|
|
@classmethod
|
|
@@ -108,6 +39,7 @@ class Plotly(PlotlyLib):
|
|
|
*children,
|
|
|
data: Optional[Union[Var[Figure], Figure]] = None, # type: ignore
|
|
|
layout: Optional[Union[Var[Dict], Dict]] = None,
|
|
|
+ template: Optional[Union[Var[Template], Template]] = None, # type: ignore
|
|
|
config: Optional[Union[Var[Dict], Dict]] = None,
|
|
|
use_resize_handler: Optional[Union[Var[bool], bool]] = None,
|
|
|
style: Optional[Style] = None,
|
|
@@ -217,12 +149,13 @@ class Plotly(PlotlyLib):
|
|
|
] = None,
|
|
|
**props
|
|
|
) -> "Plotly":
|
|
|
- """Create the component.
|
|
|
+ """Create the Plotly component.
|
|
|
|
|
|
Args:
|
|
|
*children: The children of the component.
|
|
|
data: The figure to display. This can be a plotly figure or a plotly data json.
|
|
|
layout: The layout of the graph.
|
|
|
+ template: The template for visual appearance of the graph.
|
|
|
config: The config of the graph.
|
|
|
use_resize_handler: If true, the graph will resize when the window is resized.
|
|
|
style: The style of the component.
|
|
@@ -231,9 +164,9 @@ class Plotly(PlotlyLib):
|
|
|
class_name: The class name for the component.
|
|
|
autofocus: Whether the component should take the focus once the page is loaded
|
|
|
custom_attrs: custom attribute
|
|
|
- **props: The props of the component.
|
|
|
+ **props: The properties of the component.
|
|
|
|
|
|
Returns:
|
|
|
- The component.
|
|
|
+ The Plotly component.
|
|
|
"""
|
|
|
...
|