o
    ٷiq                     @  sd  d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlZd dlZd dlmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lmZ e	rTd dlmZ G dd dejZ G dd dej!Z"G dd dej!Z#G dd dej!Z$G dd dej%Z&G dd dej'Z(G dd dej)Z*G dd dej+Z,G dd dej+Z-G dd dej+Z.e(Z/dS )     )annotations)CallableIterableSequence)Path)TYPE_CHECKINGAnyLiteralN)
components)WaveformOptions)BrushEraserLayerOptionsWebcamOptions)InputHTMLAttributes)I18nData)Timerc                      sf   e Zd ZdZdZ	d9ddddddddddddddddddddd	dddddddd
d: fd7d8Z  ZS );TextAreaz
    Sets: lines=7
    TN         Fvaluetext)lines	max_linesplaceholderlabelinfoeveryinputs
show_label	containerscale	min_widthinteractivevisibleelem_id	autofocus
autoscrollelem_classesrenderkeypreserved_by_keytype
text_alignrtlshow_copy_button
max_length
submit_btnstop_btnhtml_attributesstr | Callable | Noner   intr   r   
str | Noner   str | I18nData | Noner   r   Timer | float | Noner   Xcomponents.Component | Sequence[components.Component] | set[components.Component] | Noner    bool | Noner!   boolr"   
int | Noner#   r$   r%   ,bool | Literal['hidden'] | Literal['hidden']r&   r'   r(   r)   list[str] | str | Noner*   r+   (int | str | tuple[int | str, ...] | Noner,   r-   $Literal['text', 'password', 'email']r.   Literal['left', 'right'] | Noner/   r0   r1   r2   str | bool | Noner3   r4   InputHTMLAttributes | Nonec                  s   t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d| d S )Nr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4    super__init__)selfr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   	__class__rE   D/home/ubuntu/.local/lib/python3.10/site-packages/gradio/templates.pyrH      sv   &	
zTextArea.__init__N):r   r5   r   r6   r   r6   r   r7   r   r8   r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r$   r;   r%   r>   r&   r7   r'   r<   r(   r<   r)   r?   r*   r<   r+   r@   r,   r?   r-   rA   r.   rB   r/   r<   r0   r<   r1   r=   r2   rC   r3   rC   r4   rD   __name__
__module____qualname____doc__is_templaterH   __classcell__rE   rE   rJ   rL   r      sD    r   c                $      sr   e Zd ZdZdZ	dJddddddddddddddddddddddddd	dd
ddddd	ddd"dK fdHdIZ  ZS )L	SketchpadzO
    Sets: sources=(), brush=Brush(colors=["#000000"], color_mode="fixed")
    TNRGBArE   numpyr   r   Fcropwebp   r\   )"heightwidth
image_modesourcesr-   r   r   r   r    show_download_buttonr!   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   mirror_webcamwebcam_optionsshow_share_button_selectable	crop_size
transformseraserbrushformatcanvas_sizefixed_canvasshow_fullscreen_buttonlayers)str | PIL.Image.Image | np.ndarray | Noner]   int | str | Noner^   r_   NLiteral['1', 'L', 'P', 'RGB', 'RGBA', 'CMYK', 'YCbCr', 'LAB', 'HSV', 'I', 'F']r`   2Iterable[Literal['upload', 'webcam', 'clipboard']]r-   #Literal['numpy', 'pil', 'filepath']r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r"   r=   r#   r6   r$   r%   bool | Literal['hidden']r&   r7   r)   r?   r*   r+   r@   r,   r   rb   rc   WebcamOptions | Nonerd   re   rf   ,tuple[int | float, int | float] | str | Nonerg   Iterable[Literal['crop']]rh   Eraser | Noneri   Brush | Nonerj   strrk   tuple[int, int]rl   rm   rn   LayerOptions | boolc       "   $        s   |s	t dgdd}t jd'i d|d|d|d|d|d	|d
|d|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d |d!|d"|d#|#d$| d%|"d&|! d S (Nz#000000fixed)colors
color_moder   r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rn   rk   rm   rl   rE   r   rG   rH   )$rI   r   r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   rJ   rE   rL   rH   i   s   .	
 !"#zSketchpad.__init__rM   )Fr   ro   r]   rp   r^   rp   r_   rq   r`   rr   r-   rs   r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r<   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r7   rb   r;   rc   ru   rd   r;   re   r<   rf   rv   rg   rw   rh   rx   ri   ry   rj   rz   rk   r{   rl   r<   rm   r<   rn   r|   rN   rE   rE   rJ   rL   rU   b   P    rU   c                $      sr   e Zd ZdZdZ	dJdddddddddddddddddddddddd	dd
dddddd	ddd"dK fdHdIZ  ZS )LPaintz
    Sets: sources=()
    TNrV   rE   rW   r   r   FrX   rZ   r[   )"r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   rc   rd   re   rf   rg   rh   ri   rj   rn   rk   rl   rm   r   ro   r]   rp   r^   r_   rq   r`   rr   r-   rs   r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r"   r=   r#   r6   r$   r%   rt   r&   r7   r)   r?   r*   r+   r@   r,   rb   rc   ru   rd   re   rf   rv   rg   rw   rh   rx   ri   ry   rj   rz   rn   r|   rk   r{   rl   rm   r   c       "   $        s   t  jd$i d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d | d!|"d"|#d#|! d S )%Nr   r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   rc   rd   re   rf   rg   rh   ri   rj   rn   rk   rm   r   rl   rE   rF   )$rI   r   r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   rc   rd   re   rf   rg   rh   ri   rj   rn   rk   rl   rm   r   rJ   rE   rL   rH      s   .	
 !"#zPaint.__init__rM   )Fr   ro   r]   rp   r^   rp   r_   rq   r`   rr   r-   rs   r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r<   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   rb   r;   rc   ru   rd   r;   re   r<   rf   rv   rg   rw   rh   rx   ri   ry   rj   rz   rn   r|   rk   r{   rl   r<   rm   r<   r   r7   rN   rE   rE   rJ   rL   r      r   r   c                $      sr   e Zd ZdZdZ	dJdddddddddddddddddddddddd	dd
dddd	dd	ddd"dK fdHdIZ  ZS )L	ImageMaskzC
    Sets: brush=Brush(colors=["#000000"], color_mode="fixed")
    TNrV   )uploadwebcam	clipboardrW   r   r   FrX   rZ   r[   )"r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   rb   rd   re   rf   rg   rh   ri   rj   rn   rk   rl   rm   rc   ro   r]   rp   r^   r_   rq   r`   rr   r-   rs   r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r"   r=   r#   r6   r$   r%   rt   r&   r7   r)   r?   r*   r+   r@   r,   r   rb   rd   re   rf   rv   rg   rw   rh   rx   ri   ry   rj   rz   rn   r|   rk   r{   rl   rm   rc   ru   c       "   $        s   |s	t dgdd}t jd'i d|d|d|d|d|d	|d
|d|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|#d|d|d|d|d |d!|d"|d#|d$| d%|"d&|! d S r}   r   )$rI   r   r]   r^   r_   r`   r-   r   r   r   r    ra   r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   rb   rd   re   rf   rg   rh   ri   rj   rn   rk   rl   rm   rc   rJ   rE   rL   rH   #  s   2	
 !"#zImageMask.__init__rM   )Fr   ro   r]   rp   r^   rp   r_   rq   r`   rr   r-   rs   r   r8   r   r9   r   r:   r    r;   ra   r<   r!   r<   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r7   rb   r;   rd   r;   re   r<   rf   rv   rg   rw   rh   rx   ri   ry   rj   rz   rn   r|   rk   r{   rl   r<   rm   r<   rc   ru   rN   rE   rE   rJ   rL   r     sP    r   c                       sj   e Zd ZdZdZ	d;dddddddddddddddddddddddddddddddd< fd9d:Z  ZS )=PlayableVideoz
    Sets: format="mp4"
    TNmp4r   r   F)rj   r`   r]   r^   r   r   r   r    r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   rc   include_audioautoplayrd   ra   
min_lengthr1   loop	streaming	watermarkwebcam_constraintsCstr | Path | tuple[str | Path, str | Path | None] | Callable | Nonerj   Literal['mp4']r`   Flist[Literal['upload', 'webcam']] | Literal['upload', 'webcam'] | Noner]   rp   r^   r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r$   r%   rt   r&   r7   r)   r?   r*   r+   r@   r,   rb   rc   ru   r   r   rd   ra   r   r1   r   r   r   str | Path | Noner   &dict[str, dict[str, int | str]] | Nonec                   s   dg}t  jd!i d|d|d|d|d|d|d|d	|d
|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d | d S )"Nr   r   rj   r`   r]   r^   r   r   r   r    r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   r   r   rd   ra   r   r1   r   r   r   r   rc   rE   rF   ) rI   r   rj   r`   r]   r^   r   r   r   r    r!   r"   r#   r$   r%   r&   r)   r*   r+   r,   rb   rc   r   r   rd   ra   r   r1   r   r   r   r   rJ   rE   rL   rH     s   ,	
zPlayableVideo.__init__rM   )>r   r   rj   r   r`   r   r]   rp   r^   rp   r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   rb   r;   rc   ru   r   r;   r   r<   rd   r;   ra   r;   r   r=   r1   r=   r   r<   r   r<   r   r   r   r   rN   rE   rE   rJ   rL   r   ~  sH    r   c                      sf   e Zd ZdZdZ	d9ddddddddddddddddddddddddddddd	d: fd7d8Z  ZS );
Microphonez&
    Sets: sources=["microphone"]
    TNrW   r   Fr   wav)r`   r-   r   r   r   r    r!   r"   r#   r$   r%   r   r&   r)   r*   r+   r,   rj   r   ra   rd   editabler   r1   waveform_optionsr   	recording	subtitles5str | Path | tuple[int, np.ndarray] | Callable | Noner`   Nlist[Literal['upload', 'microphone']] | Literal['upload', 'microphone'] | Noner-   Literal['numpy', 'filepath']r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r$   r%   rt   r   r&   r7   r)   r?   r*   r+   r@   r,   rj   Literal['wav', 'mp3']r   ra   rd   r   r   r1   r   WaveformOptions | dict | Noner   r   r   r   c                  s   dg}t  j|fi d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d| d S )N
microphoner`   r-   r   r   r   r    r!   r"   r#   r$   r%   r   r&   r)   r*   r+   r,   rj   r   ra   rd   r   r   r1   r   r   r   r   rF   )rI   r   r`   r-   r   r   r   r    r!   r"   r#   r$   r%   r   r&   r)   r*   r+   r,   rj   r   ra   rd   r   r   r1   r   r   r   r   rJ   rE   rL   rH     sx   *	
zMicrophone.__init__rM   ):r   r   r`   r   r-   r   r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r$   r;   r%   rt   r   r<   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   rj   r   r   r<   ra   r;   rd   r;   r   r<   r   r=   r1   r=   r   r   r   r<   r   r<   r   r   rN   rE   rE   rJ   rL   r     sD    r   c                      sT   e Zd ZdZdZ	d/dddddddddddddddddddd	d0 fd-d.Z  ZS )1Filesz%
    Sets: file_count="multiple"
    TNmultiplefilepathr   r   F)
file_count
file_typesr-   r   r   r   r    r!   r"   r#   r]   r$   r%   r&   r)   r*   r+   r,   allow_reordering!str | list[str] | Callable | Noner   Literal['multiple']r   list[str] | Noner-   Literal['filepath', 'binary']r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r]   int | float | Noner$   r%   rt   r&   r7   r)   r?   r*   r+   r@   r,   r   c                  s   t  j|fi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d| d S )Nr   r   r-   r   r   r   r    r!   r"   r#   r]   r$   r%   r&   r)   r*   r+   r,   r   rF   )rI   r   r   r   r-   r   r   r   r    r!   r"   r#   r]   r$   r%   r&   r)   r*   r+   r,   r   rJ   rE   rL   rH   /  sR   	
zFiles.__init__rM   )(r   r   r   r   r   r   r-   r   r   r8   r   r9   r   r:   r    r;   r!   r<   r"   r=   r#   r6   r]   r   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r<   rN   rE   rE   rJ   rL   r   (  s2    r   c                       sj   e Zd ZdZdZ	dBdddddddddddddddddddd	d
ddd
dddd
dd
ddC fd@dAZ  ZS )DNumpyz
    Sets: type="numpy"
    TN   dynamicrz   rW     r   r   Fnone)headers	row_count	col_countdatatyper-   latex_delimitersr   r    r   r   
max_heightr"   r#   r$   r%   r&   r)   r*   r+   r,   wrapline_breakscolumn_widthsshow_row_numbersshow_searchstatic_columnspinned_columnsrm   	max_charsr0   !list[list[Any]] | Callable | Noner   r   r   int | tuple[int, str]r   int | tuple[int, str] | Noner   Literal['str', 'number', 'bool', 'date', 'markdown', 'html'] | Sequence[Literal['str', 'number', 'bool', 'date', 'markdown', 'html']]r-   Literal['numpy']r   "list[dict[str, str | bool]] | Noner   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r$   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r   r   r   list[str | int] | Noner   r   #Literal['none', 'search', 'filter']r   list[int] | Noner   rm   r   r0   c                   s   t  jd i d|d|d|d|d|d|d|d|	d	|d
|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d| d S !Nr   r   r   r   r   r-   r   r    r$   r%   r&   r   r)   r*   r+   r,   r   r   r   r   r   r"   r   r#   r   r   r   rm   r   r0   r   rE   rF   ) rI   r   r   r   r   r   r-   r   r   r    r   r   r   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   r   r   r   r   r   r   rm   r   r0   rJ   rE   rL   rH   k  ~   +	
zNumpy.__init__rM   )>r   r   r   r   r   r   r   r   r   r   r-   r   r   r   r   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r<   r   r<   r   r   r   r<   r   r   r   r   r   r=   rm   r<   r   r=   r0   r<   rN   rE   rE   rJ   rL   r   d  H    r   c                       sj   e Zd ZdZdZ	dBdddddddddddddddddddd	d
ddd
ddd
dd
dddC fd@dAZ  ZS )DMatrixz
    Sets: type="array"
    TNr   rz   arrayr   r   r   Fr   r   r   r   r   r-   r   r   r    r   r   r   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   r   r   r   r   r   rm   r   r0   r   r   r   r   r   r   r   r   r   r   r-   Literal['array']r   r   r   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r$   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r   r   r   r   r   r   r   r   rm   r   r0   r   r   c                   s   t  jd i d|d|d|d|d|d|d|d|	d	|d
|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d| d S r   rF    rI   r   r   r   r   r   r-   r   r   r    r   r   r   r"   r#   r$   r%   r&   r)   r*   r+   r,   r   r   r   r   r   r   rm   r   r0   r   rJ   rE   rL   rH     r   zMatrix.__init__rM   )>r   r   r   r   r   r   r   r   r   r   r-   r   r   r   r   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r<   r   r<   r   r   r   r<   r   r   r   r=   rm   r<   r   r=   r0   r<   r   r   rN   rE   rE   rJ   rL   r     r   r   c                       sj   e Zd ZdZdZ	dCddddddddddddd	ddddddd
ddddddddddddD fdAdBZ  ZS )EListz)
    Sets: type="array", col_count=1
    TNr   r   rz   r   r   r   r   Fr   r   r   r   r   r   r   r   
Literal[1]r   r   r-   r   r   r   r   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r$   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r   r   r   r   r   r   r   r   rm   r   r0   r   r   c                   s   t  jd i d|d|d|d|d|d|d|d|	d	|d
|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d| d S )!Nr   r   r   r   r   r-   r   r    r$   r%   r&   r   r)   r*   r+   r,   r   r   r   r   r   r"   r   r#   r   r   r   r   rm   r   r0   rE   rF   r   rJ   rE   rL   rH     r   zList.__init__rM   )>r   r   r   r   r   r   r   r   r   r   r-   r   r   r   r   r8   r    r;   r   r9   r   r:   r   r6   r"   r=   r#   r6   r$   r;   r%   rt   r&   r7   r)   r?   r*   r<   r+   r@   r,   r?   r   r<   r   r<   r   r   r   r<   r   r   r   r=   rm   r<   r   r=   r0   r<   r   r   rN   rE   rE   rJ   rL   r     r   r   )0
__future__r   collections.abcr   r   r   pathlibr   typingr   r   r	   rW   np	PIL.ImagePILgradior
   gradio.components.audior   gradio.components.image_editorr   r   r   r   gradio.components.textboxr   gradio.i18nr   gradio.componentsr   Textboxr   ImageEditorrU   r   r   Videor   Audior   Filer   	Dataframer   r   r   MicrE   rE   rE   rL   <module>   s0    N^\bWS<UUU