
    tni_                     ~    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
e          ZdS )    )AnyCallableOptional)Element)Spacer)	BaseStyle   )Button)	Container)Inputc                        e Zd Zdedef fdZdefdZ	 	 	 	 dded	ed
ee         de	de	de	de
fdZ	 dded	edee         de
fdZ fdZde	fdZdefdZ xZS )Formtitlestylec                 X    t                                          |           || _        d S N)super__init__r   )selfr   r   	__class__s      N/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/rich_toolkit/form.pyr   zForm.__init__   s&    


    elementc                     t          | j                  dk    r&| j                            t                                 | j                            |           d S )Nr   )lenelementsappendr   )r   r   s     r   _append_elementzForm._append_element   sM    t}!!M  ***W%%%%%r   NFnamelabelplaceholderpasswordinlinerequiredmetadatac           
      V    t          d||||||d|}|                     |           d S )N)r    r!   r   r"   r#   r$    )r   r   )	r   r   r    r!   r"   r#   r$   r%   inputs	            r   	add_inputzForm.add_input   sU      
#
 
 
 
 	U#####r   callbackc                 P    t          d|||d|}|                     |           d S )N)r   r    r*   r'   )r
   r   )r   r   r    r*   r%   buttons         r   
add_buttonzForm.add_button.   s:     NTNNXNNV$$$$$r   c                 l    t                                                       |                                 S r   )r   run_collect_data)r   r   s    r   r/   zForm.run8   s&    !!###r   returnc                     d}| j         D ]6}t          |t                    r|                                 |j        du rd}7|S )NTF)r   
isinstancer   on_validatevalid)r   	all_validr   s      r   handle_enter_keyzForm.handle_enter_key=   sU    	} 	& 	&G'5)) &##%%%=E)) %Ir   c                 $    d | j         D             S )Nc                 R    i | ]$}t          |t                    |j        |j        %S r'   )r3   r   r   text).0r(   s     r   
<dictcomp>z&Form._collect_data.<locals>.<dictcomp>J   s>     
 
 
%''
J

 
 
r   )r   )r   s    r   r0   zForm._collect_dataI   s%    
 

 
 
 	
r   )NFFFr   )__name__
__module____qualname__strr   r   r   r   r   boolr   r)   r   r-   r/   r7   dictr0   __classcell__)r   s   @r   r   r      sm       c )      
&w & & & & &*$ $$ $ c]	$
 $ $ $ $ $ $ $4 (,	% %% % 8$	%
 % % % %$ $ $ $ $

$ 
 
 
 

t 
 
 
 
 
 
 
 
r   r   N)typingr   r   r   rich_toolkit.elementr   rich_toolkit.spacerr   rich_toolkit.stylesr   r,   r
   	containerr   r(   r   r   r'   r   r   <module>rI      s    * * * * * * * * * * ( ( ( ( ( ( & & & & & & ) ) ) ) ) )                        B
 B
 B
 B
 B
9 B
 B
 B
 B
 B
r   