
    ,h_                     v    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y)    )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                 2    t         |   |       || _        y N)super__init__r   )selfr   r   	__class__s      S/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/rich_toolkit/form.pyr   zForm.__init__   s    
    elementc                     t        | j                        dkD  r#| j                  j                  t                      | j                  j                  |       y )Nr   )lenelementsappendr   )r   r   s     r   _append_elementzForm._append_element   s9    t}}!MM  *W%r   namelabelplaceholderpasswordinlinerequiredmetadatac           
      J    t        d||||||d|}| j                  |       y )N)r    r!   r   r"   r#   r$    )r   r   )	r   r   r    r!   r"   r#   r$   r%   inputs	            r   	add_inputzForm.add_input   s?      
#
 
 	U#r   callbackc                 D    t        d|||d|}| j                  |       y )N)r   r    r*   r'   )r
   r   )r   r   r    r*   r%   buttons         r   
add_buttonzForm.add_button.   s(     NTNXNV$r   c                 @    t         |           | j                         S r   )r   run_collect_data)r   r   s    r   r/   zForm.run8   s    !!##r   returnc                     d}| j                   D ]4  }t        |t              s|j                          |j                  du s3d}6 |S )NTF)r   
isinstancer   on_validatevalid)r   	all_validr   s      r   handle_enter_keyzForm.handle_enter_key=   sI    	}} 	&G'5)##%==E) %I	& r   c                     | j                   D ci c])  }t        |t              r|j                  |j                  + c}S c c}w r   )r   r3   r   r   text)r   r(   s     r   r0   zForm._collect_dataI   s?     
%' JJ

"
 	
 
s   .A )NFFFr   )__name__
__module____qualname__strr   r   r   r   r   boolr   r)   r   r-   r/   r7   dictr0   __classcell__)r   s   @r   r   r      s    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>rF      s+    * * ( & )    B
9 B
r   