
    AHj                        d Z ddlmZmZmZmZ dedefdZdedefdZdedefdZ	dedefdZ
dedefd	Zdedefd
ZdedefdZdedefdZdedefdZi dd dd dd dd dd dd dd dd dd d d! d"d# d$d% d&d' d(d) d*d+ d,d- d.d/ i d0d1 d2d3 d4ed5d6 d7d8 d9ed:d; d<d= d>e	d?d@ dAe
dBedCedDedEedFeZd"Zd$ZyG)Hz
Define a series of easing functions for more natural-looking animations.
Taken from https://easings.net/ and translated from JavaScript.
    )cospisinsqrtxreturnc                     d| cxk  rdk  rn nt        dd| z  dz
        dz  S d| cxk  rdk  rn | S dt        dd| z  dz         z
  dz  S | S )z"https://easings.net/#easeInOutExpor         ?      
      powr   s    G/root/tools/cai/cai_env/lib/python3.12/site-packages/textual/_easing.py_in_out_expor   	   s_    1{s{1b1frk"Q&&	A  C37R<((A--    c                     | dk  r!dt        dt        d| z  d      z
        z
  dz  S t        dt        d| z  dz   d      z
        dz   dz  S )z"https://easings.net/#easeInOutCircr
   r   r   r   r   r   s    r   _in_out_circr      sV    3wDSQ]*++q00QR!VaZ++,q0A55r   c                     d}| dk  r!t        d| z  d      |dz   dz  | z  |z
  z  dz  S t        d| z  dz
  d      |dz   | dz  dz
  z  |z   z  dz   dz  S )z"https://easings.net/#easeInOutBackg@t_@r
   r   r   r   r   cs     r   _in_out_backr      ss    A3wAE1!a%1q1!45::AEAIq!a!eA	%:Q%>?!CqHHr   c                     dt         z  dz  }d| cxk  rdk  r,n | S t        dd| z  dz
         t        | dz  dz
  |z        z  S | S )z"https://easings.net/#easeInElasticr      r   r   r   g     %@r   r   r   r   s     r   _in_elasticr!   $   sW    	B
A1yqy  ArAv{##c1r6E>Q*>&???r   c                    dt         z  dz  }d| cxk  rdk  r.n n+t        dd| z  dz
        t        d| z  dz
  |z        z   dz  S d| cxk  rdk  r1n | S t        dd	| z  dz         t        d| z  dz
  |z        z  dz  dz   S | S )
%https://easings.net/#easeInOutElasticr   g      @r   r
   r   r   g     @&@r   r   r    r   s     r   _in_out_elasticr$   -   s    	BA1{s{QQ$sBFVOq+@'AABQFF	A  AsQw|$sBFVOq+@'AAQFJJr   c                     dt         z  dz  }d| cxk  rdk  r+n | S t        dd| z        t        | dz  dz
  |z        z  dz   S | S )r#   r   r   r   r   r         ?r    r   s     r   _out_elasticr(   8   sT    	B
A1yqy  1cAga"ftmq%8!99A==r   c                     d\  }}| d|z  k  r|| z  | z  S | d|z  k  r| d|z  z
  }||z  |z  dz   S | d|z  k  r| d|z  z
  }||z  |z  dz   S | d	|z  z
  }||z  |z  d
z   S )z"https://easings.net/#easeOutBounce)g     @@g      @r   r   g      ?r'   g      @g      @g      ?g      @g     ? )r   ndx_s       r   _out_bouncer.   A   s    DAq1q5y1uqy	
QUq[2v{T!!	
S1W\2v{V##]2v{X%%r   c                 $    dt        d| z
        z
  S )z!https://easings.net/#easeInBouncer   r.   r   s    r   
_in_bouncer1   Q   s    {1q5!!!r   c                 h    | dk  rdt        dd| z  z
        z
  dz  S dt        d| z  dz
        z   dz  S )z$https://easings.net/#easeInOutBouncer
   r   r   r0   r   s    r   _in_out_bouncer3   V   sC    3wKAE	**a//KA	**a//r   nonec                      y)N      ?r*   r   s    r   <lambda>r7   _   s    r   roundc                     | dk  rdS dS )Nr
   g        r6   r*   r   s    r   r7   r7   `   s    a#gs 3 r   linearc                     | S Nr*   r   s    r   r7   r7   a   s     r   in_sinec                 2    dt        | t        z  dz        z
  S Nr   r   r   r   r   s    r   r7   r7   b   s    S!b&A.. r   in_out_sinec                 4    t        | t        z        dz
   dz  S r?   r@   r   s    r   r7   r7   c   s    s1r6{Q/!3 r   out_sinec                 ,    t        | t        z  dz        S )Nr   )r   r   r   s    r   r7   r7   d   s    #q2vl+ r   in_quadc                     | | z  S r<   r*   r   s    r   r7   r7   e   s
    Q r   in_out_quadc                 L    | dk  rd| z  | z  S dt        d| z  dz   d      dz  z
  S )Nr
   r   r   r   r   r   s    r   r7   r7   f   s2    !c'QUQY q3rAvz1;MPQ;Q7Q r   out_quadc                 &    dt        d| z
  d      z
  S r?   r   r   s    r   r7   r7   g   s    !c!a%m+ r   in_cubicc                     | | z  | z  S r<   r*   r   s    r   r7   r7   h   s    !a%!) r   in_out_cubicc                 R    | dk  rd| z  | z  | z  S dt        d| z  dz   d      dz  z
  S )Nr
      r   r   r   r   r   r   s    r   r7   r7   i   s7    q3wa!eai!m ABFQJPQ@RUV@V<V r   	out_cubicc                 &    dt        d| z
  d      z
  S )Nr   r   r   r   s    r   r7   r7   j       1s1q5!}, r   in_quartc                     t        | d      S )NrO   r   r   s    r   r7   r7   k       #a) r   in_out_quartc                 Z    | dk  rdt        | d      z  S dt        d| z  dz   d      dz  z
  S )Nr
      rO   r   r   r   r   r   s    r   r7   r7   l   s5    q3wa#a)m ABFQJPQ@RUV@V<V r   	out_quartc                 &    dt        d| z
  d      z
  S )Nr   rO   r   r   s    r   r7   r7   m   rR   r   in_quintc                     t        | d      S )N   r   r   s    r   r7   r7   n   rU   r   in_out_quintc                 Z    | dk  rdt        | d      z  S dt        d| z  dz   d      dz  z
  S )Nr
      r]   r   r   r   r   r   s    r   r7   r7   o   s5    Cb3q!9n QR!VaZQRASVWAW=W r   	out_quintc                 &    dt        d| z
  d      z
  S )Nr   r]   r   r   s    r   r7   r7   p   rR   r   in_expoc                 .    | rt        dd| z  dz
        S dS )Nr   r   r   r   r   s    r   r7   r7   q   s    QQ, q r   in_out_expoout_expoc                 4    | dk7  rdt        dd| z        z
  S dS )Nr   r   r&   r   r   s    r   r7   r7   s   s    a!c!S1Wo- Q r   in_circc                 8    dt        dt        | d      z
        z
  S r?   r   r   s    r   r7   r7   t   s    T!c!Qi-00 r   in_out_circout_circc                 8    t        dt        | dz
  d      z
        S r?   r   r   s    r   r7   r7   v   s    $q3q1ua=01 r   in_backc                 @    dt        | d      z  dt        | d      z  z
  S )N8՜@r   aq89?r   r   r   s    r   r7   r7   w   s!    3q!9,wQ/BB r   in_out_backout_backc                 R    ddt        | dz
  d      z  z   dt        | dz
  d      z  z   S )Nr   ro   r   rp   r   r   r   s    r   r7   r7   y   s.    !gAE155#a!eQ-8OO r   
in_elasticin_out_elasticout_elastic	in_bouncein_out_bounce
out_bounceN)__doc__mathr   r   r   r   floatr   r   r   r!   r$   r(   r.   r1   r3   EASINGDEFAULT_EASINGDEFAULT_SCROLL_EASINGr*   r   r   <module>r      sv  
 $ #E e 6E 6e 6IE Ie I5 U u  E e &5 &U & "% "E "
0e 0 0"

M"
."
 k"
 .	"

 3"
 +"
 "
 Q"
 +"
 #"
 V"
 ,"
 #"
 V"
 ,"
  #!"
" W#"
$ ,%"
& 8'"
( <)"
* >+"
, 0-"
. </"
0 11"
2 B3"
4 <5"
6 O7"
8 +9"
: o;"
< <="
> ?"
@ ^A"
B +C"
H  # r   