a
    ǏPf                     @   sX   d dl mZmZ ddlmZ ddlmZ erDd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                   @   sL   e Zd ZdZddee ddddZdd	d
dddZdd	ddddZdS )	ConstrainzConstrain 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   r	   N)
renderablewidthreturnc                 C   s   || _ || _d S N)r   r   )selfr   r    r   [/var/www/html/python-backend/venv/lib/python3.9/site-packages/pip/_vendor/rich/constrain.py__init__   s    zConstrain.__init__r   r   r
   )consoleoptionsr   c                 c   s@   | j d u r| jV  n(|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   )	__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
   