o
    !‰Öh_  ã                   @   sp   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 ddl
mZ ddlmZ ddlmZ G d	d
„ d
eƒZdS )é    )ÚAnyÚCallableÚOptional)ÚElement)ÚSpacer)Ú	BaseStyleé   )ÚButton)Ú	Container)ÚInputc                       s²   e Zd Zdedef‡ fdd„Zdefdd„Z							dd
ededee de	de	de	de
fdd„Z	dd
ededee de
fdd„Z‡ fdd„Zde	fdd„Zdefdd„Z‡  ZS )ÚFormÚtitleÚstylec                    s   t ƒ  |¡ || _d S ©N)ÚsuperÚ__init__r   )Úselfr   r   ©Ú	__class__© úS/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/rich_toolkit/form.pyr      s   
zForm.__init__Úelementc                 C   s,   t | jƒdkr| j tƒ ¡ | j |¡ d S )Nr   )ÚlenÚelementsÚappendr   )r   r   r   r   r   Ú_append_element   s   zForm._append_elementNFÚnameÚlabelÚplaceholderÚpasswordÚinlineÚrequiredÚmetadatac           	   	   K   s*   t d||||||dœ|¤Ž}|  |¡ d S )N)r   r   r   r   r    r!   r   )r   r   )	r   r   r   r   r   r    r!   r"   Úinputr   r   r   Ú	add_input   s   
úù
zForm.add_inputÚcallbackc                 K   s$   t d|||dœ|¤Ž}|  |¡ d S )N)r   r   r%   r   )r	   r   )r   r   r   r%   r"   Úbuttonr   r   r   Ú
add_button.   s   zForm.add_buttonc                    s   t ƒ  ¡  |  ¡ S r   )r   ÚrunÚ_collect_data©r   r   r   r   r(   8   s   
zForm.runÚreturnc                 C   s4   d}| j D ]}t|tƒr| ¡  |jdu rd}q|S )NTF)r   Ú
isinstancer   Úon_validateÚvalid)r   Ú	all_validr   r   r   r   Úhandle_enter_key=   s   


€zForm.handle_enter_keyc                 C   s   dd„ | j D ƒS )Nc                 S   s    i | ]}t |tƒr|j|j“qS r   )r,   r   r   Útext)Ú.0r#   r   r   r   Ú
<dictcomp>J   s    ýÿz&Form._collect_data.<locals>.<dictcomp>)r   r*   r   r   r   r)   I   s   þzForm._collect_data)NFFFr   )Ú__name__Ú
__module__Ú__qualname__Ústrr   r   r   r   r   Úboolr   r$   r   r'   r(   r0   Údictr)   Ú__classcell__r   r   r   r   r      sF    
ùþýüûúù
øüþýü
û
r   N)Útypingr   r   r   Úrich_toolkit.elementr   Úrich_toolkit.spacerr   Úrich_toolkit.stylesr   r&   r	   Ú	containerr
   r#   r   r   r   r   r   r   Ú<module>   s    