o
    Ëý°j  ã                   @   sX   d dl mZmZ ddlmZ ddlmZ er"ddlmZm	Z	m
Z
mZ G dd„ deƒZdS )	é    )ÚOptionalÚTYPE_CHECKINGé   )ÚJupyterMixin)ÚMeasurement)ÚConsoleÚConsoleOptionsÚRenderableTypeÚRenderResultc                   @   sX   e Zd ZdZddddee ddfdd	„Z	
					ddd„Z	
					ddd„ZdS )Ú	ConstrainzêConstrain the width of a renderable to a given number of characters.

    Args:
        renderable (RenderableType): A renderable object.
        width (int, optional): The maximum width (in characters) to render. Defaults to 80.
    éP   Ú
renderabler	   ÚwidthÚreturnNc                 C   s   || _ || _d S ©N)r   r   )Úselfr   r   © r   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_vendor/rich/constrain.pyÚ__init__   s   
zConstrain.__init__Úconsoler   Úoptionsr   r
   c                 c   sD   � | j d u r| jV  d S | t| j |jƒ¡}| | j|¡E d H  d S r   )r   r   Úupdate_widthÚminÚ	max_widthÚrender)r   r   r   Úchild_optionsr   r   r   Ú__rich_console__   s
   €
zConstrain.__rich_console__r   c                 C   s*   | j d ur| | j ¡}t ||| j¡}|S r   )r   r   r   Úgetr   )r   r   r   Úmeasurementr   r   r   Ú__rich_measure__   s   
zConstrain.__rich_measure__)r   )r   r   r   r   r   r
   )r   r   r   r   r   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úintr   r   r   r   r   r   r   r   
   s"    ÿÿ
þ	ÿÿþr   N)Útypingr   r   Újupyterr   Úmeasurer   r   r   r   r	   r
   r   r   r   r   r   Ú<module>   s    