o
    
j6h                     @   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 )	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   
renderabler	   widthreturnNc                 C   s   || _ || _d S N)r   r   )selfr   r    r   i/var/www/html/chefvision.cloud.itp360.com/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    