
    g                    ^   U d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 ddlmZmZ ddlmZ ddlmZ erHddlZdd	lmZ ej*                  d
k\  rddlmZ nddlmZ ej*                  dk\  rddlmZ nddlmZ ddlmZ ed   Zded<    e ee            Zded<    G d deee   ef         Z G d d      ZdZ ded<    ee       Z!e!jE                  dd        e!jE                  dd        e!jE                  d e       eD ]  Z#e!jE                  e# ee#              e!jI                  d       y)!z0Tools for enabling and registering chart themes.    )annotations)TYPE_CHECKINGAnyFinalLiteralget_args)deprecated_static_only)PluginPluginRegistry)ThemeConfig)
VegaThemesN)partial)      )LiteralString)r   
   )	TypeAlias)PluginEnabler)defaultopaquer   AltairThemeszlist[LiteralString]VEGA_THEMESc                  x     e Zd Z	 d	 	 	 	 	 d	 fdZd
 fdZd fdZ edd      	 	 	 	 	 	 d fd       Z xZS )ThemeRegistryNc                $    t        |   |fi |S )a  
        Enable a theme by name.

        This can be either called directly, or used as a context manager.

        Parameters
        ----------
        name : string (optional)
            The name of the theme to enable. If not specified, then use the
            current active name.
        **options :
            Any additional parameters will be passed to the theme as keyword
            arguments

        Returns
        -------
        PluginEnabler:
            An object that allows enable() to be used as a context manager

        Notes
        -----
        Default `vega` themes can be previewed at https://vega.github.io/vega-themes/
        )superenable)selfnameoptions	__class__s      M/var/www/openai/venv/lib/python3.12/site-packages/altair/vegalite/v5/theme.pyr   zThemeRegistry.enable#   s    8 w~d.g..    c                     t         |          S )z"Return the currently active theme.)r   getr   r!   s    r"   r%   zThemeRegistry.getA   s    w{}r#   c                     t         |          S )z;Return the names of the registered and entry points themes.)r   namesr&   s    r"   r(   zThemeRegistry.namesE   s    w}r#   zDDeprecated since `altair=5.5.0`. Use @altair.theme.register instead.)categoryc                $    t         |   ||      S N)r   register)r   r   valuer!   s      r"   r,   zThemeRegistry.registerI   s     we,,r#   r+   )r   z0LiteralString | AltairThemes | VegaThemes | Noner    r   returnz/PluginEnabler[Plugin[ThemeConfig], ThemeConfig])r.   z1partial[ThemeConfig] | Plugin[ThemeConfig] | None)r.   z	list[str])r   strr-   Plugin[ThemeConfig] | Noner.   r0   )	__name__
__module____qualname__r   r%   r(   r	   r,   __classcell__)r!   s   @r"   r   r   "   sl     BF/>/ / 
9	/< N-- :-	#-	-r#   r   c                  (    e Zd ZdZddZddZddZy)		VegaThemez'Implementation of a builtin vega theme.c                    || _         y r+   theme)r   r9   s     r"   __init__zVegaTheme.__init__V   s	    
r#   c                2    dd| j                   iiddddidS )NembedOptionsr9   view,  continuousWidthcontinuousHeight)usermetaconfigr8   r   s    r"   __call__zVegaTheme.__call__Y   s*    ''4::)>?3CPQ
 	
r#   c                "    d| j                   dS )Nz
VegaTheme()r8   rD   s    r"   __repr__zVegaTheme.__repr___   s    DJJ>++r#   N)r9   r/   r.   None)r.   r   )r.   r/   )r1   r2   r3   __doc__r:   rE   rH    r#   r"   r6   r6   S   s    1
,r#   r6   zaltair.vegalite.v5.themer   ENTRY_POINT_GROUP)entry_point_groupr   c                     dddddiiS )NrC   r=   r>   r?   rK   rK   r#   r"   <lambda>rO   m   s    XCS QRSr#   r   c                     ddddddiS )NrC   whiter>   r?   )
backgroundr=   rK   rK   r#   r"   rO   rO   q   s    !(+E
r#   none)%rJ   
__future__r   typingr   r   r   r   r   altair.utils.deprecationr	   altair.utils.plugin_registryr
   r   !altair.vegalite.v5.schema._configr   !altair.vegalite.v5.schema._typingr   sys	functoolsr   version_infor   typing_extensionsr   r   r   __annotations__listr   r   r6   rL   themesr,   r9   r   rK   r#   r"   <module>ra      s   6 " ? ? ; ? 9 8!
7"(3
7"$/: ""56i 6#'(<#=  =
.-N6+#6#CD .-b, ,& 6 5 5 
):	; S   $E
OOE9U+,  i r#   