o
    e                     @  s\   d dl mZ d dlZd dlmZ G dd dejZdd ZG dd	 d	ZG d
d deZ	dS )    )annotationsN)Iterablec                   @  s   e Zd Zdd ZdS )FontEncoderc                 C  s8   t |trd|jt |trddS ddS tj| |S )NTgoogleZfont)__gradio_font__nameclass)
isinstanceFontr   
GoogleFontjsonJSONEncoderdefault)selfobj r   ID:\Projects\ConvertPro\env\Lib\site-packages\gradio/themes/utils/fonts.pyr      s   
zFontEncoder.defaultN)__name__
__module____qualname__r   r   r   r   r   r      s    r   c                 C  s0   d| v r| d }| d dkrt |S t|S | S )Nr   r   r   r   )r   r
   )dctr   r   r   r   as_font   s   r   c                   @  s4   e Zd ZdddZdddZddd	ZdddZdS )r
   r   strc                 C  s
   || _ d S Nr   )r   r   r   r   r   __init__   s   
zFont.__init__returnc                 C  s   | j dv r| j S d| j  dS )N)z
sans-serifZserifZ	monospaceZcursiveZfantasy'r   r   r   r   r   __str__   s
   
zFont.__str__c                 C  s   d S r   r   r   r   r   r   
stylesheet%   s   zFont.stylesheetotherboolc                 C  s   | j |j ko|  | kS r   )r   r    )r   r!   r   r   r   __eq__(   s   zFont.__eq__N)r   r   r   r   )r!   r
   r   r"   )r   r   r   r   r   r    r#   r   r   r   r   r
      s
    


r
   c                   @  s"   e Zd ZddddZdd	d
ZdS )r   i  iX  r   r   weightsIterable[int]c                 C  s   || _ || _d S r   )r   r&   )r   r   r&   r   r   r   r   -   s   
zGoogleFont.__init__r   c                 C  s.   d| j dd dddd | jD  dS )	Nz)https://fonts.googleapis.com/css2?family= +z:wght@;c                 s  s    | ]}t |V  qd S r   )r   ).0weightr   r   r   	<genexpr>2   s    z(GoogleFont.stylesheet.<locals>.<genexpr>z&display=swap)r   replacejoinr&   r   r   r   r   r    1   s   .zGoogleFont.stylesheetN)r%   )r   r   r&   r'   r$   )r   r   r   r   r    r   r   r   r   r   ,   s    r   )

__future__r   r   typingr   r   r   r   r
   r   r   r   r   r   <module>   s    