File: //usr/lib/python3/dist-packages/pip/_vendor/rich/__pycache__/align.cpython-310.pyc
o
@%Ne�( � @ sl d dl Z d dlmZ d dlmZmZmZ e jdkr d dlmZ nd dl mZ ddl
mZ ddlm
Z
dd lmZ dd
lmZ ddlmZ erRddlmZmZmZmZ ed
Zed ZeZG dd� de
�ZG dd� de
�Zedkr�d dlmZm Z d dl!m"Z" d dl#m$Z$ e"� Z%e� Ze$e e�&e%d��e�'e%d��e�(e%d���dddd�Z)e�*ej'e)ddej+d �� dS dS )!� N)�chain)�
TYPE_CHECKING�Iterable�Optional)� � )�Literal� )� Constrain)�JupyterMixin)�Measurement)�Segment)� StyleType)�Console�ConsoleOptions�RenderableType�RenderResult��left�center�right��top�middle�bottomc @ st e Zd ZdZ d"ddddd�ddded ee d
ee dedee d
ee ddfdd�Z
defdd�Ze
d#ddddd�ddd ee d
ee dedee d
ee dd fdd��Ze
d#ddddd�ddd ee d
ee dedee d
ee dd fdd��Ze
d#ddddd�ddd ee d
ee dedee d
ee dd fdd��Z d$dd�Zdddddefd d!�ZdS )%�Aligna Align a renderable by adding spaces if necessary.
Args:
renderable (RenderableType): A console renderable.
align (AlignMethod): One of "left", "center", or "right""
style (StyleType, optional): An optional style to apply to the background.
vertical (Optional[VerticalAlginMethod], optional): Optional vertical align, one of "top", "middle", or "bottom". Defaults to None.
pad (bool, optional): Pad the right with spaces. Defaults to True.
width (int, optional): Restrict contents to given width, or None to use default width. Defaults to None.
height (int, optional): Set height of align renderable, or None to fit to contents. Defaults to None.
Raises:
ValueError: if ``align`` is not one of the expected values.
r NT)�vertical�pad�width�height�
renderabler �align�styler r r r �returnc C sf |dvrt d|�d���|d ur|dvrt d|�d���|| _|| _|| _|| _|| _|| _|| _d S )Nr zDinvalid value for align, expected "left", "center", or "right" (not �)r zGinvalid value for vertical, expected "top", "middle", or "bottom" (not )�
ValueErrorr r! r"