
    -Ph                      b   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZmZmZmZ dZd	Zd
ZdZdZde	ddfdZdee         dedee         fdZ G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z  G d de          Z!dS )     )Optional)nodes)
directives)addnodes)Sphinx)ReferenceRole
SphinxRole)SEMANTIC_COLORSSdDirectivemake_choice
text_alignbdgzbdg-linkzbdg-refzbutton-linkz
button-refappreturnNc                 v   |                      t          t                                 |                      t          t	                                 |                      t
          t                                 t          D ]z}|                      d                    t          |f          t          |                     |                      d                    t          |df          t          |d                     |                      d                    t          |f          t	          |                     |                      d                    t          |df          t	          |d                     |                      d                    t
          |f          t          |                     |                      d                    t
          |df          t          |d                     || 	                    t          t                     | 	                    t          t                     dS )zSetup the badge components.-lineToutlineN)add_roleROLE_NAME_BADGE_PREFIX	BadgeRoleROLE_NAME_LINK_PREFIXLinkBadgeRoleROLE_NAME_REF_PREFIXXRefBadgeRoler
   joinadd_directiveDIRECTIVE_NAME_BUTTON_LINKButtonLinkDirectiveDIRECTIVE_NAME_BUTTON_REFButtonRefDirective)r   colors     \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx_design/badges_buttons.pysetup_badges_and_buttonsr%      s   LL'555LL&888LL%}777  
 
SXX5u=>>	%@P@PQQQHH,eV<==eT***	
 	
 	
 	SXX4e<==}U?S?STTTHH+UF;<<%...	
 	
 	
 	SXX3U;<<mE>R>RSSSHH*E6:;;%...	
 	
 	
 	

 02EFFF/1CDDDDD    r#   r   c                     ddg}| |S |r|                     d|  d|  g           n|                     d|  d|  g           |S )zCreate the badge classes.sd-sphinx-overridezsd-badgeNzsd-outline-zsd-text-zsd-bg-zsd-bg-text-)extend)r#   r   classess      r$   create_bdg_classesr+   0   s     	G } B-e--/A%/A/ABCCCC(((*?*?*?@AAANr&   c                        e Zd ZdZd
dddee         deddf fdZdee	e
j                 e	e
j                 f         fd	Z xZS )r   zRole to display a badge.NFr   r#   r   r   c                d    t                                                       || _        || _        d S Nsuper__init__r#   r   selfr#   r   	__class__s      r$   r1   zBadgeRole.__init__B   +    
r&   c                     t          j        | j        | j        t	          | j        | j                            }|                     |           |gg fS )Run the role.r*   )r   inlinerawtexttextr+   r#   r   set_source_infor3   nodes     r$   runzBadgeRole.runG   sU    |LI&tz4<@@
 
 

 	T"""vrzr&   r.   __name__
__module____qualname____doc__r   strboolr1   tuplelistr   Nodesystem_messager?   __classcell__r4   s   @r$   r   r   ?   s        ""u   hsm  QU      
U4
+T%2F-GGH        r&   r   c                        e Zd ZdZd
dddee         deddf fdZdee	e
j                 e	e
j                 f         fd	Z xZS )r   z.Role to display a badge with an external link.NFr   r#   r   r   c                d    t                                                       || _        || _        d S r.   r/   r2   s      r$   r1   zLinkBadgeRole.__init__U   r5   r&   c                     t          j        | j        | j        t	          | j        | j                            }|                     |           |t          j        | j	        | j	                  z  }|gg fS )r7   refurir*   )
r   	referencer:   targetr+   r#   r   r<   r9   titler=   s     r$   r?   zLinkBadgeRole.runZ   sq    L;&tz4<@@
 
 
 	T""" 	TZ444vrzr&   r.   r@   rL   s   @r$   r   r   R   s        88u   hsm  QU      
U4
+T%2F-GGH        r&   r   c                        e Zd ZdZd
dddee         deddf fdZdee	e
j                 e	e
j                 f         fd	Z xZS )r   z.Role to display a badge with an internal link.NFr   r#   r   r   c                d    t                                                       || _        || _        d S r.   r/   r2   s      r$   r1   zXRefBadgeRole.__init__l   r5   r&   c                    t          | j        | j                  | j        | j        j        dd| j        dd}t          j        | j	        fi |}| 
                    |           |t          j        | j        | j        ddg          z  }|gg fS )r7    anyTr*   	reftargetrefdoc	refdomainreftyperefexplicitrefwarnxrefr8   )r+   r#   r   rS   envdocnamehas_explicit_titler   pending_xrefr:   r<   r   r9   rT   )r3   optionsr>   s      r$   r?   zXRefBadgeRole.runq   s     *$*dlCCh&2
 
 $T\==W==T"""TZfe_MMMMvrzr&   r.   r@   rL   s   @r$   r   r   i   s        88u   hsm  QU      
U4
+T%2F-GGH        r&   r   c                       e Zd ZdZdZdZdZdZ ee	          e
j        ee
j        e
j        e
j        e
j         eg d          e
j        d	Zdeded	ed
ee         dej        f
dZdeej                 fdZdS )_ButtonDirectivezA base button directive.   r   T)rY   refdocmyst)	r#   r   alignexpandclick-parenttooltipshadowref-typeclassr:   rS   explicit_titler*   r   c                     t           )Create the reference node.)NotImplementedErrorr3   r:   rS   rt   r*   s        r$   create_ref_nodez _ButtonDirective.create_ref_node   s
     "!r&   c                    | j         d         }t          j        |          }g d}d| j        v rPd| j        v r$|                    d| j        d                     n#|                    d| j        d                     d| j        v r|                    d           d	| j        v r|                    d
           d| j        v r |                    | j        d                    |                     ||t          | j                  |          }| 	                    |           d| j        v r| j        d         |d<   | j        rn| j
                            d                    | j                  | j        | j        z             \  }}t          j        dd          }|                    |           nt          j        ||          }|                    |           d| j        v r2t          j        dg          }| 	                    |           ||z  }|}t          j        | j                            dg                     }	| 	                    |	           |	|z  }	|	gS )Nr   )r(   zsd-btnzsd-text-wrapr#   r   zsd-btn-outline-zsd-btn-ro   zsd-stretched-linkrq   zsd-shadow-smrs   rp   reftitle
rX   rn   z	sd-d-gridr8   rm   )	argumentsr   urirf   appendr)   ry   rF   contentr<   stateinline_textr   linenocontent_offsetr   r9   	paragraphget)
r3   r:   rS   r*   r>   	textnodes_r   grid_container	containers
             r$   run_with_defaultsz"_ButtonDirective.run_with_defaults   s`   .#((BBBdl""DL((Hg1FHHIIII@g)>@@AAAT\))NN.///t|##NN>***dl""NN4<0111##GVT$,5G5GQQT"""$$#|I6D< 	3:11		$,''t7J)J LIq l2r**GNN9%%%%l6622GGt|##"\;-@@@N  000d"N!D ODL,<,<Wb,I,IJJJ	Y'''T	{r&   N)rA   rB   rC   rD   required_argumentsoptional_argumentsfinal_argument_whitespacehas_contentr   r
   r   flagr   unchanged_requiredclass_optionoption_specrE   rF   rH   r   rI   ry   r    r&   r$   rh   rh      s        "" $K_--?/"0/K = = =>>( K""$'"9="HLS	"	" " " "*4
#3 * * * * * *r&   rh   c            
       D    e Zd ZdZdedededee         dej        f
dZ	dS )	r    z)A button directive with an external link.r:   rS   rt   r*   r   c                 0    t          j        |||          S )rv   rP   )r   rR   rx   s        r$   ry   z#ButtonLinkDirective.create_ref_node   s&     
 
 
 	
r&   N
rA   rB   rC   rD   rE   rF   rH   r   rI   ry   r   r&   r$   r    r       s\        33

$'
9=
HLS	
	
 
 
 
 
 
r&   r    c            
       D    e Zd ZdZdedededee         dej        f
dZ	dS )	r"   z)A button directive with an internal link.r:   rS   rt   r*   r   c                     | j                             dd          }||| j        j        |dv rdnd||dd}t	          j        |fi |S )rv   rr   rY   >   rk   rj   stdrX   TrZ   )rf   r   rb   rc   r   re   )r3   r:   rS   rt   r*   ref_typerf   s          r$   ry   z"ButtonRefDirective.create_ref_node   sl     <##J66 h&"*n"<"<")	
 	
 $W88888r&   Nr   r   r&   r$   r"   r"      s\        3399$'99=9HLS	9	9 9 9 9 9 9r&   r"   )"typingr   docutilsr   docutils.parsers.rstr   sphinxr   sphinx.applicationr   sphinx.util.docutilsr   r	   sphinx_design.sharedr
   r   r   r   r   r   r   r   r!   r%   rE   rF   rH   r+   r   r   r   rh   r    r"   r   r&   r$   <module>r      s#               + + + + + +       % % % % % % : : : : : : : : V V V V V V V V V V V V "   * ( E& ET E E E E4hsm d tCy        
   &    M   .    M   2F F F F F{ F F FR
 
 
 
 
* 
 
 
9 9 9 9 9) 9 9 9 9 9r&   