Recharts supporting radix color, add event triggers (#3430)

Co-authored-by: Hongyu Yao <hongyuyao@hongyus-mbp-3.lan>
This commit is contained in:
HongyuHansonYao 2024-06-07 09:47:12 -07:00 committed by GitHub
parent 6e719d4c83
commit 4e990d2716
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 188 additions and 66 deletions

View File

@ -4,6 +4,7 @@ from __future__ import annotations
from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union
from reflex.constants import EventTriggers from reflex.constants import EventTriggers
from reflex.constants.colors import Color
from reflex.vars import Var from reflex.vars import Var
from .recharts import ( from .recharts import (
@ -32,6 +33,12 @@ class Axis(Recharts):
# If set true, the axis do not display in the chart. # If set true, the axis do not display in the chart.
hide: Var[bool] hide: Var[bool]
# The width of axis which is usually calculated internally.
width: Var[Union[str, int]]
# The height of axis, which can be setted by user.
height: Var[Union[str, int]]
# The orientation of axis 'top' | 'bottom' # The orientation of axis 'top' | 'bottom'
orientation: Var[LiteralOrientationTopBottom] orientation: Var[LiteralOrientationTopBottom]
@ -50,9 +57,6 @@ class Axis(Recharts):
# If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line. # If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line.
axis_line: Var[bool] axis_line: Var[bool]
# If set false, no axis tick lines will be drawn. If set a object, the option is the configuration of tick lines.
tick_line: Var[bool]
# If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside. # If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside.
mirror: Var[bool] mirror: Var[bool]
@ -76,6 +80,8 @@ class Axis(Recharts):
""" """
return { return {
EventTriggers.ON_CLICK: lambda: [], EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_UP: lambda: [],
EventTriggers.ON_MOUSE_DOWN: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [], EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_OVER: lambda: [], EventTriggers.ON_MOUSE_OVER: lambda: [],
EventTriggers.ON_MOUSE_OUT: lambda: [], EventTriggers.ON_MOUSE_OUT: lambda: [],
@ -91,6 +97,9 @@ class XAxis(Axis):
alias = "RechartsXAxis" alias = "RechartsXAxis"
# Ensures that all datapoints within a chart contribute to its domain calculation, even when they are hidden
include_hidden: Var[bool] = Var.create_safe(False)
class YAxis(Axis): class YAxis(Axis):
"""A YAxis component in Recharts.""" """A YAxis component in Recharts."""
@ -134,7 +143,7 @@ class Brush(Recharts):
alias = "RechartsBrush" alias = "RechartsBrush"
# Stroke color # Stroke color
stroke: Var[str] stroke: Var[Union[str, Color]]
# The key of data displayed in the axis. # The key of data displayed in the axis.
data_key: Var[Union[str, int]] data_key: Var[Union[str, int]]
@ -204,6 +213,8 @@ class Cartesian(Recharts):
return { return {
EventTriggers.ON_CLICK: lambda: [], EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [], EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_UP: lambda: [],
EventTriggers.ON_MOUSE_DOWN: lambda: [],
EventTriggers.ON_MOUSE_OVER: lambda: [], EventTriggers.ON_MOUSE_OVER: lambda: [],
EventTriggers.ON_MOUSE_OUT: lambda: [], EventTriggers.ON_MOUSE_OUT: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [], EventTriggers.ON_MOUSE_ENTER: lambda: [],
@ -219,13 +230,13 @@ class Area(Cartesian):
alias = "RechartsArea" alias = "RechartsArea"
# The color of the line stroke. # The color of the line stroke.
stroke: Var[str] stroke: Var[Union[str, Color]]
# The width of the line stroke. # The width of the line stroke.
stroke_width: Var[int] stroke_width: Var[int]
# The color of the area fill. # The color of the area fill.
fill: Var[str] fill: Var[Union[str, Color]]
# The interpolation type of area. And customized interpolation function can be set to type. 'basis' | 'basisClosed' | 'basisOpen' | 'bumpX' | 'bumpY' | 'bump' | 'linear' | 'linearClosed' | 'natural' | 'monotoneX' | 'monotoneY' | 'monotone' | 'step' | 'stepBefore' | 'stepAfter' | # The interpolation type of area. And customized interpolation function can be set to type. 'basis' | 'basisClosed' | 'basisOpen' | 'bumpX' | 'bumpY' | 'bump' | 'linear' | 'linearClosed' | 'natural' | 'monotoneX' | 'monotoneY' | 'monotone' | 'step' | 'stepBefore' | 'stepAfter' |
type_: Var[LiteralAreaType] type_: Var[LiteralAreaType]
@ -254,13 +265,13 @@ class Bar(Cartesian):
alias = "RechartsBar" alias = "RechartsBar"
# The color of the line stroke. # The color of the line stroke.
stroke: Var[str] stroke: Var[Union[str, Color]]
# The width of the line stroke. # The width of the line stroke.
stroke_width: Var[int] stroke_width: Var[int]
# The width of the line stroke. # The width of the line stroke.
fill: Var[str] fill: Var[Union[str, Color]]
# If false set, background of bars will not be drawn. If true set, background of bars will be drawn which have the props calculated internally. # If false set, background of bars will not be drawn. If true set, background of bars will be drawn which have the props calculated internally.
background: Var[bool] background: Var[bool]
@ -292,7 +303,7 @@ class Line(Cartesian):
type_: Var[LiteralAreaType] type_: Var[LiteralAreaType]
# The color of the line stroke. # The color of the line stroke.
stroke: Var[str] stroke: Var[Union[str, Color]]
# The width of the line stroke. # The width of the line stroke.
stoke_width: Var[int] stoke_width: Var[int]
@ -339,7 +350,7 @@ class Scatter(Cartesian):
line_type: Var[LiteralLineType] line_type: Var[LiteralLineType]
# The fill # The fill
fill: Var[str] fill: Var[Union[str, Color]]
# the name # the name
name: Var[Union[str, int]] name: Var[Union[str, int]]
@ -370,6 +381,23 @@ class Funnel(Cartesian):
# Valid children components # Valid children components
_valid_children: List[str] = ["LabelList", "Cell"] _valid_children: List[str] = ["LabelList", "Cell"]
def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
"""Get the event triggers that pass the component's value to the handler.
Returns:
A dict mapping the event trigger to the var that is passed to the handler.
"""
return {
EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_UP: lambda: [],
EventTriggers.ON_MOUSE_DOWN: lambda: [],
EventTriggers.ON_MOUSE_OVER: lambda: [],
EventTriggers.ON_MOUSE_OUT: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [],
EventTriggers.ON_MOUSE_LEAVE: lambda: [],
}
class ErrorBar(Recharts): class ErrorBar(Recharts):
"""An ErrorBar component in Recharts.""" """An ErrorBar component in Recharts."""
@ -388,7 +416,7 @@ class ErrorBar(Recharts):
width: Var[int] width: Var[int]
# The stroke color of error bar. # The stroke color of error bar.
stroke: Var[str] stroke: Var[Union[str, Color]]
# The stroke width of error bar. # The stroke width of error bar.
stroke_width: Var[int] stroke_width: Var[int]
@ -464,10 +492,10 @@ class ReferenceArea(Recharts):
alias = "RechartsReferenceArea" alias = "RechartsReferenceArea"
# Stroke color # Stroke color
stroke: Var[str] stroke: Var[Union[str, Color]]
# Fill color # Fill color
fill: Var[str] fill: Var[Union[str, Color]]
# The opacity of area. # The opacity of area.
fill_opacity: Var[float] fill_opacity: Var[float]
@ -530,7 +558,7 @@ class CartesianGrid(Grid):
vertical: Var[Dict[str, Any]] vertical: Var[Dict[str, Any]]
# The background of grid. # The background of grid.
fill: Var[str] fill: Var[Union[str, Color]]
# The opacity of the background used to fill the space between grid lines # The opacity of the background used to fill the space between grid lines
fill_opacity: Var[float] fill_opacity: Var[float]

View File

@ -9,6 +9,7 @@ from reflex.event import EventChain, EventHandler, EventSpec
from reflex.style import Style from reflex.style import Style
from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union
from reflex.constants import EventTriggers from reflex.constants import EventTriggers
from reflex.constants.colors import Color
from reflex.vars import Var from reflex.vars import Var
from .recharts import ( from .recharts import (
LiteralAnimationEasing, LiteralAnimationEasing,
@ -35,6 +36,8 @@ class Axis(Recharts):
*children, *children,
data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
hide: Optional[Union[Var[bool], bool]] = None, hide: Optional[Union[Var[bool], bool]] = None,
width: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
height: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
orientation: Optional[ orientation: Optional[
Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]] Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]]
] = None, ] = None,
@ -45,7 +48,6 @@ class Axis(Recharts):
allow_data_overflow: Optional[Union[Var[bool], bool]] = None, allow_data_overflow: Optional[Union[Var[bool], bool]] = None,
allow_duplicated_category: Optional[Union[Var[bool], bool]] = None, allow_duplicated_category: Optional[Union[Var[bool], bool]] = None,
axis_line: Optional[Union[Var[bool], bool]] = None, axis_line: Optional[Union[Var[bool], bool]] = None,
tick_line: Optional[Union[Var[bool], bool]] = None,
mirror: Optional[Union[Var[bool], bool]] = None, mirror: Optional[Union[Var[bool], bool]] = None,
reversed: Optional[Union[Var[bool], bool]] = None, reversed: Optional[Union[Var[bool], bool]] = None,
scale: Optional[ scale: Optional[
@ -99,6 +101,9 @@ class Axis(Recharts):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -114,6 +119,9 @@ class Axis(Recharts):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Axis": ) -> "Axis":
"""Create the component. """Create the component.
@ -122,13 +130,14 @@ class Axis(Recharts):
*children: The children of the component. *children: The children of the component.
data_key: The key of a group of data which should be unique in an area chart. data_key: The key of a group of data which should be unique in an area chart.
hide: If set true, the axis do not display in the chart. hide: If set true, the axis do not display in the chart.
width: The width of axis which is usually calculated internally.
height: The height of axis, which can be setted by user.
orientation: The orientation of axis 'top' | 'bottom' orientation: The orientation of axis 'top' | 'bottom'
type_: The type of axis 'number' | 'category' type_: The type of axis 'number' | 'category'
allow_decimals: Allow the ticks of XAxis to be decimals or not. allow_decimals: Allow the ticks of XAxis to be decimals or not.
allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain. allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain.
allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category". allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category".
axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line. axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line.
tick_line: If set false, no axis tick lines will be drawn. If set a object, the option is the configuration of tick lines.
mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside. mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside.
reversed: Reverse the ticks or not. reversed: Reverse the ticks or not.
scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function
@ -153,8 +162,11 @@ class XAxis(Axis):
def create( # type: ignore def create( # type: ignore
cls, cls,
*children, *children,
include_hidden: Optional[Union[Var[bool], bool]] = None,
data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
hide: Optional[Union[Var[bool], bool]] = None, hide: Optional[Union[Var[bool], bool]] = None,
width: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
height: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
orientation: Optional[ orientation: Optional[
Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]] Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]]
] = None, ] = None,
@ -165,7 +177,6 @@ class XAxis(Axis):
allow_data_overflow: Optional[Union[Var[bool], bool]] = None, allow_data_overflow: Optional[Union[Var[bool], bool]] = None,
allow_duplicated_category: Optional[Union[Var[bool], bool]] = None, allow_duplicated_category: Optional[Union[Var[bool], bool]] = None,
axis_line: Optional[Union[Var[bool], bool]] = None, axis_line: Optional[Union[Var[bool], bool]] = None,
tick_line: Optional[Union[Var[bool], bool]] = None,
mirror: Optional[Union[Var[bool], bool]] = None, mirror: Optional[Union[Var[bool], bool]] = None,
reversed: Optional[Union[Var[bool], bool]] = None, reversed: Optional[Union[Var[bool], bool]] = None,
scale: Optional[ scale: Optional[
@ -219,6 +230,9 @@ class XAxis(Axis):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -234,21 +248,26 @@ class XAxis(Axis):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "XAxis": ) -> "XAxis":
"""Create the component. """Create the component.
Args: Args:
*children: The children of the component. *children: The children of the component.
include_hidden: Ensures that all datapoints within a chart contribute to its domain calculation, even when they are hidden
data_key: The key of a group of data which should be unique in an area chart. data_key: The key of a group of data which should be unique in an area chart.
hide: If set true, the axis do not display in the chart. hide: If set true, the axis do not display in the chart.
width: The width of axis which is usually calculated internally.
height: The height of axis, which can be setted by user.
orientation: The orientation of axis 'top' | 'bottom' orientation: The orientation of axis 'top' | 'bottom'
type_: The type of axis 'number' | 'category' type_: The type of axis 'number' | 'category'
allow_decimals: Allow the ticks of XAxis to be decimals or not. allow_decimals: Allow the ticks of XAxis to be decimals or not.
allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain. allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain.
allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category". allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category".
axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line. axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line.
tick_line: If set false, no axis tick lines will be drawn. If set a object, the option is the configuration of tick lines.
mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside. mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside.
reversed: Reverse the ticks or not. reversed: Reverse the ticks or not.
scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function
@ -275,6 +294,8 @@ class YAxis(Axis):
*children, *children,
data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
hide: Optional[Union[Var[bool], bool]] = None, hide: Optional[Union[Var[bool], bool]] = None,
width: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
height: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
orientation: Optional[ orientation: Optional[
Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]] Union[Var[Literal["top", "bottom"]], Literal["top", "bottom"]]
] = None, ] = None,
@ -285,7 +306,6 @@ class YAxis(Axis):
allow_data_overflow: Optional[Union[Var[bool], bool]] = None, allow_data_overflow: Optional[Union[Var[bool], bool]] = None,
allow_duplicated_category: Optional[Union[Var[bool], bool]] = None, allow_duplicated_category: Optional[Union[Var[bool], bool]] = None,
axis_line: Optional[Union[Var[bool], bool]] = None, axis_line: Optional[Union[Var[bool], bool]] = None,
tick_line: Optional[Union[Var[bool], bool]] = None,
mirror: Optional[Union[Var[bool], bool]] = None, mirror: Optional[Union[Var[bool], bool]] = None,
reversed: Optional[Union[Var[bool], bool]] = None, reversed: Optional[Union[Var[bool], bool]] = None,
scale: Optional[ scale: Optional[
@ -339,6 +359,9 @@ class YAxis(Axis):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -354,6 +377,9 @@ class YAxis(Axis):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "YAxis": ) -> "YAxis":
"""Create the component. """Create the component.
@ -362,13 +388,14 @@ class YAxis(Axis):
*children: The children of the component. *children: The children of the component.
data_key: The key of a group of data which should be unique in an area chart. data_key: The key of a group of data which should be unique in an area chart.
hide: If set true, the axis do not display in the chart. hide: If set true, the axis do not display in the chart.
width: The width of axis which is usually calculated internally.
height: The height of axis, which can be setted by user.
orientation: The orientation of axis 'top' | 'bottom' orientation: The orientation of axis 'top' | 'bottom'
type_: The type of axis 'number' | 'category' type_: The type of axis 'number' | 'category'
allow_decimals: Allow the ticks of XAxis to be decimals or not. allow_decimals: Allow the ticks of XAxis to be decimals or not.
allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain. allow_data_overflow: When domain of the axis is specified and the type of the axis is 'number', if allowDataOverflow is set to be false, the domain will be adjusted when the minimum value of data is smaller than domain[0] or the maximum value of data is greater than domain[1] so that the axis displays all data values. If set to true, graphic elements (line, area, bars) will be clipped to conform to the specified domain.
allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category". allow_duplicated_category: Allow the axis has duplicated categorys or not when the type of axis is "category".
axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line. axis_line: If set false, no axis line will be drawn. If set a object, the option is the configuration of axis line.
tick_line: If set false, no axis tick lines will be drawn. If set a object, the option is the configuration of tick lines.
mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside. mirror: If set true, flips ticks around the axis line, displaying the labels inside the chart instead of outside.
reversed: Reverse the ticks or not. reversed: Reverse the ticks or not.
scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function scale: If 'auto' set, the scale function is decided by the type of chart, and the props type. 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'identity' | 'time' | 'band' | 'point' | 'ordinal' | 'quantile' | 'quantize' | 'utc' | 'sequential' | 'threshold' | Function
@ -519,7 +546,7 @@ class Brush(Recharts):
def create( # type: ignore def create( # type: ignore
cls, cls,
*children, *children,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
x: Optional[Union[Var[int], int]] = None, x: Optional[Union[Var[int], int]] = None,
y: Optional[Union[Var[int], int]] = None, y: Optional[Union[Var[int], int]] = None,
@ -594,6 +621,9 @@ class Cartesian(Recharts):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -609,6 +639,9 @@ class Cartesian(Recharts):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Cartesian": ) -> "Cartesian":
"""Create the component. """Create the component.
@ -638,9 +671,9 @@ class Area(Cartesian):
def create( # type: ignore def create( # type: ignore
cls, cls,
*children, *children,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
stroke_width: Optional[Union[Var[int], int]] = None, stroke_width: Optional[Union[Var[int], int]] = None,
fill: Optional[Union[Var[str], str]] = None, fill: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
type_: Optional[ type_: Optional[
Union[ Union[
Var[ Var[
@ -703,6 +736,9 @@ class Area(Cartesian):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -718,6 +754,9 @@ class Area(Cartesian):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Area": ) -> "Area":
"""Create the component. """Create the component.
@ -755,9 +794,9 @@ class Bar(Cartesian):
def create( # type: ignore def create( # type: ignore
cls, cls,
*children, *children,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
stroke_width: Optional[Union[Var[int], int]] = None, stroke_width: Optional[Union[Var[int], int]] = None,
fill: Optional[Union[Var[str], str]] = None, fill: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
background: Optional[Union[Var[bool], bool]] = None, background: Optional[Union[Var[bool], bool]] = None,
label: Optional[Union[Var[bool], bool]] = None, label: Optional[Union[Var[bool], bool]] = None,
stack_id: Optional[Union[Var[str], str]] = None, stack_id: Optional[Union[Var[str], str]] = None,
@ -781,6 +820,9 @@ class Bar(Cartesian):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -796,6 +838,9 @@ class Bar(Cartesian):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Bar": ) -> "Bar":
"""Create the component. """Create the component.
@ -873,7 +918,7 @@ class Line(Cartesian):
], ],
] ]
] = None, ] = None,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
stoke_width: Optional[Union[Var[int], int]] = None, stoke_width: Optional[Union[Var[int], int]] = None,
dot: Optional[Union[Var[bool], bool]] = None, dot: Optional[Union[Var[bool], bool]] = None,
active_dot: Optional[Union[Var[bool], bool]] = None, active_dot: Optional[Union[Var[bool], bool]] = None,
@ -898,6 +943,9 @@ class Line(Cartesian):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -913,6 +961,9 @@ class Line(Cartesian):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Line": ) -> "Line":
"""Create the component. """Create the component.
@ -974,7 +1025,7 @@ class Scatter(Cartesian):
line_type: Optional[ line_type: Optional[
Union[Var[Literal["joint", "fitting"]], Literal["joint", "fitting"]] Union[Var[Literal["joint", "fitting"]], Literal["joint", "fitting"]]
] = None, ] = None,
fill: Optional[Union[Var[str], str]] = None, fill: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
name: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, name: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
layout: Optional[ layout: Optional[
Union[ Union[
@ -994,6 +1045,9 @@ class Scatter(Cartesian):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -1009,6 +1063,9 @@ class Scatter(Cartesian):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Scatter": ) -> "Scatter":
"""Create the component. """Create the component.
@ -1040,6 +1097,7 @@ class Scatter(Cartesian):
... ...
class Funnel(Cartesian): class Funnel(Cartesian):
def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
@overload @overload
@classmethod @classmethod
def create( # type: ignore def create( # type: ignore
@ -1072,6 +1130,9 @@ class Funnel(Cartesian):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -1087,6 +1148,9 @@ class Funnel(Cartesian):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "Funnel": ) -> "Funnel":
"""Create the component. """Create the component.
@ -1125,7 +1189,7 @@ class ErrorBar(Recharts):
] = None, ] = None,
data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, data_key: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
width: Optional[Union[Var[int], int]] = None, width: Optional[Union[Var[int], int]] = None,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
stroke_width: Optional[Union[Var[int], int]] = None, stroke_width: Optional[Union[Var[int], int]] = None,
style: Optional[Style] = None, style: Optional[Style] = None,
key: Optional[Any] = None, key: Optional[Any] = None,
@ -1463,8 +1527,8 @@ class ReferenceArea(Recharts):
def create( # type: ignore def create( # type: ignore
cls, cls,
*children, *children,
stroke: Optional[Union[Var[str], str]] = None, stroke: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
fill: Optional[Union[Var[str], str]] = None, fill: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
fill_opacity: Optional[Union[Var[float], float]] = None, fill_opacity: Optional[Union[Var[float], float]] = None,
x_axis_id: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, x_axis_id: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
y_axis_id: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None, y_axis_id: Optional[Union[Var[Union[str, int]], Union[str, int]]] = None,
@ -1652,7 +1716,7 @@ class CartesianGrid(Grid):
*children, *children,
horizontal: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None, horizontal: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None,
vertical: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None, vertical: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None,
fill: Optional[Union[Var[str], str]] = None, fill: Optional[Union[Var[Union[str, Color]], Union[str, Color]]] = None,
fill_opacity: Optional[Union[Var[float], float]] = None, fill_opacity: Optional[Union[Var[float], float]] = None,
stroke_dasharray: Optional[Union[Var[str], str]] = None, stroke_dasharray: Optional[Union[Var[str], str]] = None,
x: Optional[Union[Var[int], int]] = None, x: Optional[Union[Var[int], int]] = None,

View File

@ -6,6 +6,7 @@ from typing import Any, Dict, List, Union
from reflex.components.component import Component from reflex.components.component import Component
from reflex.components.recharts.general import ResponsiveContainer from reflex.components.recharts.general import ResponsiveContainer
from reflex.constants import EventTriggers from reflex.constants import EventTriggers
from reflex.event import EventHandler
from reflex.vars import Var from reflex.vars import Var
from .recharts import ( from .recharts import (
@ -126,9 +127,6 @@ class AreaChart(ChartBase):
# The base value of area. Number | 'dataMin' | 'dataMax' | 'auto' # The base value of area. Number | 'dataMin' | 'dataMax' | 'auto'
base_value: Var[Union[int, LiteralComposedChartBaseValue]] base_value: Var[Union[int, LiteralComposedChartBaseValue]]
# The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape.
stack_offset: Var[LiteralStackOffset]
# Valid children components # Valid children components
_valid_children: List[str] = [ _valid_children: List[str] = [
"XAxis", "XAxis",
@ -152,10 +150,10 @@ class BarChart(ChartBase):
alias = "RechartsBarChart" alias = "RechartsBarChart"
# The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number # The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number
bar_category_gap: Var[Union[str, int]] # type: ignore bar_category_gap: Var[Union[str, int]] = Var.create_safe("10%") # type: ignore
# The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number # The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number
bar_gap: Var[Union[str, int]] # type: ignore bar_gap: Var[Union[str, int]] = Var.create_safe(4) # type: ignore
# The width of all the bars in the chart. Number # The width of all the bars in the chart. Number
bar_size: Var[int] bar_size: Var[int]
@ -319,7 +317,6 @@ class RadarChart(ChartBase):
return { return {
EventTriggers.ON_CLICK: lambda: [], EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [], EventTriggers.ON_MOUSE_ENTER: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_LEAVE: lambda: [], EventTriggers.ON_MOUSE_LEAVE: lambda: [],
} }
@ -377,7 +374,6 @@ class RadialBarChart(ChartBase):
return { return {
EventTriggers.ON_CLICK: lambda: [], EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [], EventTriggers.ON_MOUSE_ENTER: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_LEAVE: lambda: [], EventTriggers.ON_MOUSE_LEAVE: lambda: [],
} }
@ -412,10 +408,12 @@ class ScatterChart(ChartBase):
""" """
return { return {
EventTriggers.ON_CLICK: lambda: [], EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_DOWN: lambda: [],
EventTriggers.ON_MOUSE_UP: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_OVER: lambda: [], EventTriggers.ON_MOUSE_OVER: lambda: [],
EventTriggers.ON_MOUSE_OUT: lambda: [], EventTriggers.ON_MOUSE_OUT: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [], EventTriggers.ON_MOUSE_ENTER: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_LEAVE: lambda: [], EventTriggers.ON_MOUSE_LEAVE: lambda: [],
} }
@ -457,19 +455,6 @@ class FunnelChart(RechartsCharts):
# Valid children components # Valid children components
_valid_children: List[str] = ["Legend", "GraphingTooltip", "Funnel"] _valid_children: List[str] = ["Legend", "GraphingTooltip", "Funnel"]
def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
"""Get the event triggers that pass the component's value to the handler.
Returns:
A dict mapping the event trigger to the var that is passed to the handler.
"""
return {
EventTriggers.ON_CLICK: lambda: [],
EventTriggers.ON_MOUSE_ENTER: lambda: [],
EventTriggers.ON_MOUSE_MOVE: lambda: [],
EventTriggers.ON_MOUSE_LEAVE: lambda: [],
}
class Treemap(RechartsCharts): class Treemap(RechartsCharts):
"""A Treemap chart component in Recharts.""" """A Treemap chart component in Recharts."""
@ -505,6 +490,12 @@ class Treemap(RechartsCharts):
# The type of easing function. 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear' # The type of easing function. 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear'
animation_easing: Var[LiteralAnimationEasing] animation_easing: Var[LiteralAnimationEasing]
# The customized event handler of animation start
on_animation_start: EventHandler[lambda: []]
# The customized event handler of animation end
on_animation_end: EventHandler[lambda: []]
@classmethod @classmethod
def create(cls, *children, **props) -> Component: def create(cls, *children, **props) -> Component:
"""Create a chart component. """Create a chart component.

View File

@ -11,6 +11,7 @@ from typing import Any, Dict, List, Union
from reflex.components.component import Component from reflex.components.component import Component
from reflex.components.recharts.general import ResponsiveContainer from reflex.components.recharts.general import ResponsiveContainer
from reflex.constants import EventTriggers from reflex.constants import EventTriggers
from reflex.event import EventHandler
from reflex.vars import Var from reflex.vars import Var
from .recharts import ( from .recharts import (
LiteralAnimationEasing, LiteralAnimationEasing,
@ -105,12 +106,6 @@ class AreaChart(ChartBase):
Union[int, Literal["dataMin", "dataMax", "auto"]], Union[int, Literal["dataMin", "dataMax", "auto"]],
] ]
] = None, ] = None,
stack_offset: Optional[
Union[
Var[Literal["expand", "none", "wiggle", "silhouette"]],
Literal["expand", "none", "wiggle", "silhouette"],
]
] = None,
data: Optional[Union[Var[List[Dict[str, Any]]], List[Dict[str, Any]]]] = None, data: Optional[Union[Var[List[Dict[str, Any]]], List[Dict[str, Any]]]] = None,
sync_id: Optional[Union[Var[str], str]] = None, sync_id: Optional[Union[Var[str], str]] = None,
sync_method: Optional[ sync_method: Optional[
@ -125,6 +120,12 @@ class AreaChart(ChartBase):
] ]
] = None, ] = None,
margin: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None, margin: Optional[Union[Var[Dict[str, Any]], Dict[str, Any]]] = None,
stack_offset: Optional[
Union[
Var[Literal["expand", "none", "wiggle", "silhouette"]],
Literal["expand", "none", "wiggle", "silhouette"],
]
] = None,
style: Optional[Style] = None, style: Optional[Style] = None,
key: Optional[Any] = None, key: Optional[Any] = None,
id: Optional[Any] = None, id: Optional[Any] = None,
@ -150,7 +151,6 @@ class AreaChart(ChartBase):
Args: Args:
*children: The children of the chart component. *children: The children of the chart component.
base_value: The base value of area. Number | 'dataMin' | 'dataMax' | 'auto' base_value: The base value of area. Number | 'dataMin' | 'dataMax' | 'auto'
stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
data: The source data, in which each element is an object. data: The source data, in which each element is an object.
sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush. sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
@ -158,6 +158,7 @@ class AreaChart(ChartBase):
height: The height of chart container. height: The height of chart container.
layout: The layout of area in the chart. 'horizontal' | 'vertical' layout: The layout of area in the chart. 'horizontal' | 'vertical'
margin: The sizes of whitespace around the chart. margin: The sizes of whitespace around the chart.
stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
style: The style of the component. style: The style of the component.
key: A unique key for the component. key: A unique key for the component.
id: The id for the component. id: The id for the component.
@ -526,9 +527,6 @@ class RadarChart(ChartBase):
on_mouse_leave: Optional[ on_mouse_leave: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_move: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "RadarChart": ) -> "RadarChart":
"""Create a chart component. """Create a chart component.
@ -613,9 +611,6 @@ class RadialBarChart(ChartBase):
on_mouse_leave: Optional[ on_mouse_leave: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_move: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "RadialBarChart": ) -> "RadialBarChart":
"""Create a chart component. """Create a chart component.
@ -688,6 +683,9 @@ class ScatterChart(ChartBase):
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mouse_enter: Optional[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -703,6 +701,9 @@ class ScatterChart(ChartBase):
on_mouse_over: Optional[ on_mouse_over: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
on_mouse_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
**props **props
) -> "ScatterChart": ) -> "ScatterChart":
"""Create a chart component. """Create a chart component.
@ -731,7 +732,6 @@ class ScatterChart(ChartBase):
... ...
class FunnelChart(RechartsCharts): class FunnelChart(RechartsCharts):
def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
@overload @overload
@classmethod @classmethod
def create( # type: ignore def create( # type: ignore
@ -756,9 +756,27 @@ class FunnelChart(RechartsCharts):
class_name: Optional[Any] = None, class_name: Optional[Any] = None,
autofocus: Optional[bool] = None, autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None, custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_click: Optional[ on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = 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[ on_mouse_enter: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,
@ -768,6 +786,21 @@ class FunnelChart(RechartsCharts):
on_mouse_move: Optional[ on_mouse_move: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = 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 **props
) -> "FunnelChart": ) -> "FunnelChart":
"""Create a new memoization leaf component. """Create a new memoization leaf component.
@ -821,6 +854,12 @@ class Treemap(RechartsCharts):
class_name: Optional[Any] = None, class_name: Optional[Any] = None,
autofocus: Optional[bool] = None, autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None, custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_animation_end: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_animation_start: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_blur: Optional[ on_blur: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar] Union[EventHandler, EventSpec, list, function, BaseVar]
] = None, ] = None,