
    Cj                    &   S SK Jr  S SKJrJr  S SKJr  S SKJr  S SK	J
r
JrJrJrJr  S SKJrJr  S SKJr  S SKJr  S S	KJrJrJrJrJr  S
r " S S\SSS9r " S S\5      r\S:X  a)  S SKJ r    " S S\ 5      r!\!" 5       r"\"RG                  5         gg)    )annotations)eventson)ComposeResult)Binding)Center
HorizontalItemGridVerticalVerticalScroll)PROJECTSProjectInfo)STARS)
PageScreen)FooterLabelLinkMarkdownStaticz# Projects

There are many amazing Open Source Textual apps available for download.
And many more still in development.

See below for a small selection!
c                     ^  \ rS rSrSrSrSr\" SSSSS	9/rSU 4S
 jjr	SS jr
\" \R                  5      \" \R                  5      SS j5       5       rSS jrSrU =r$ )Project   z0Display project information and open repo links.Ta  
    Project {
        width: 1fr;
        height: auto;
        padding: 0 1;
        border: tall transparent;
        &:ansi {
            border: blank;
            &:focus {
                background: $panel;
            }
        }
        box-sizing: border-box;
        &:focus {
            border: tall $text-primary;
            background: $primary 20%;
            &.link {
                color: red !important;
            }
        }
        #title { text-style: bold; width: 1fr; }
        #author { text-style: italic; }
        .stars {
            color: $text-accent;
            text-align: right;
            text-style: bold;
            width: auto;
        }
        .header { height: 1; }
        .link {
            color: $text-accent;
            text-style: underline;
        }
        .description { color: $text-muted; }
        &.-hover { opacity: 1; }
    }
    enteropen_repositoryz	open repoz*Open the GitHub repository in your browsertooltipc                .   > Xl         [        TU ]	  5         g N)project_infosuper__init__)selfr   	__class__s     g/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/demo/projects.pyr!   Project.__init__I   s    (    c              #  Z  #    U R                   n[        SS9   [        UR                  SS9v   [        S[        UR                      3SS9v   S S S 5        [        UR
                  SS9v   [        UR                  SS	9v   [        UR                  S
S9v   g ! , (       d  f       NQ= f7f)Nheader)classestitle)idu   ★ starsauthorz Click to open project repositoryr   description)
r   r	   r   r*   r   r-   r   urlr   r.   )r"   infos     r$   composeProject.composeM   s       )

w//$uTZZ012GDD * DKKH--488%GHHT%%}== *)s   B+7BAB+
B($B+c                \    UR                  5         U R                  U R                  S5        g )Nz-hover)stop	set_classis_mouse_over)r"   events     r$   on_enterProject.on_enterV   s!     	

t))84r&   c                b    U R                   R                  U R                  R                  5        g r   )appopen_urlr   r/   r"   s    r$   action_open_repositoryProject.action_open_repository\   s     $++//0r&   )r   )r   r   returnNoner@   r   )r7   zevents.Enter)r@   rA   )__name__
__module____qualname____firstlineno____doc__ALLOW_MAXIMIZEDEFAULT_CSSr   BINDINGSr!   r1   r   r   EnterLeaver8   r>   __static_attributes____classcell__)r#   s   @r$   r   r      sr    :N$KN 	@		
H> 5  51 1r&   r   TF)	can_focuscan_focus_childrenc                  &    \ rS rSrSrSrSS jrSrg)ProjectsScreen`   Na  
    ProjectsScreen {
        align-horizontal: center;
        ItemGrid {
            margin: 2 4;
            padding: 1 2;
            background: $boost;
            width: 1fr;
            height: auto;
            grid-gutter: 1 1;
            grid-rows: auto;
            keyline:thin $foreground 30%;
            &:ansi {
                keyline: thin $border-blurred;
            }
        }
        Markdown { margin: 0; padding: 0 2; max-width: 100; background: transparent; }
    }
    c              #  ^  #    [        5        nSUl        [        5          [        [        5      v   S S S 5        [        SS9   [         H  n[        U5      v   M     S S S 5        S S S 5        [        5       v   g ! , (       d  f       NO= f! , (       d  f       N4= f! , (       d  f       N== f7f)NF(   )min_column_width)	r   rO   r   r   PROJECTS_MDr
   r   r   r   )r"   	containerprojects      r$   r1   ProjectsScreen.composev   sq     "'I{++ 2.'G!'**  ( /	  h ..	 sJ   B-BA:BBB%B-:
B	B
B	B
B*&B- rB   )rC   rD   rE   rF   
AUTO_FOCUSCSSr1   rM   r[   r&   r$   rR   rR   `   s    JC(r&   rR   __main__)Appc                      \ rS rSrSS jrSrg)GameApp   c                    [        5       $ r   )rR   r=   s    r$   get_default_screenGameApp.get_default_screen   s    !##r&   r[   N)r@   Screen)rC   rD   rE   rF   rd   rM   r[   r&   r$   ra   ra      s    	$r&   ra   N)$
__future__r   textualr   r   textual.appr   textual.bindingr   textual.containersr   r	   r
   r   r   textual.demo._project_datar   r   textual.demo._project_starsr   textual.demo.pager   textual.widgetsr   r   r   r   r   rW   r   rR   rC   r_   ra   r;   runr[   r&   r$   <module>rq      s}    "  % # U U < - ( A AG1h$5 G1TZ B z$# $ )CGGI r&   