
    Pi#                        d dl mZ d dlZd dlZd dlmZ  G d dej                  Zd Z G d d          Z	 G d	 d
e	          Z
 G d de	          ZdS )    )annotationsN)Iterablec                      e Zd Zd ZdS )FontEncoderc                &   t          |t                    r]d|j        t          |t                    rdnt          |t                    rdndt          |t          t          f          r|j        nd dS t          j                            | |          S )NTgooglelocalfont)__gradio_font__nameclassweights)	
isinstanceFontr   
GoogleFont	LocalFontr   jsonJSONEncoderdefault)selfobjs     m/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/gradio/themes/utils/fonts.pyr   zFontEncoder.default	   s    c4   	#'c:.. c9--WWcJ	#:;;3;;   ''c222    N)__name__
__module____qualname__r    r   r   r   r      s#        3 3 3 3 3r   r   c                   d| v r| d         }| d         dk    r*d| v rt          || d                   nt          |          S | d         dk    r*d| v rt          || d                   nt          |          S t          |          S | S )Nr   r   r   r   r   )r   r	   )r   r   r   )dctr   s     r   as_fontr       s    C6{w<8## ## 4Y8888%%
 w<7"" ## $I7777t__
 DzzJr   c                  6    e Zd ZddZddZddZdd
ZddZdS )r   r   strc                    || _         d S Nr   )r   r   s     r   __init__zFont.__init__/   s    			r   returnc                8    | j         dv r| j         n
d| j          dS )N)z
sans-serifserif	monospacecursivefantasy'r%   r   s    r   __str__zFont.__str__2   s0     yVVV II!TY!!!	
r   dictc                    d d dS )Nurlcssr   r.   s    r   
stylesheetzFont.stylesheet9   s    D)))r   otherboolc                v    | j         |j         k    o)|                                 |                                k    S r$   )r   r5   )r   r6   s     r   __eq__zFont.__eq__<   s1    yEJ&R4??+<+<@P@P@R@R+RRr   c                    t          |           }|j        dz   |j        z   }d                    d | j                                        D                       }d| d| dS )N.z, c                >    g | ]\  }}|d z   t          |          z   S )=)repr).0kvs      r   
<listcomp>z!Font.__repr__.<locals>.<listcomp>B   s+    OOOA1s7T!WW,OOOr   <z (z)>)typer   r   join__dict__items)r   klass
class_reprattrss       r   __repr__zFont.__repr__?   si    T

%+e.@@
		OO9L9L9N9NOOOPP*:******r   N)r   r"   )r'   r"   r'   r0   )r6   r   r'   r7   )r   r   r   r&   r/   r5   r9   rK   r   r   r   r   r   .   s|           
 
 
 
* * * *S S S S+ + + + + +r   r   c                       e Zd ZdddZdd	Zd
S )r     iX  r   r"   r   Iterable[int]c                "    || _         || _        d S r$   )r   r   )r   r   r   s      r   r&   zGoogleFont.__init__G   s    	r   r'   r0   c                    d| j                             dd           dd                    d | j        D                        d}|d dS )	Nz)https://fonts.googleapis.com/css2?family= +z:wght@;c              3  4   K   | ]}t          |          V  d S r$   )r"   )r?   weights     r   	<genexpr>z(GoogleFont.stylesheet.<locals>.<genexpr>L   sM        fN  fNv|fijpfqfq  fN  fN  fN  fN  fN  fNr   z&display=swapr2   )r   replacerE   r   )r   r3   s     r   r5   zGoogleFont.stylesheetK   s     ]$):K:KCQT:U:U  ]  ]]`]e]e  fN  fN  AE  AM  fN  fN  fN  ^N  ^N  ]  ]  ]4(((r   N)rN   r   r"   r   rP   rL   )r   r   r   r&   r5   r   r   r   r   r   F   sA            ) ) ) ) ) )r   r   c                  *     e Zd Zd
d fdZdd	Z xZS )r   rO     r   r"   r   rP   c                X    t                                          |           || _        d S r$   )superr&   r   )r   r   r   	__class__s      r   r&   zLocalFont.__init__Q   s&    r   r'   r0   c           
     B   t          j        d          }g }| j        D ]j}|dk    rdn|dk    rdnt          |          }|                    |                    | j        | j                            dd          |                     kd d	                    |          d
S )Na	  
            @font-face {{
                font-family: '{name}';
                src: url('static/fonts/{file_name}/{file_name}-{weight}.woff2') format('woff2');
                font-weight: {weight};
                font-style: normal;
            }}
            rO   Regularr]   BoldrS    )r   	file_namerW   
r2   )	textwrapdedentr   r"   appendformatr   rY   rE   )r   css_template	css_rulesrW   weight_names        r   r5   zLocalFont.stylesheetU   s     (   	l 
	 
	F#s]]		&C--SQW[[  ##"i//R88& $      DIIi$8$8999r   )r\   rZ   rL   )r   r   r   r&   r5   __classcell__)r`   s   @r   r   r   P   sV              : : : : : : : :r   r   )
__future__r   r   rg   collections.abcr   r   r   r    r   r   r   r   r   r   <module>rq      s    " " " " " "   $ $ $ $ $ $3 3 3 3 3$" 3 3 3&  &+ + + + + + + +0) ) ) ) ) ) ) ): : : : : : : : : :r   