a
    d                     @  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  s4   t |tr&d|jt |trdnddS tj| |S )NTgooglefont)__gradio_font__nameclass)
isinstanceFontr   
GoogleFontjsonJSONEncoderdefault)selfobj r   b/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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                   @  sF   e Zd ZddddZddddZdddd	Zd d
dddZdS )r   strr   c                 C  s
   || _ d S Nr   )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bool)otherr   c                 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      s   r   c                   @  s,   e Zd ZddddddZdddd	Zd
S )r   i  iX  r   zIterable[int]r   weightsc                 C  s   || _ || _d S 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   ).0Zweightr   r   r   	<genexpr>2       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   ,   s   r   )

__future__r   r   typingr   r   r   r   r   r   r   r   r   r   <module>   s   