"""Stub file for reflex/components/radix/themes/components/skeleton.py"""

# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------
from typing import Any, Optional, overload

from reflex.components.core.breakpoints import Breakpoints
from reflex.event import EventType
from reflex.style import Style
from reflex.vars.base import Var

from ..base import RadixLoadingProp, RadixThemesComponent

class Skeleton(RadixLoadingProp, RadixThemesComponent):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        width: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        min_width: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        max_width: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        height: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        min_height: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        max_height: Breakpoints[str, str]
        | Var[Breakpoints[str, str] | str]
        | str
        | None = None,
        loading: Var[bool] | bool | None = None,
        style: Style | None = None,
        key: Any | None = None,
        id: Any | None = None,
        class_name: Any | None = None,
        autofocus: bool | None = None,
        custom_attrs: dict[str, Var | Any] | None = None,
        on_blur: Optional[EventType[()]] = None,
        on_click: Optional[EventType[()]] = None,
        on_context_menu: Optional[EventType[()]] = None,
        on_double_click: Optional[EventType[()]] = None,
        on_focus: Optional[EventType[()]] = None,
        on_mount: Optional[EventType[()]] = None,
        on_mouse_down: Optional[EventType[()]] = None,
        on_mouse_enter: Optional[EventType[()]] = None,
        on_mouse_leave: Optional[EventType[()]] = None,
        on_mouse_move: Optional[EventType[()]] = None,
        on_mouse_out: Optional[EventType[()]] = None,
        on_mouse_over: Optional[EventType[()]] = None,
        on_mouse_up: Optional[EventType[()]] = None,
        on_scroll: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "Skeleton":
        """Create a new component instance.

        Will prepend "RadixThemes" to the component tag to avoid conflicts with
        other UI libraries for common names, like Text and Button.

        Args:
            *children: Child components.
            width: The width of the skeleton
            min_width: The minimum width of the skeleton
            max_width: The maximum width of the skeleton
            height: The height of the skeleton
            min_height: The minimum height of the skeleton
            max_height: The maximum height of the skeleton
            loading: If set, show an rx.spinner instead of the component children.
            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: Component properties.

        Returns:
            A new component instance.
        """
        ...

skeleton = Skeleton.create
