
    Cjf              	         S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
  SSKrSSKJr  SSKJr  SS	KJr  SS
KJrJr  SSKJr  SSKJr  \
" SSS9r\(       a  SSKJr  SSKJr  SSKJ r   SSK!J"r"  \RF                  RH                   " S S\5      5       r%\RF                  RH                   " S S\%SSS95       r&\ " S S\%SS95       r' " S S\%SS9r( " S  S!\%SS9r) " S" S#\%5      r* " S$ S%\%SS9r+ " S& S'\%SSS9r, " S( S)\%SSS9r- " S* S+\%SSS9r. " S, S-\%SS9r/ " S. S/\%SS9r0 " S0 S1\%SS9r1\RF                  RH                   " S2 S3\%SS95       r2\RF                  RH                   " S4 S5\%SS95       r3 " S6 S7\%5      r4\RF                  RH                   " S8 S9\45      5       r5SlS: jr6\RF                  RH                   " S; S\4SS95       r7\RF                  RH                   " S< S=\7SSS95       r8\RF                  RH                   " S> S?\7SSS95       r9\RF                  RH                   " S@ SA\7SSS95       r:\RF                  RH                   " SB SC\7SSS95       r;\RF                  RH                   " SD SE\7SSS95       r<\RF                  RH                   " SF SG\7SSS95       r=\RF                  RH                   " SH SI\7SSS95       r> " SJ SK\7SS9r?\RF                  RH                   " SL SM\%SSS95       r " SN SO\%SSS9r@ " SP SQ\%SSS9rA " SR SS\%SS9rB " ST SU\%SS9rC " SV SW\%SS9rD " SX SY\%SS9rE\ " SZ S[\%SSS95       rF\ " S\ S]\%SSS95       rG\RF                  RH                   " S^ S_\%SS95       rH\ " S` Sa\%SS95       rI " Sb Sc\%SS9rJ\RF                  RH                   " Sd Se\%SS95       rK\ " Sf Sg\%SS95       rL\ " Sh Si\%SS95       rM " Sj Sk\%SS9rNg)ma:  

Builtin events sent by Textual.

Events may be marked as "Bubbles" and "Verbose".
See the [events guide](/guide/events/#bubbling) for an explanation of bubbling.
Verbose events are excluded from the textual console, unless you explicitly request them with the `-v` switch as follows:

```
textual console -v
```
    )annotations)	dataclass)Path)TYPE_CHECKINGTypeTypeVarN)Style)Self)CallbackType)OffsetSize)_get_key_aliases)MessageMouseEventT
MouseEvent)bound)DOMNode)Timer)TimerCallback)Widgetc                      \ rS rSrSrSrg)Event&   zThe base class for all events. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       `/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/events.pyr   r   &   s    (r"   r   c                  :   ^  \ rS rSrSrSU 4S jjrSS jrSrU =r$ )Callback+   zSent by Textual to invoke a callback
(see [call_next][textual.message_pump.MessagePump.call_next] and
[call_later][textual.message_pump.MessagePump.call_later]).
c                .   > Xl         [        TU ]	  5         g N)callbacksuper__init__)selfr)   	__class__s     r#   r+   Callback.__init__2   s     r"   c              #  ,   #    SU R                   4v   g 7f)Nr)   r)   r,   s    r#   __rich_repr__Callback.__rich_repr__6   s     $--''   r0   )r)   r   returnNoner5   zrich.repr.Result	r   r   r   r   r    r+   r2   r!   __classcell__r-   s   @r#   r%   r%   +   s    
( (r"   r%   FT)bubbleverbosec                  .    \ rS rSr% SrS\S'   S\S'   Srg)CursorPosition:   z?Internal event used to retrieve the terminal's cursor position.intxyr   N)r   r   r   r   r    __annotations__r!   r   r"   r#   r>   r>   :   s    I
F
Fr"   r>   )r;   c                      \ rS rSrSrSrg)LoadB   z
Sent when the App is running but *before* the terminal is in application mode.

Use this event to run any setup that doesn't require any visuals such as loading
configuration and binding keys.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   rE   rE   B       r"   rE   c                      \ rS rSrSrSrg)IdleN   zSent when there are no more items in the message queue.

This is a pseudo-event in that it is created by the Textual system and doesn't go
through the usual message queue.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   rI   rI   N       r"   rI   c                  <   ^  \ rS rSrS/rSU 4S jjrSS jrSrU =r$ )ActionY   actionc                .   > [         TU ]  5         Xl        g r(   )r*   r+   rO   )r,   rO   r-   s     r#   r+   Action.__init__\   s    r"   c              #  ,   #    SU R                   4v   g 7f)NrO   rO   r1   s    r#   r2   Action.__rich_repr__`   s     ##r4   rS   )rO   strr5   r6   r7   )	r   r   r   r   	__slots__r+   r2   r!   r9   r:   s   @r#   rM   rM   Y   s    
I$ $r"   rM   c                     ^  \ rS rSrSr/ SQr  S	         S
U 4S jjjr\      SS j5       rSS jr	SS jr
SrU =r$ )Resized   zSent when the app or widget has been resized.

- [ ] Bubbles
- [ ] Verbose

Args:
    size: The new size of the Widget.
    virtual_size: The virtual size (scrollable size) of the Widget.
    container_size: The size of the Widget's container widget.
)sizevirtual_sizecontainer_sizec                f   > Xl          X l         Uc  UOUU l         X@l         [        TU ]  5         g r(   )rZ   r[   r\   
pixel_sizer*   r+   )r,   rZ   r[   r\   r^   r-   s        r#   r+   Resize.__init__r   s;     	)(?&4&<d.8$Qr"   c                D    [        U6 nUb  [        U6 OSn[        X3X45      $ )zConstruct from basic dimensions.

Args:
    cells: tuple of (<width>, <height>) in cells.
    pixels: tuple of (<width>, <height>) in pixels if known, or `None` if not known.

N)r   rX   )clscellspixelsrZ   r^   s        r#   from_dimensionsResize.from_dimensions   s*     U|&,&8T6]d
d$33r"   c                "    [        U[        5      $ r(   )
isinstancerX   )r,   messages     r#   can_replaceResize.can_replace   s    '6**r"   c              #     #    SU R                   4v   SU R                  U R                   4v   SU R                  U R                   4v   SU R                  S 4v   g 7f)NrZ   r[   r\   r^   )rZ   r[   r\   r^   r1   s    r#   r2   Resize.__rich_repr__   sS     diid//:: 3 3TYY>>DOOT11s   AA)r\   r^   rZ   r[   )NN)
rZ   r   r[   r   r\   Size | Noner^   rm   r5   r6   )rb   ztuple[int, int]rc   ztuple[int, int] | Noner5   rX   )rh   z	'Message'r5   boolr7   )r   r   r   r   r    rV   r+   classmethodrd   ri   r2   r!   r9   r:   s   @r#   rX   rX   d   s    	 ;I '+"&  $	
   
 " 4#4-C4	4 4+2 2r"   rX   c                      \ rS rSrSrSrg)Compose   zSent to a widget to request it to compose and mount children.

This event is used internally by Textual.
You won't typically need to explicitly handle it,

- [ ] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   rq   rq      rK   r"   rq   c                      \ rS rSrSrSrg)Mount   zWSent when a widget is *mounted* and may receive messages.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   rt   rt          r"   rt   c                      \ rS rSrSrSrg)Unmount   zaSent when a widget is unmounted and may no longer receive messages.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   rx   rx      rv   r"   rx   c                      \ rS rSrSrSrg)Show   zDSent when a widget is first displayed.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   r{   r{      rv   r"   r{   c                      \ rS rSrSrSrg)Hide   av  Sent when a widget has been hidden.

- [ ] Bubbles
- [ ] Verbose

Sent when any of the following conditions apply:

- The widget is removed from the DOM.
- The widget is no longer displayed because it has been scrolled or clipped from the terminal or its container.
- The widget has its `display` attribute set to `False`.
- The widget's `display` style is set to `"none"`.
r   Nr   r   r"   r#   r~   r~      s    r"   r~   c                      \ rS rSrSrSrg)Ready   zmSent to the `App` when the DOM is ready and the first frame has been displayed.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   r   r      rv   r"   r   c                  :   ^  \ rS rSrSrSU 4S jjrSS jrSrU =r$ )MouseCapture   zSent when the mouse has been captured.

- [ ] Bubbles
- [ ] Verbose

When a mouse has been captured, all further mouse events will be sent to the capturing widget.

Args:
    mouse_position: The position of the mouse when captured.
c                .   > [         TU ]  5         Xl        g r(   r*   r+   mouse_positionr,   r   r-   s     r#   r+   MouseCapture.__init__       ,6r"   c              #  ,   #    S U R                   4v   g 7fr(   r   r1   s    r#   r2   MouseCapture.__rich_repr__        D''''r4   r   r   r   r5   r6   r7   r8   r:   s   @r#   r   r      s    	7
( (r"   r   c                  :   ^  \ rS rSrSrSU 4S jjrSS jrSrU =r$ )MouseRelease   zzMouse has been released.

- [ ] Bubbles
- [ ] Verbose

Args:
    mouse_position: The position of the mouse when released.
c                .   > [         TU ]  5         Xl        g r(   r   r   s     r#   r+   MouseRelease.__init__   r   r"   c              #  ,   #    S U R                   4v   g 7fr(   r   r1   s    r#   r2   MouseRelease.__rich_repr__   r   r4   r   r   r7   r8   r:   s   @r#   r   r      s    7
( (r"   r   c                      \ rS rSrSrSrg)
InputEvent   zBase class for input events.r   Nr   r   r"   r#   r   r      s    &r"   r   c                     ^  \ rS rSrSrSS/rSU 4S jjrSS jrSS jr\	SS j5       r
\	SS	 j5       r\	SS
 j5       r\	SS j5       rSrU =r$ )Keyi  zSent when the user hits a key on the keyboard.

- [X] Bubbles
- [ ] Verbose

Args:
    key: The key that was pressed.
    character: A printable character or `None` if it is not printable.
key	characterc                j   > [         TU ]  5         Xl         Uc  [        U5      S:X  a  UOS OUU l        g )N   )r*   r+   r   lenr   )r,   r   r   r-   s      r#   r+   Key.__init__  s9    '090ACHMSty 	 	Hr"   c              #     #    SU R                   4v   SU R                  4v   SU R                  4v   SU R                  4v   SU R                  U R                   /4v   g 7f)Nr   r   nameis_printablealiases)r   r   r   r   r   r1   s    r#   r2   Key.__rich_repr__  sY     TXXo4>>))diid////z11s   AA c                B    [        U R                  U R                  5      $ )zGet a copy of this key event.)r   r   r   r1   s    r#   copyKey.copy"  s    488T^^,,r"   c                H    [        U R                  5      R                  5       $ )z6Name of a key suitable for use as a Python identifier.)_key_to_identifierr   lowerr1   s    r#   r   Key.name&  s     "$((+1133r"   c                X    U R                    Vs/ s H  n[        U5      PM     sn$ s  snf )z9The corresponding name for every alias in `aliases` list.)r   r   )r,   r   s     r#   name_aliasesKey.name_aliases+  s&     48<<@<C"3'<@@@s   'c                T    U R                   c  S$ U R                   R                  5       $ )zlCheck if the key is printable (produces a unicode character).

Returns:
    `True` if the key is printable.
F)r   isprintabler1   s    r#   r   Key.is_printable0  s%     .uPDNN4N4N4PPr"   c                ,    [        U R                  5      $ )z2The aliases for the key, including the key itself.)r   r   r1   s    r#   r   Key.aliases9  s      ))r"   )r   r   )r   rU   r   
str | Noner5   r6   r7   )r5   r   )r5   rU   )r5   z	list[str])r5   rn   )r   r   r   r   r    rV   r+   r2   r   propertyr   r   r   r   r!   r9   r:   s   @r#   r   r     sx     $IH2- 4 4 A A Q Q * *r"   r   c                    U R                  S5      S   n[        U5      S:X  a:  UR                  5       (       a%  SU ;   a  U R                  S5      S    SU 3n OSU 3n U R	                  SS5      R                  5       $ )zIConvert the key string to a name suitable for use as a Python identifier.+r   r   z+upper_upper__)splitr   isupper
rpartitionreplacer   )r   key_no_modifierss     r#   r   r   ?  s    yy~b)
!&6&>&>&@&@#:^^C(+,G4D3EFC+,-C;;sC &&((r"   c                    ^  \ rS rSrSr/ SQr   S                         SU 4S jjjr\SS j5       r\SS j5       r	\SS j5       r
\SS j5       r\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\        SS j5       rS S jr\S!S j5       r\S"S j5       r\S"S j5       r\S"S j5       r\S#S j5       r\R4                  S$S j5       rS%S jrS&S jrS'S jrSrU =r$ )(r   iJ  aG  Sent in response to a mouse event.

- [X] Bubbles
- [ ] Verbose

Args:
    widget: The widget under the mouse.
    x: The relative x coordinate.
    y: The relative y coordinate.
    delta_x: Change in x since the last message.
    delta_y: Change in y since the last message.
    button: Indexed of the pressed button.
    shift: True if the shift key is pressed.
    meta: True if the meta key is pressed.
    ctrl: True if the ctrl key is pressed.
    screen_x: The absolute x coordinate.
    screen_y: The absolute y coordinate.
    style: The Rich Style under the mouse cursor.
)widget_x_y_delta_x_delta_ybuttonshiftmetactrl	_screen_x	_screen_y_stylec                  > [         TU ]  5         Xl         X l         X0l         X@l         XPl         X`l         Xpl         Xl	         Xl
         U
c  UOU
U l         Uc  UOUU l         U=(       d
    [        5       U l        g r(   )r*   r+   r   r   r   r   r   r   r   r   r   r   r   r	   r   )r,   r   rA   rB   delta_xdelta_yr   r   r   r   screen_xscreen_ystyler-   s                r#   r+   MouseEvent.__init__o  s     	%+@((11,
1	0	0&.H(&.H(&uwr"   c                ,    [        U R                  5      $ )z6The relative X coordinate of the cell under the mouse.)r@   r   r1   s    r#   rA   MouseEvent.x       477|r"   c                ,    [        U R                  5      $ )z6The relative Y coordinate of the cell under the mouse.)r@   r   r1   s    r#   rB   MouseEvent.y  r   r"   c                    U R                   $ )z!Change in `x` since last message.)r   r1   s    r#   r   MouseEvent.delta_x       }}r"   c                    U R                   $ )z%Change in `y` since the last message.)r   r1   s    r#   r   MouseEvent.delta_y  r   r"   c                ,    [        U R                  5      $ )z8X coordinate of the cell relative to top left of screen.)r@   r   r1   s    r#   r   MouseEvent.screen_x       4>>""r"   c                ,    [        U R                  5      $ )z8Y coordinate of the cell relative to top left of screen.)r@   r   r1   s    r#   r   MouseEvent.screen_y  r   r"   c                    U R                   $ )z)The relative X coordinate of the pointer.)r   r1   s    r#   	pointer_xMouseEvent.pointer_x       wwr"   c                    U R                   $ )z)The relative Y coordinate of the pointer.)r   r1   s    r#   	pointer_yMouseEvent.pointer_y  r   r"   c                    U R                   $ )z7The X coordinate of the pointer relative to the screen.)r   r1   s    r#   pointer_screen_xMouseEvent.pointer_screen_x       ~~r"   c                    U R                   $ )z7The Y coordinate of the pointer relative to the screen.)r   r1   s    r#   pointer_screen_yMouseEvent.pointer_screen_y  r   r"   c                   U " UUR                   UR                  UR                  UR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  5      nU$ r(   )r   r   r   r   r   r   r   r   r   r   r   )ra   r   event	new_events       r#   
from_eventMouseEvent.from_event  sf     HHHHNNNNLLKKJJJJOOOOLL
	 r"   c              #  `  #    U R                   v   SU R                  4v   SU R                  4v   SU R                  4v   SU R                  4v   SU R
                  S4v   SU R                  S4v   U R                  U R                  :w  a  SU R                  4v   U R                  U R                  :w  a  S	U R                  4v   S
U R                  S4v   SU R                  S4v   SU R                  S4v   SU R                  S4v   U R                  (       a  SU R                  4v   g g 7f)NrA   rB   r   r   r   r   r   r   r   r   r   Fr   r   r   )r   rA   rB   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   s    r#   r2   MouseEvent.__rich_repr__  s    kk466k466k4>>))4>>))q((q((==DFF"dnn,,==DFF"dnn,,Q&&tzz5((dii&&dii&&::4::%% s   D,D.c                    U R                   $ r(   r   r1   s    r#   controlMouseEvent.control  s    {{r"   c                B    [        U R                  U R                  5      $ )zCThe mouse coordinate as an offset.

Returns:
    Mouse coordinate.
)r   rA   rB   r1   s    r#   offsetMouseEvent.offset  s     dffdff%%r"   c                B    [        U R                  U R                  5      $ )z(Mouse coordinate relative to the screen.)r   r   r   r1   s    r#   screen_offsetMouseEvent.screen_offset  s     dmmT]]33r"   c                B    [        U R                  U R                  5      $ )z1Mouse coordinate delta (change since last event).)r   r   r   r1   s    r#   deltaMouseEvent.delta  s     dllDLL11r"   c                <    U R                   =(       d
    [        5       $ )z"The (Rich) Style under the cursor.)r   r	   r1   s    r#   r   MouseEvent.style  s     {{%eg%r"   c                    Xl         g r(   )r   )r,   r   s     r#   r   r	    s    r"   c                Z    U R                   UR                  ;  a  gU R                  U5      $ )zGet offset within a widget's content area, or None if offset is not in content (i.e. padding or border).

Args:
    widget: Widget receiving the event.

Returns:
    An offset where the origin is at the top left of the content area.
N)r  content_regionget_content_offset_capturer,   r   s     r#   get_content_offsetMouseEvent.get_content_offset  s,     V%:%::..v66r"   c                H    U R                   UR                  R                  -
  $ )zGet offset from a widget's content area.

This method works even if the offset is outside the widget content region.

Args:
    widget: Widget receiving the event.

Returns:
    An offset where the origin is at the top left of the content area.
)r   guttertop_leftr  s     r#   r  %MouseEvent.get_content_offset_capture  s     {{V]]3333r"   c                2   U R                  U R                  U R                  U-   U R                  U-   U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  S9$ )N)rA   rB   r   r   r   r   r   r   r   r   r   )r-   r   r   r   r   r   r   r   r   r   r   r   r   r,   rA   rB   s      r#   _apply_offsetMouseEvent._apply_offset*  st    ~~KKggkggkMMMM;;**^^^^**  
 	
r"   )r   r   r   r   r   r   r   r   r   r   r   r   )NNN)r   Widget | NonerA   floatrB   r  r   r@   r   r@   r   r@   r   rn   r   rn   r   rn   r   float | Noner   r  r   Style | Noner5   r6   )r5   r@   )r5   r  )ra   zType[MouseEventT]r   r   r   r   r5   r   r7   )r5   r  )r5   r   )r5   r	   )r   r	   r5   r6   )r   r   r5   zOffset | None)r   r   r5   r   )rA   r@   rB   r@   r5   r   ) r   r   r   r   r    rV   r+   r   rA   rB   r   r   r   r   r   r   r   r   ro   r   r2   r   r   r  r  r   setterr  r  r  r!   r9   r:   s   @r#   r   r   J  s6   (I4 "&!%"&'&' &' 	&'
 &' &' &' &' &' &' &' &' &' 
&' &'P         # # # #         (.7A	 &&&   & & 4 4 2 2 & & \\ 74
 
r"   c                      \ rS rSrSrSrg)	MouseMovei;  z?Sent when the mouse cursor moves.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r  r  ;      r"   r  c                      \ rS rSrSrSrg)	MouseDowniD  zBSent when a mouse button is pressed.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r"  r"  D  r   r"   r"  c                      \ rS rSrSrSrg)MouseUpiM  zCSent when a mouse button is released.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r$  r$  M  r   r"   r$  c                      \ rS rSrSrSrg)MouseScrollDowniV  zKSent when the mouse wheel is scrolled *down*.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r&  r&  V  r   r"   r&  c                      \ rS rSrSrSrg)MouseScrollUpi_  zISent when the mouse wheel is scrolled *up*.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r(  r(  _  r   r"   r(  c                      \ rS rSrSrSrg)MouseScrollRightih  zLSent when the mouse wheel is scrolled *right*.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r*  r*  h  r   r"   r*  c                      \ rS rSrSrSrg)MouseScrollLeftiq  zKSent when the mouse wheel is scrolled *left*.

- [X] Bubbles
- [X] Verbose
r   Nr   r   r"   r#   r,  r,  q  r   r"   r,  c                     ^  \ rS rSrSr    S                           S	U 4S jjjr\ S
         SS jj5       rSS jrSU 4S jjr	Sr
U =r$ )Clickiz  zSent when a widget is clicked.

- [X] Bubbles
- [ ] Verbose

Args:
    chain: The number of clicks in the chain. 2 is a double click, 3 is a triple click, etc.
c                F   > [         TU ]  UUUUUUUUU	U
UU5        Xl        g r(   )r*   r+   chain)r,   r   rA   rB   r   r   r   r   r   r   r   r   r   r0  r-   s                 r#   r+   Click.__init__  s=      		
 
r"   c                   U " UUR                   UR                  UR                  UR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  US9nU$ )Nr0  )rA   rB   r   r   r   r   r   r   r   r   r   )ra   r   r   r0  r   s        r#   r   Click.from_event  si     GGGGMMMMLLKKJJJJNNNNLL
	 r"   c                H   U R                  U R                  U R                  U-   U R                  U-   U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  S9$ )N)rA   rB   r   r   r   r   r   r   r   r   r   r0  )r-   r   rA   rB   r   r   r   r   r   r   r   r   r   r0  r  s      r#   r  Click._apply_offset  s{    ~~KKffqjffqjLLLL;;**]]]]****  
 	
r"   c              #  ^   >#    [         TU ]  5        S h  vN   SU R                  4v   g  N7f)Nr0  )r*   r2   r0  r,   r-   s    r#   r2   Click.__rich_repr__  s+     7(***tzz!! 	+   -+-r3  )NNNr   )r   r  rA   r@   rB   r@   r   r@   r   r@   r   r@   r   rn   r   rn   r   rn   r   
int | Noner   r;  r   r  r0  r@   r5   r6   )r   )
ra   z
Type[Self]r   r   r   r   r0  r@   r5   r
   )rA   r@   rB   r@   r5   r
   r7   )r   r   r   r   r    r+   ro   r   r  r2   r!   r9   r:   s   @r#   r.  r.  z  s   (  $#"  	
           
 @ 
 	  	
 
 .
"" "r"   r.  c                  \   ^  \ rS rSrSr/ SQr  S         SU 4S jjjrS	S jrSrU =r	$ )
r   i  z:Sent in response to a timer.

- [ ] Bubbles
- [X] Verbose
)timertimecountr)   c                R   > [         TU ]  5         Xl        X l        X0l        X@l        g r(   )r*   r+   r=  r>  r?  r)   )r,   r=  r>  r?  r)   r-   s        r#   r+   Timer.__init__  s$     	
	
 r"   c              #  \   #    U R                   R                  v   SU R                  4v   g 7f)Nr?  )r=  r   r?  r1   s    r#   r2   Timer.__rich_repr__  s"     jjootzz!!s   *,)r)   r?  r>  r=  )r   N)
r=  z'TimerClass'r>  r  r?  r@   r)   zTimerCallback | Noner5   r6   r7   )
r   r   r   r   r    rV   r+   r2   r!   r9   r:   s   @r#   r   r     s[     7I )-!! ! 	!
 '! 
! !" "r"   r   c                  J   ^  \ rS rSrSrS/rSU 4S jjr\SS j5       rSr	U =r
$ )	Enteri  zSent when the mouse is moved over a widget.

Note that this event bubbles, so a widget may receive this event when the mouse
moves over a child widget. Check the `node` attribute for the widget directly under
the mouse.

- [X] Bubbles
- [X] Verbose
nodec                0   > Xl          [        TU ]	  5         g r(   rF  r*   r+   r,   rF  r-   s     r#   r+   Enter.__init__  s    	0r"   c                    U R                   $ )z%Alias for the `node` under the mouse.rF  r1   s    r#   r   Enter.control        yyr"   rL  rF  r   r5   r6   r5   r   r   r   r   r   r    rV   r+   r   r   r!   r9   r:   s   @r#   rE  rE    s*     I
  r"   rE  c                  J   ^  \ rS rSrSrS/rSU 4S jjr\SS j5       rSr	U =r
$ )	Leavei  a>  Sent when the mouse is moved away from a widget, or if a widget is
programmatically disabled while hovered.

Note that this widget bubbles, so a widget may receive Leave events for any child widgets.
Check the `node` parameter for the original widget that was previously under the mouse.


- [X] Bubbles
- [X] Verbose
rF  c                0   > Xl          [        TU ]	  5         g r(   rH  rI  s     r#   r+   Leave.__init__  s    	Dr"   c                    U R                   $ )z9Alias for the `node` that was previously under the mouse.rL  r1   s    r#   r   Leave.control  rN  r"   rL  rO  rP  rQ  r:   s   @r#   rS  rS    s*    	 I
  r"   rS  c                  D   ^  \ rS rSrSrSSU 4S jjjrSU 4S jjrSrU =r$ )	Focusi  a`  Sent when a widget is focussed.

- [ ] Bubbles
- [ ] Verbose

Args:
    from_app_focus: True if this focus event has been sent because the app itself has
        regained focus (via an AppFocus event). False if the focus came from within
        the Textual app (e.g. via the user pressing tab or a programmatic setting
        of the focused widget).
c                .   > Xl         [        TU ]	  5         g r(   )from_app_focusr*   r+   )r,   r[  r-   s     r#   r+   Focus.__init__,  s    ,r"   c              #  ^   >#    [         TU ]  5        S h  vN   SU R                  4v   g  N7f)Nr[  )r*   r2   r[  r8  s    r#   r2   Focus.__rich_repr__0  s-     7(*** 3 333 	+r:  )r[  F)r[  rn   r5   r6   r7   r8   r:   s   @r#   rY  rY    s    
 4 4r"   rY  c                      \ rS rSrSrSrg)Bluri5  zJSent when a widget is blurred (un-focussed).

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   ra  ra  5  rv   r"   ra  c                      \ rS rSrSrSrg)AppFocusi=  zSent when the app has focus.

- [ ] Bubbles
- [ ] Verbose

Note:
    Only available when running within a terminal that supports
    `FocusIn`, or when running via textual-web.
r   Nr   r   r"   r#   rc  rc  =  rG   r"   rc  c                      \ rS rSrSrSrg)AppBluriI  zSent when the app loses focus.

- [ ] Bubbles
- [ ] Verbose

Note:
    Only available when running within a terminal that supports
    `FocusOut`, or when running via textual-web.
r   Nr   r   r"   r#   re  re  I  rG   r"   re  c                  :    \ rS rSr% SrS\S'    \SS j5       rSrg)	DescendantFocusiU  zCSent when a child widget is focussed.

- [X] Bubbles
- [X] Verbose
r   r   c                    U R                   $ )z0The widget that was focused (alias of `widget`).r   r1   s    r#   r   DescendantFocus.control`       {{r"   r   Nr5   r   	r   r   r   r   r    rC   r   r   r!   r   r"   r#   rg  rg  U  #     N& r"   rg  c                  :    \ rS rSr% SrS\S'    \SS j5       rSrg)	DescendantBlurif  zBSent when a child widget is blurred.

- [X] Bubbles
- [X] Verbose
r   r   c                    U R                   $ )z0The widget that was blurred (alias of `widget`).r   r1   s    r#   r   DescendantBlur.controlq  rj  r"   r   Nrk  rl  r   r"   r#   ro  ro  f  rm  r"   ro  c                  :   ^  \ rS rSrSrSU 4S jjrSS jrSrU =r$ )Pasteiw  aW  Event containing text that was pasted into the Textual application.
This event will only appear when running in a terminal emulator that supports
bracketed paste mode. Textual will enable bracketed pastes when an app starts,
and disable it when the app shuts down.

- [X] Bubbles
- [ ] Verbose


Args:
    text: The text that has been pasted.
c                .   > [         TU ]  5         Xl        g r(   )r*   r+   text)r,   ru  r-   s     r#   r+   Paste.__init__  s    	'r"   c              #  ,   #    SU R                   4v   g 7f)Nru  ru  r1   s    r#   r2   Paste.__rich_repr__  s     diir4   rx  )ru  rU   r5   r6   r7   r8   r:   s   @r#   rs  rs  w  s    (
   r"   rs  c                  4    \ rS rSr% SrSrS\S'    S	S jrSrg)
ScreenResumei  zGSent to screen that has been made active.

- [ ] Bubbles
- [ ] Verbose
Trn   refresh_stylesc              #  (   #    U R                   v   g 7fr(   )r|  r1   s    r#   r2   ScreenResume.__rich_repr__  s     !!!s   r   Nr7   )	r   r   r   r   r    r|  rC   r2   r!   r   r"   r#   r{  r{    s      ND8"r"   r{  c                      \ rS rSrSrSrg)ScreenSuspendi  zISent to screen when it is no longer active.

- [ ] Bubbles
- [ ] Verbose
r   Nr   r   r"   r#   r  r    rv   r"   r  c                  >   ^  \ rS rSrSrSSU 4S jjjrSS jrSrU =r$ )	Printi  aG  Sent to a widget that is capturing [`print`][print].

- [ ] Bubbles
- [ ] Verbose

Args:
    text: Text that was printed.
    stderr: `True` if the print was to stderr, or `False` for stdout.

Note:
    Python's [`print`][print] output can be captured with
    [`App.begin_capture_print`][textual.app.App.begin_capture_print].
c                <   > [         TU ]  5         Xl         X l        g r(   )r*   r+   ru  stderr)r,   ru  r  r-   s      r#   r+   Print.__init__  s    	(Gr"   c              #  D   #    U R                   v   U R                  v   g 7fr(   )ru  r  r1   s    r#   r2   Print.__rich_repr__  s     iikks    )r  ru  r_  )ru  rU   r  rn   r5   r6   r7   r8   r:   s   @r#   r  r    s    H H r"   r  c                  D    \ rS rSr% SrS\S'    SrS\S'    SrS\S	'   S
rg)DeliveryCompletei  z+Sent to App when a file has been delivered.rU   r   NzPath | Nonepathr   r   r   )	r   r   r   r   r    rC   r  r   r!   r   r"   r#   r  r    s/    5	H
 D+ D*Er"   r  c                  @    \ rS rSr% SrS\S'    S\S'    SrS\S	'   S
rg)DeliveryFailedi  z'Sent to App when a file delivery fails.rU   r   BaseException	exceptionNr   r   r   )r   r   r   r   r    rC   r   r!   r   r"   r#   r  r    s#    1	H8<D*Er"   r  c                      \ rS rSrSrSrg)TextSelectedi  zCSent from the screen when text is selected (Not Input and TextArea)r   Nr   r   r"   r#   r  r    s    Mr"   r  )r   rU   r5   rU   )Or    
__future__r   dataclassesr   pathlibr   typingr   r   r   	rich.reprrich
rich.styler	   typing_extensionsr
   textual._typesr   textual.geometryr   r   textual.keysr   textual.messager   r   textual.domr   textual.timerr   
TimerClassr   textual.widgetr   reprautor   r%   r>   rE   rI   rM   rX   rq   rt   rx   r{   r~   r   r   r   r   r   r   r   r  r"  r$  r&  r(  r*  r,  r.  rE  rS  rY  ra  rc  re  rg  ro  rs  r{  r  r  r  r  r  r   r"   r#   <module>r     s   # !  / /   " ' ) ) #m<8#1+% )G ) ) (uUD ( ( U5  	5 	5 $U $52U5 52peE4 E% eE5 5 5 E%  (5 ( (* (5 ( (&' ' 7** 7* 7*t) m
D m
 m
` 
4   
4   jt   jt   JtT   z$   jt  U"Jt U"p "E% " "6E$ 0E$ 24E% 4,5 	uU 		eE 	 eD$    U4     E$    . "5 " "E%  E%  6 FuU F F$ 
FU5 
F 
FN5 Nr"   