
     fN)                        d dl mZ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mZ ddlmZmZ dd	lmZ dd
lmZmZ ddlmZmZ erddlmZmZmZmZ  G d de          Ze dk    rYddlmZ  e            Z!ddlm"Z"mZ ddlmZ  eddde"d          Z#e!$                                 e!$                    e#           dS dS )    )TYPE_CHECKINGOptional   )AlignMethod)ROUNDEDBox)cell_len)JupyterMixin)Measurementmeasure_renderables)PaddingPaddingDimensions)Segment)Style	StyleType)TextTextType)ConsoleConsoleOptionsRenderableTypeRenderResultc                       e Zd ZdZefdddddddddddddd	d
dedee         dedee         dedee	         de	de
de
dee         dee         dede	ddfdZeefdddddddddd	d	d
dedee         dedee         dedee	         de
de
dee         dedd fd            Zedee         fd            Zedee         fd            Z	 	 	 	 	 	 d&d#Z	 	 	 	 	 	 d'd%ZdS )(Panela  A console renderable that draws a border around its contents.

    Example:
        >>> console.print(Panel("Hello, World!"))

    Args:
        renderable (RenderableType): A console renderable object.
        box (Box, optional): A Box instance that defines the look of the border (see :ref:`appendix_box`.
            Defaults to box.ROUNDED.
        safe_box (bool, optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
        expand (bool, optional): If True the panel will stretch to fill the console
            width, otherwise it will be sized to fit the contents. Defaults to True.
        style (str, optional): The style of the panel (border and contents). Defaults to "none".
        border_style (str, optional): The style of the border. Defaults to "none".
        width (Optional[int], optional): Optional width of panel. Defaults to None to auto-detect.
        height (Optional[int], optional): Optional height of panel. Defaults to None to auto-detect.
        padding (Optional[PaddingDimensions]): Optional padding around renderable. Defaults to 0.
        highlight (bool, optional): Enable automatic highlighting of panel title (if str). Defaults to False.
    NcenterTnone)r   r   F)titletitle_alignsubtitlesubtitle_alignsafe_boxexpandstyleborder_stylewidthheightpadding	highlight
renderabler   boxr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   returnc                    || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        d S )N)r(   r)   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   )selfr(   r)   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   s                  Y/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/pip/_vendor/rich/panel.py__init__zPanel.__init__&   sm    $ %
(3 , 
(
"    )	r   r   r   r   r    r"   r#   r$   r&   c       	         0     | |||||||||	|
|d          S )z2An alternative constructor that sets expand=False.F)
r   r   r   r   r    r"   r#   r$   r&   r!    )clsr(   r)   r   r   r   r   r    r"   r#   r$   r&   s               r-   fitz	Panel.fitG   sA    " s#)%
 
 
 	
r/   c                 ^   | j         rt          | j         t                    rt          j        | j                   n| j                                         }d|_        |j                            dd          |_        d|_	        |
                                 |                    d           |S d S N 
 Tr   )r   
isinstancestrr   from_markupcopyendplainreplaceno_wrapexpand_tabspad)r,   
title_texts     r-   _titlezPanel._titleg   s    : 	 dj#..' ,,,Z__&& 
  JN)/77cBBJ!%J""$$$NN1tr/   c                 ^   | j         rt          | j         t                    rt          j        | j                   n| j                                         }d|_        |j                            dd          |_        d|_	        |
                                 |                    d           |S d S r5   )r   r9   r:   r   r;   r<   r=   r>   r?   r@   rA   rB   )r,   subtitle_texts     r-   	_subtitlezPanel._subtitlew   s    = 	! dmS11* ///]'')) 
 !#M"/"5"="=dC"H"HM$(M!%%'''a     tr/   consoler   optionsr   r   c              #     K   t          j        | j                  }t          |          rt          | j        |          n| j        }|                    | j                  }||                    | j                  z   }| j        |j	        nt          |j	        | j                  }| j        |j        n| j        }| j                            ||          }	dt          dt          dt           dt           dt"          dt          fd}
| j        }||                    |           | j        r|d	z
  n1|                    ||                    |d	z
            
          j        }| j        p|j        pd }|r|d	z  }|.t          |j	        d	z
  t3          ||j        d	z                       }|d	z   }|                    ||| j                  }|                    |||          }t=          |	j        |          }t=          |	j          |          }t=          j!                    }||dk    r*t=          |	"                    |d	z
  g          |          V  n |
||dz
  | j#        |	j$        |          }t=          |	j%        |	j$        z   |          V  |&                    ||                    |dz
                      E d {V  t=          |	j$        |	j'        z   |          V  |V  |D ]}|V  |E d {V  |V  |V  | j(        }||                    |           ||dk    r*t=          |	)                    |d	z
  g          |          V  n |
||dz
  | j*        |	j+        |          }t=          |	j,        |	j+        z   |          V  |&                    ||                    |dz
                      E d {V  t=          |	j+        |	j-        z   |          V  |V  d S )N)safetextr$   align	characterr"   r*   c                 l   |                                  } |                     |           |t          | j                  z
  }|rq|dk    rt	          j        | ||z  |fdd          S |dk    r+|dz  }t	          j        ||z  |f| |||z
  z  |fdd          S t	          j        ||z  |f| dd          S | S )ac  Gets new aligned text.

            Args:
                text (Text): Title or subtitle text.
                width (int): Desired width.
                align (str): Alignment.
                character (str): Character for alignment.
                style (Style): Border style

            Returns:
                Text: New text instance
            leftTr6   )r@   r=   r      )r<   truncater	   r>   r   assemble)rL   r$   rM   rN   r"   excess_spacerP   s          r-   
align_textz*Panel.__rich_console__.<locals>.align_text   s    99;;DMM%    8DJ#7#77L F??="\159 $	    h&&'1,D="T)51"lT&9:EB $     ="\159 $	    Kr/   rQ   )rI   )r$   r%   r'   )r"      ).r   unpackr&   anyr(   	get_styler"   r#   r$   	max_widthminr    r)   
substituter   intr:   r   rD   stylize_beforer!   measureupdate_widthmaximumr%   maxr	   updater'   render_linesr   mid_left	mid_rightlineget_topr   toptop_leftrender	top_rightrG   
get_bottomr   bottombottom_leftbottom_right)r,   rH   rI   _paddingr(   r"   r#   r$   r    r)   rU   rC   child_widthchild_heightchild_optionslines
line_startline_endnew_linerg   rF   s                        r-   __rich_console__zPanel.__rich_console__   s      >$,//25h--TGDOX...T_ 	 !!$*--w001BCCC z! W&
33 	 .2]-B))h!!'!99*	*	"*	+.*	;>*	GL*	*	 *	 *	 *	X [
!%%l333 {EAIIG$8$8$C$C !   	 {<gn< 	AL!!A%s;
8Ka8O'P'P K aldn ' 
 
 $$Ze$LLS\<88
cm-|<<<>>!#++uqyk22LAAAAAA#	  J #,0,?????~~j-2L2LUUVY2W2WXXXXXXXXX#'CM1<@@@@@ 	 	DOOOOOOONNNNNNN$((666 EQJJ#..%!)55|DDDDDD&J	#
 M #/CJ6EEEEE~~}99%!)DD         #*s'77FFFFFr/   r   c                 .   | j         }t          j        | j                  \  }}}}||z   }|r	| j        |gn| j        g}| j        ;t          ||                    |j        |z
  dz
            |          j	        |z   dz   }	n| j        }	t          |	|	          S )NrQ   )rD   r   rW   r&   r(   r$   r   r`   rZ   ra   r   )
r,   rH   rI   rD   _rightrP   r&   renderablesr$   s
             r-   __rich_measure__zPanel.__rich_measure__  s     #N4<885!T,39Pt//?P:#(():W)Dq)HII    E JE5%(((r/   )rH   r   rI   r   r*   r   )rH   r   rI   r   r*   r   )__name__
__module____qualname____doc__r   r   r   r   r   boolr   r]   r   r.   classmethodr3   propertyr   rD   rG   ry   r~   r1   r/   r-   r   r      s        . #
 %)#+'+&.#'!"(# $%+!# # #$# #
 !# !# 8$# $# 4.# # #  # }# # ##  !#" 
## # # #B  

 %)#+'+&.#'!"(#%+
 
 
$
 

 !
 !
 8$
 $
 4.
 
  
 }
 #
 

 
 
 [
>     X 8D>    XC C+;C	C C C CJ) )+;)	) ) ) ) ) )r/   r   __main__)r   )DOUBLEr   )r   zHello, World!z
rich.Panelzwhite on blue)r   r"   r)   r&   N)%typingr   r   rM   r   r)   r   r   cellsr	   jupyterr
   r_   r   r   r&   r   r   segmentr   r"   r   r   rL   r   r   rH   r   r   r   r   r   r   cr   pprintr1   r/   r-   <module>r      s   * * * * * * * *                     ! ! ! ! ! ! 5 5 5 5 5 5 5 5 / / / / / / / /       # # # # # # # #                 ONNNNNNNNNNNNO) O) O) O) O)L O) O) O)d z      		A$$$$$$$$      	 	 	A GGIIIGGAJJJJJ# r/   