
    [Fi                          d dl mZmZmZmZ d dlmZ d dlmZ d dl	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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OptionalTupleUnion)box)Color)GroupRenderableType)Style)Text)Panel)	Container)CursorOffsetElement)Form)Input)Menu)Progress   )	BaseStylec                   H    e Zd Zej                  ZdefdZ	 ddedeee	df   de
dedeed	f   defd
Z	 	 	 ddede
de
dee   def
 fdZ	 	 	 ddede
de
dee   dedef fdZ	 	 	 ddede
de
dee   dedefdZ	 	 	 ddede
de
dee   def
dZ	 ddedee   defdZ xZS )BorderedStylereturnc                      y)N  )selfs    l/var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/rich_toolkit/styles/border.py
empty_linezBorderedStyle.empty_line   s        contenttitleN	is_activeborder_colorafter.c                 b    t        t        ||d|d| j                  t        |            g| S )Nleft2   )color)r"   title_align	highlightwidthr   border_style)r	   r   r   r   )r   r!   r"   r#   r$   r%   s         r   _boxzBorderedStyle._box   sA     "#HH"6
 
 	
r    elementdoneparentc                     t         |   ||||      }t        |t              r1| j	                  ||j
                  |t        j                  d            S |S )Nwhite)superrender_container
isinstancer   r.   r"   r   parse)r   r/   r#   r0   r1   r!   	__class__s         r   r5   zBorderedStyle.render_container/   sK     '*7ItVLgt$99WgmmYG@TUUr    metadatac                    d}t        |t              rt        
|   ||||fi |S | j	                  |      x}r|f}| j                  |||      }|j                  du r>	 | j                  j                  d      j                  xs t        j                  d      }	nt        j                  d      }	| j                  | j                  |||      |||	|      S # t        $ r t        j                  d      }	Y Hw xY w)Nr   )r#   r1   Ferrorredr3   r%   )r6   r   r4   render_inputrender_validation_messagerender_input_labelvalidconsole	get_styler)   r   r7   	Exceptionr.   render_input_value)r   r/   r#   r0   r1   r9   validation_messagemessager"   r$   r8   s             r   r>   zBorderedStyle.render_input=   s    /1fd#7'D&UHUU44W==7=")'' ( 
 ==E!2#||55g>DD  I !;;w/Lyy##Gy#P$  
 	
  2${{512s    <C C;:C;c           	         d}t        d      }t        |j                  dz         }t        |j                  dz         }	t        |j                  rdnd      }
g }|rQ|j	                  t        |j
                  |j                     d   | j                  j                  d      	             n|j
                  }|j                  \  }}||| }|j                         }|ri|j                  r*|j	                  t        |j                  dz   d
	             n3|j	                  t        dt        |j                        z  dz                t        |      D ]  \  }}||z   }||j                  k(  r|}| j                  j                  d      }n|	}| j                  j                  d      }|t        |      dz
  k(  }|j	                  t        j                  ||d   |s|
nd|	              |ri|j                   r*|j	                  t        d|j"                  z   d
	             n3|j	                  t        ddt        |j"                        z  z                |j
                  s&t        d| j                  j                  d      	      }|j$                  rbt        j                  |j&                  | j                  j                  d      f|j(                  | j                  j                  d      fd      gng }|j+                  |       |j	                  |       | j-                  |      x}r|f}t/        | }| j1                  || j3                  |      |t5        j6                  d      |      S )Nr   r'   )justify 	
nameresult)styledimselectedtextr   r   zNo results foundr3   r=   )r   current_selection_charselection_charinlineappendoptionsrQ   rB   rC   visible_options_range_needs_scrollinghas_more_aboveMORE_ABOVE_INDICATORlen	enumerateassemblehas_more_belowMORE_BELOW_INDICATORallow_filteringfilter_promptrR   extendr?   r	   r.   r@   r   r7   )r   r/   r#   r0   r1   r9   rF   menuselected_prefixnot_selected_prefix	separatorr!   all_optionsstartendvisible_optionsneeds_scrollingidxoption
actual_idxprefixrO   is_lastfilterrG   rN   s                             r   render_menuzBorderedStyle.render_menug   s    /1F#w==CD"7#9#9C#?@T:	(*NNOOG$4$45f=,,00: "//K 66JE3)%4O &668O ))KKW%A%AD%HPU VWKKS3w/K/K+L%Lt%S TU(9 V"S[
!1!11,F LL22:>E0F LL226:E_!5!99MMv)0	b#	* ))KKTG,H,H%HPU VWKKTC#g6R6R2S,S%S TU??.dll6L6LV6TU ** MM ..0F0Fv0NO t||'='=f'EF   NN6"NN4 88AAwA&-Z"yy##G,KK $  
 	
r    c                 (   |j                   }d }|j                  }|j                  r|j                  r|j                  dkD  r|j                  |j                   d  n|j                  }t        t        |      D 	cg c]7  \  }}	| j                  |	||j                  t        |j                              9 c}	} }t        j                  d      }
|s&| j                  ddd      }|| j                  dz     }
| j                  ||||
      S c c}	}w )	Nr   )index	max_linestotal_linesr3   
   startedT)stepsanimation_statusbreathe)r$   )current_messager"   logs_inline_logslines_to_showr	   r]   render_elementr\   r   r7   _get_animation_colorsanimation_counterr.   )r   r/   r#   r0   r1   r!   r"   r   ru   liner$   colorss               r   render_progresszBorderedStyle.render_progress   s    '.&=&=(,<<G00 ((1, g33356\\   (1'? $t ''#")"7"7$'$5	 ( 
G {{7+//9d 0 F "$"8"82"=>Lyy%yNN)s   ;<D
c                 d   |j                   j                  }|j                   j                  dz   }t        |t              rP|j
                  rD|dz  }|j                  rt        |j                        dz
  nd}|j                   j                  |z
  }t        |t              r|dz  }t        ||      S )N   r   r   )topr'   )
cursor_offsetr   r'   r6   r   rU   labelr\   r   r   )r   r/   r1   
top_offsetleft_offsetinline_left_offsets         r   get_cursor_offset_for_elementz+BorderedStyle.get_cursor_offset_for_element   s     **..
++0014gu%'..!OJ=D]]#gmm"4q"8PQ!//447IIKfd#!OJ
==r    )r   )FFN)N)__name__
__module____qualname__r   SQUAREr
   r   r   strr   boolr   r   r.   r   r   r   r5   r   r   r>   r   rs   r   r   r   r   __classcell__)r8   s   @r   r   r      s   
**CN  "$

 S$_%
 	

 
 S#X
 

0  $(  	
 ! 
"  $((
(
 (
 	(

 !(
 (
 
(
Z  $(c
c
 c
 	c

 !c
 c
 
c
P  $((O(O (O 	(O
 !(O 
(OV =A>>(0(9>	>r    r   N)"typingr   r   r   r   richr   
rich.colorr   rich.consoler	   r
   
rich.styler   	rich.textr   rich_toolkit._rich_componentsr   rich_toolkit.containerr   rich_toolkit.elementr   r   rich_toolkit.formr   rich_toolkit.inputr   rich_toolkit.menur   rich_toolkit.progressr   baser   r   r   r    r   <module>r      s@    . .   .   / , 6 " $ " * q>I q>r    