
    Cj~                    J    S SK Jr  S SKJr  S SKJr  S SKJr   " S S\5      rg)    )annotations)Fraction)
NamedTuple)Sizec                  p    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S'   Sr	S\S'   SS	 jr
SS
 jrSS jrSrg)Extrema	   z)Specifies minimum and maximum dimensions.NzFraction | None	min_width	max_width
min_height
max_heightc                L    U SS u  p#Ub  [        X5      nUb  [        X5      nU$ )zoApply width extrema.

Args:
    width: Width value.

Returns:
    Width, clamped between minimum and maximum.

N   maxmin)selfwidthr
   r   s       b/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/_extrema.pyapply_widthExtrema.apply_width   s7      $BQx	 )E )E    c                L    U SS u  p#Ub  [        X5      nUb  [        X5      nU$ )zsApply height extrema.

Args:
    height: Height value.

Returns:
    Height, clamped between minimum and maximum.

r   Nr   )r   heightr   r   s       r   apply_heightExtrema.apply_height"   s7     "&ab
!,F!,Fr   c           
         [        [        U R                  [        U5      5      5      [        U R	                  [        U5      5      5      5      $ )zApply extrema to integer dimensions.

Args:
    width: Integer width.
    height: Integer height.

Returns:
    Size with extrema applied.
)r   intr   r   r   )r   r   r   s      r   apply_dimensionsExtrema.apply_dimensions3   s@       %12!!(6"234
 	
r    )r   r   returnr   )r   r   r"   r   )r   r   r   r   r"   r   )__name__
__module____qualname____firstlineno____doc__r
   __annotations__r   r   r   r   r   r   __static_attributes__r!   r   r   r   r   	   s<    3!%I%!%I%"&J&"&J&""
r   r   N)	
__future__r   	fractionsr   typingr   textual.geometryr   r   r!   r   r   <module>r.      s    "   !7
j 7
r   