improve var create typing (#4701)
This commit is contained in:
parent
58f87a6aa7
commit
5beea25b31
@ -196,8 +196,9 @@ class AccordionItem(AccordionComponent):
|
||||
|
||||
# The header of the accordion item.
|
||||
header: Var[Union[Component, str]]
|
||||
|
||||
# The content of the accordion item.
|
||||
content: Var[Union[Component, str]] = Var.create(None)
|
||||
content: Var[Union[Component, str, None]] = Var.create(None)
|
||||
|
||||
_valid_children: List[str] = [
|
||||
"AccordionHeader",
|
||||
|
@ -308,7 +308,9 @@ class AccordionItem(AccordionComponent):
|
||||
value: Optional[Union[Var[str], str]] = None,
|
||||
disabled: Optional[Union[Var[bool], bool]] = None,
|
||||
header: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
||||
content: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
||||
content: Optional[
|
||||
Union[Component, Var[Optional[Union[Component, str]]], str]
|
||||
] = None,
|
||||
color_scheme: Optional[
|
||||
Union[
|
||||
Literal[
|
||||
|
@ -80,6 +80,7 @@ if TYPE_CHECKING:
|
||||
|
||||
VAR_TYPE = TypeVar("VAR_TYPE", covariant=True)
|
||||
OTHER_VAR_TYPE = TypeVar("OTHER_VAR_TYPE")
|
||||
STRING_T = TypeVar("STRING_T", bound=str)
|
||||
|
||||
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
||||
|
||||
@ -550,12 +551,60 @@ class Var(Generic[VAR_TYPE]):
|
||||
|
||||
return value_with_replaced
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create( # type: ignore[override]
|
||||
cls,
|
||||
value: bool,
|
||||
_var_data: VarData | None = None,
|
||||
) -> BooleanVar: ...
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create( # type: ignore[override]
|
||||
cls,
|
||||
value: int,
|
||||
_var_data: VarData | None = None,
|
||||
) -> NumberVar[int]: ...
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
value: Any,
|
||||
value: float,
|
||||
_var_data: VarData | None = None,
|
||||
) -> Var:
|
||||
) -> NumberVar[float]: ...
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
value: STRING_T,
|
||||
_var_data: VarData | None = None,
|
||||
) -> StringVar[STRING_T]: ...
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
value: None,
|
||||
_var_data: VarData | None = None,
|
||||
) -> NoneVar: ...
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
value: OTHER_VAR_TYPE,
|
||||
_var_data: VarData | None = None,
|
||||
) -> Var[OTHER_VAR_TYPE]: ...
|
||||
|
||||
@classmethod
|
||||
def create(
|
||||
cls,
|
||||
value: OTHER_VAR_TYPE,
|
||||
_var_data: VarData | None = None,
|
||||
) -> Var[OTHER_VAR_TYPE]:
|
||||
"""Create a var from a value.
|
||||
|
||||
Args:
|
||||
|
@ -31,7 +31,7 @@ from .base import (
|
||||
var_operation_return,
|
||||
)
|
||||
|
||||
NUMBER_T = TypeVar("NUMBER_T", int, float, Union[int, float], bool)
|
||||
NUMBER_T = TypeVar("NUMBER_T", int, float, bool)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .sequence import ArrayVar
|
||||
|
Loading…
Reference in New Issue
Block a user