
    CjU                        S SK Jr  S SK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  S SKJrJrJr  S	rS
rSrSrSr\R.                  R0                   " S S5      5       rSS jrg)    )annotations)IterableN)group)Padding)Table)Text)TRANSPARENTWHITEColor   z#121212z#1e1e1ez#f5f5f5z#efefefc                      \ rS rSrSr/ SQr               S                               SS jjr\SS j5       rSS jr	SS jr
SS	 jrSS
 jrSrg)ColorSystem   zDefines a standard set of colors and variations for building a UI.

Primary is the main theme color
Secondary is a second theme color
)primary	secondary
backgroundprimary-backgroundsecondary-backgroundsurfacepanelboostwarningerrorsuccessaccentNc                   SS jn[         R                  " U5      U l        U" U5      U l        U" U5      U l        U" U5      U l        U" U5      U l        U" U5      U l        U" U5      U l        U" U5      U l	        U" U	5      U l
        U" U
5      U l        U" U5      U l        Xl        Xl        Xl        U=(       d    0 U l         UU l        g )Nc                6    U c  g [         R                  " U 5      $ )N)r   parse)colors    `/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/design.pyr   #ColorSystem.__init__.<locals>.parseB   s    };;u%%    )r   
str | NonereturnzColor | None)r   r   r   r   r   r   r   r   
foregroundr   r   r   r   darkluminosity_spread
text_alpha	variablesansi)selfr   r   r   r   r   r   r%   r   r   r   r   r&   r'   r(   r)   r*   r   s                     r    __init__ColorSystem.__init__/   s    &	&
 {{7+y)W~5\
W~Fm
+
+W~5\
5\
	!2$"b/	%r"   c              #     #    U R                    HQ  n[        [        * [        S-   5       H2  nUS:  a  U S[        U5       3v   M  US:  a  U SU 3v   M.  Uv   M4     MS     g7f)z+The names of the colors and derived shades.   r   -darken-	-lighten-N)COLOR_NAMESrangeNUMBER_OF_SHADESabs)r+   r   shade_numbers      r    shadesColorSystem.shadesZ   sp      %%E %'7&79IA9M N!#"G8C,=+>??!A%"G9\N;;K !O &s   A#A%c                8    U R                   R                  X5      $ )zCGet the value of a color variable, or the default value if not set.)r)   get)r+   namedefaults      r    get_or_defaultColorSystem.get_or_defaultf   s    ~~!!$00r"   c                d    U R                   (       a  U R                  5       $ U R                  5       $ )zGenerate a mapping of color name on to a CSS color.

Returns:
    A mapping of color name on to a CSS-style encoded color
)r*   _generate_ansi	_generate)r+   s    r    generateColorSystem.generatej   s'     99&&((>>##r"   c                   U R                   nU R                  =(       d    UnU R                  =(       d    UnU R                  =(       d    UnU R                  =(       d    UnU R
                  =(       d    UnU R                  c  SOU R                  R                  nU R                  c  SOU R                  R                  n0 SUR                  _SUR                  _SUR                  _SUR                  _SUR                  _SUR                  _SU_S	U_S
U_SU_SS_SS_SS_SS_SS_SUR                  _SUR                  _0 SUR                  _SUR                  _SUR                  _SUR                  _SS_SUR                   S3_SUR                   S3_SUR                   S3_SUR                   S3_SUR                   S3_S UR                   S3_S!S_S"S_S#S_S$S%_S&S'_S(S_E0 S)S_S*S+_S,S_S-S%_S.S/_S0S_S1S2_S3S2_S4S5_S6S/_S7S_S8S/_S9S/_S:S;_S<S_S=S5_S>S2_E0 S?S@_SASB_SCS_SDS_SES%_SFS_SGS_SHS_SIS_SJS_SKS_SLSM_SNSO_SPS_SQS%_SRS_SSS'_E0 STS5_SUS_SVS;_SWS2_SXS_SYS+_SZSO_S[S_S\S'_S]SO_S^S_S_S+_S`SO_SaS_SbS;_ScS_SdS_ESeSOS/Sf.En	/ SgQn
[        Sh[        Sh-   5       H"  nU
 H  nX   X SiU 3'   X   X SjU 3'   M     M$     U	R                  U R                  5        U	$ )kz^Generate a ANSI colors.

Returns:
    A mapping of color name on to a CSS-style encoded color
ansi_defaultr   r   r   r   r   r   r   r%   r   r   r   transparentr   text
text-mutedzansi_default 50%text-disabledtext-primarytext-secondarytext-warning
text-errortext-successtext-accentr   primary-mutedz 50%secondary-mutedwarning-mutederror-mutedsuccess-mutedaccent-mutedforeground-mutedzbackground-mutedblock-cursor-foregroundblock-cursor-backgroundansi_magentablock-cursor-text-styleboldblock-cursor-blurred-foregroundblock-cursor-blurred-backgroundblock-cursor-blurred-text-stylenoneblock-hover-backgroundborderborder-blurred
ansi_blackzsurface-actrive	scrollbar	ansi_bluescrollbar-hoverscrollbar-activeansi_bright_bluescrollbar-backgroundscrollbar-corner-colorscrollbar-background-hoverscrollbar-background-active
link-style	underlinelink-backgroundlink-background-hover
link-colorlink-color-hoveransi_bright_whitelink-style-hoverznot underlinefooter-foregroundfooter-backgroundfooter-key-foregroundfooter-key-backgroundfooter-description-foregroundfooter-description-backgroundfooter-item-backgroundinput-cursor-backgroundinput-cursor-foregroundinput-cursor-text-stylereverseinput-selection-background	ansi_cyaninput-selection-foregroundmarkdown-h1-colormarkdown-h1-backgroundmarkdown-h1-text-stylemarkdown-h2-colormarkdown-h2-backgroundmarkdown-h2-text-stylemarkdown-h3-colormarkdown-h3-backgroundmarkdown-h3-text-stylemarkdown-h4-colormarkdown-h4-backgroundmarkdown-h4-text-stylemarkdown-h5-colormarkdown-h5-backgroundmarkdown-h5-text-stylemarkdown-h6-colormarkdown-h6-backgroundmarkdown-h6-text-stylebutton-foregroundbutton-color-foreground	b reverse)button-focus-text-stylescreen-selection-backgroundscreen-selection-foreground)r   r   r   r   r   r%   r   r   r   r   r   r   r   r/   r1   r0   )r   r   r   r   r   r   r   hexr%   r3   r4   updater)   )r+   r   r   r   r   r   r   r   r%   colorsSHADE_COLORSshade
color_names                r    rA   ColorSystem._generate_ansiu   sC    ,,NN-g	,,)'

'i,,+)''+'>^DOODWDW
'+'>^DOODWDW
Y"
w{{Y"
Y"
 w{{Y"
 UYY	Y"

 w{{Y"
 fjjY"
 *Y"
 *Y"
 !*Y"
 #JY"
 ]Y"
 }Y"
 NY"
 ,Y"
 /Y"
  GKK!Y"
" imm#Y"
$ GKK%Y"
& %))'Y"
( GKK)Y"
* 6::+Y"
, ]-Y"
. }D1/Y"
0 )--51Y"
2 }D13Y"
4 eii[-5Y"
6 }D17Y"
8 vzzl$/9Y"
:  2;Y"
<  2=Y"
> &~?Y"
@ &~AY"
B &vCY"
D .~EY"
F .~GY"
H .vIY"
J %nKY"
L nMY"
N lOY"
P }QY"
R SY"
T {UY"
V  2WY"
X #LYY"
Z %n[Y"
\ ),]Y"
^ *<_Y"
` +aY"
b }cY"
d $%7eY"
f +gY"
h  3iY"
j kY"
l  mY"
n  oY"
p $^qY"
r $]sY"
t ,^uY"
v ,^wY"
x %nyY"
z &~{Y"
| &~}Y"
~ &yY"
@ )+AY"
B ).CY"
D  EY"
F %mGY"
H %fIY"
J  !3KY"
L %mMY"
N %kOY"
P  QY"
R %mSY"
T %fUY"
V  WY"
X %mYY"
Z %f[Y"
\  ]Y"
^ %m_Y"
` %faY"
b  cY"
d %meY"
f %kgY"
h  iY"
j &~kY"
l (3+6+7qY"
v
 1.23E*
:@:LYug679?9KXeW56 + 4
 	dnn%r"   c                p   U R                   nU R                  nU R                  =(       d    UnU R                  =(       d    UnU R                  =(       d    UnU R
                  =(       d    UnU R                  =(       d    UnU R                  nU R                  n	0 n
U(       a[  U R                  =(       d    [        R                  " [        5      nU R                  =(       d    [        R                  " [        5      nOZU R                  =(       d    [        R                  " [        5      nU R                  =(       d    [        R                  " [         5      nU R"                  =(       d    UR$                  n[&        nUR(                  b{  UR*                  U
S'   UR*                  U
S'   UR*                  U
S'   UR*                  U
S'   UR*                  U
S'   UR*                  U
S'   U R,                  c  [&        OU R,                  nGOyUR/                  S5      nUR1                  UR3                  S5      5      R*                  U
S'   UR1                  UR3                  S5      5      R*                  U
S'   UR1                  UR3                  S5      5      R*                  U
S'   UR1                  UR3                  S5      5      R*                  U
S'   UR1                  UR3                  S5      5      R*                  U
S'   UR1                  UR3                  S5      5      R*                  U
S'   U R,                  cA  UR5                  US	S
S9nU(       a(  U R6                  =(       d    UR3                  S5      nX-  nOU R,                  nSyS jnSU4SU4SU4SU4SU4SU4SU4SU4SU4SU4SU4SU4SU4/nSS1nU H  u  nnU=(       a    UU;   nU	nU" U5       H  u  nnU U 3nUR(                  b  UR*                  U
U'   M*  U(       ah  UR5                  USSS9nUU R8                  ;  a3  UR5                  [:        UU-   SS9R<                  nUR*                  U
U'   M  U R8                  U   U
U'   M  U" UUR?                  U5      R*                  5      U
U'   M     M     UR(                  c%  U" SS5      U
S'   U" SS5      U
S'   U" S S!5      U
S '   OS"U
S'   S"U
S'   S"U
S '   U" S#UR5                  US$5      R*                  5      U
S#'   U" S%UR5                  US$5      R*                  5      U
S%'   U" S&UR5                  US$5      R*                  5      U
S&'   U" S'UR5                  US$5      R*                  5      U
S''   U" S(UR5                  US$5      R*                  5      U
S('   U" S)UR5                  US$5      R*                  5      U
S)'   U" S*UR3                  S+5      R*                  5      U
S*'   U" S,UR3                  S-5      R*                  5      U
S,'   U" S.U
S   5      U
S.'   U" S/UR*                  5      U
S/'   U" S0S15      U
S0'   U" S2UR*                  5      U
S2'   U" S3UR3                  S45      R*                  5      U
S3'   U" S5S65      U
S5'   U" S7UR3                  S	5      R*                  5      U
S7'   U" S8UR*                  5      U
S8'   U" S9URA                  S:5      R*                  5      U
S9'   U" S;UR?                  U R                  S<-  5      R*                  5      U
S;'   U" S=[        R                  " U
S>   5      UR3                  S?5      -   R*                  5      U
S='   U" S@[        R                  " U
S>   5      UR3                  SA5      -   R*                  5      U
S@'   U" SBUR*                  5      U
SB'   U" SCU
S>   5      U
SC'   U" SDU
SC   5      U
SD'   U" SEU
SC   5      U
SE'   U" SFU
SC   5      U
SF'   U" SGSH5      U
SG'   U" SIUR*                  5      U
SI'   U" SJU
S   5      U
SJ'   U" SKSL5      U
SK'   U" SMU
S   5      U
SM'   U" SNSO5      U
SN'   U" SPUR*                  5      U
SP'   U" SQUR*                  5      U
SQ'   U" SRUR*                  5      U
SR'   U" SSST5      U
SS'   U" SUUR*                  5      U
SU'   U" SVST5      U
SV'   U" SWST5      U
SW'   U" SXUR*                  5      U
SX'   U" SYUR*                  5      U
SY'   U" SZS65      U
SZ'   U" S[[        R                  " U
S\   5      R3                  S?5      R*                  5      U
S['   U" S]UR*                  5      U
S]'   U" S^UR*                  5      U
S^'   U" S_ST5      U
S_'   U" S`S15      U
S`'   U" SaUR*                  5      U
Sa'   U" SbST5      U
Sb'   U" ScSL5      U
Sc'   U" SdUR*                  5      U
Sd'   U" SeST5      U
Se'   U" SfS15      U
Sf'   U" SgUR*                  5      U
Sg'   U" ShST5      U
Sh'   U" SiSj5      U
Si'   U" SkUR*                  5      U
Sk'   U" SlST5      U
Sl'   U" SmS15      U
Sm'   U" SnU
S*   5      U
Sn'   U" SoST5      U
So'   U" SpS15      U
Sp'   U" SqUR*                  5      U
Sq'   U" SrU
S   5      U
Sr'   U" SsSt5      U
Ss'   STU
Su'   STU
Sv'   U" SwUR3                  SA5      R*                  5      U
Sw'   U" SxST5      U
Sx'   U
$ )zr@   rK   rL   rM   rN   rO   rP         ?gQ?g?r/   )alphag{Gz?c              3     #    U S-  n[        [        * [        7S-   5       HA  nUS:  a  SnOUS:  a  SnOSnU U(       a  S[        [        U5      5      -   OS 3X!-  4v   MC     g7f)	zvGet the range of shades from darken2 to lighten2.

Returns:
    Iterable of tuples (<SHADE SUFFIX, LUMINOSITY DELTA>)
   r/   r   z-darkenz-lighten -N)r3   r4   strr5   )spreadluminosity_stepnlabels       r    luminosity_range/ColorSystem._generate.<locals>.luminosity_range3  su      %qjO,,/?.?!.CDq5%EU&EEas3q6{!2R @AADWWW Es   A%A'r   r   r   r   r   r%   r   r   r   r   r   r   r   333333?rH   zauto 87%rI   zauto 60%rJ   zauto 38%rF   rQ   gffffff?rR   rV   rS   rT   rU   rW   g333333?zforeground-disabledgRQ?rX   rY   r[   r\   r]   r^   g333333?r_   r`   ra   rb   rc   g?zsurface-activeg      @re   zbackground-darken-1g?rg   g      ?rh   rj   rk   rl   rm   rp   initialrq   rr   rn   ro   rs   ru   zbold not underlinerv   rw   rx   ry   rG   rz   r{   r|   r}   r~   r   r   zprimary-lighten-1r   r   r   r   r   r   r   r   r   r   r   r   r   zbold underliner   r   r   r   r   r   r   r   r   r   zansi-backgroundzansi-foregroundr   r   )r   floatr$   zIterable[tuple[str, float]])!r=   r   r   r   r   r   r   r&   r'   r   r   r   DEFAULT_DARK_BACKGROUNDr   DEFAULT_DARK_SURFACEDEFAULT_LIGHT_BACKGROUNDDEFAULT_LIGHT_SURFACEr%   inverser	   r*   r   r   get_contrast_texttint
with_alphablendr   r)   r
   clampedlightendarken)r+   r:   r   r   r   r   r   r   r&   r'   r   r   r   r%   r   r   contrast_textr   COLORSDARK_SHADESr;   r   is_dark_shader   
shade_nameluminosity_deltakeydark_backgroundshade_colors                                r    rB   ColorSystem._generate   s    !!,,NN-g	,,)'

'i,,+)'yy 22!#PEKK8O,PJllGekk2F&GGQEKK8P,QJllHekk2G&HG__<););
"??&%,[[F>"'0}}F#$%,[[F>"#(99F< %,[[F>"$*JJF=!#'::#5K4::E&88=M%2%7%78J8J48P%Q%U%UF>"'4'9'9$$T*(c #$ &3%7%78J8J48P%Q%U%UF>"#0#5#5e6F6Ft6L#M#Q#QF< %2%7%78J8J48P%Q%U%UF>"$1$6$6v7H7H7N$O$S$SF=!zz!gs!< JJH-*B*B4*HENE

	X$  )$!7+#Y/:&:&ee  e v+
" ,-CD!KD% 8T[%8M&F0@0H,
,zl+::)"'))F3K"&0&6&6ud#&6&NO$..0&5&;&;!6,<#<C '< '!' $ '2oos&*nnS&9s"%c5==9I+J+N+N"OF3K 1I "& ??" 4F6N#&|Z#@F< &)/:&FF?#+F6N#1F< &4F?# #&W]]:s;??#
 %(yz3?CC%
 ! "%^V\\*c5R5V5V!W~"%W]]:s;??#
 !$M5;;z33O3S3S T}"%W]]:s;??#

 &)
 5 5c : > >&
!" ),!:#8#8#>#B#B)
$%
 -0%vf~-
() -00I7;;,W(),/0I6,R()47-z~~5
01 58-w/A/A#/F/J/J5
01 58-v5
01 ,/$e&6&6s&;&?&?,
'(
 x5x#&'79N9R9R#S  $'good.D.Ds.JKOO$
 
 "[[ 567':L:LS:QQVV
{ %([[ 567':L:LS:QQVV%
 !
 &));W[[%I!"),"F+@$A*
%& ,/$f-C&D,
'( 03(&1G*H0
+, 14)62H+I1
,-
 %((99$E !*-.Ew{{*S&'"<@|"<=|%();VF^%L!"%();=Q%R!"&)*=z~~&N"#&)*=uyy&I"#*-.Evzz*R&'*-.E}*U&'25+Z^^3
./ 36+]3
./ ,//G+W'(,/%z~~-
() -0%z~~-
() -00I6,R()/2(KK234??DHH0
+, 03(*..0
+,
 '**=w{{&K"#+./G+W'(+./G+P'(&)*=w{{&K"#+./G+W'(+./G+U'(&)*=w{{&K"#+./G+W'(+./G+P'(&)*=z~~&N"#+./G+W'(+.$&6,
'( '**=z~~&N"#+./G+W'(+./G+P'(&)(:!;'
"# ,//G+W'(+./G+P'(&)*=z~~&N"#,/%vf~-
() -00I;,W()$1 !$1 !03)7+=+=c+B+F+F1
,- 14)=1
,- r"   )r   r*   r   r   r&   r   r%   r'   r   r   r   r   r   r(   r)   r   )NNNNNNNNNNFr   gffffff?NF) r   r   r   r#   r   r#   r   r#   r   r#   r   r#   r%   r#   r   r#   r   r#   r   r#   r   r#   r&   boolr'   r   r(   r   r)   zdict[str, str] | Noner*   r   )r$   zIterable[str])r;   r   r<   r   r$   r   )r$   zdict[str, str])__name__
__module____qualname____firstlineno____doc__r2   r,   propertyr7   r=   rC   rA   rB   __static_attributes__ r"   r    r   r      s   K$ !%" "!!%!%"  #' +/#)&)& )& 	)&
 )& )& )& )& )& )& )& )& )& !)& )&  )!)&" #)&V 	  	 1	$AFZr"   r   c                    [        5       S	S j5       n[        SSS9nUR                  SSS9  UR                  SSS9  UR                  U" U 5      U" U5      5        U$ )
zGenerate a renderable to show color systems.

Args:
    light: Light ColorSystem.
    dark: Dark ColorSystem

Returns:
    Table showing all colors.
c              3  .  #    U R                  5       nU R                   Hq  n[        R                  " X   5      R	                  S5      nX3R                  S5      -   n[        SU 35      n[        USUR                   SUR                   3S9v   Ms     g 7f)Nr   g?$r/   z on )style)	rC   r7   r   r   r   r   r   r   hex6)systemr   r;   r   r%   rH   s         r    make_shades show_design.<locals>.make_shades   s     "MMDV\2==cBJ#&B&B3&GGJ!D6
#D$JOO+<D@Q)RSS "s   BBNT)boxexpandLightcenter)justifyDark)r   r   )r   r   
add_columnadd_row)lightr&   r   tables       r    show_designr     sk     WT T d4(E	Wh/	VX.	MM+e$k$&78Lr"   )r   r   r&   r   r$   r   )
__future__r   typingr   	rich.reprrichrich.consoler   rich.paddingr   
rich.tabler   	rich.textr   textual.colorr	   r
   r   r4   r   r   r   r   reprautor   r   r   r"   r    <module>r      sj    "        3 3  $   ! $  y y yxr"   