
    ei-                         d Z ddlmc mZ ddlmZmZ ddlmZ ddl	Z	 e	j                  d      Z G d d	e      Z G d
 de      Zd Zy)zAdmonitions.    N   )Blocktype_html_identifier   )BlocksExtensionz[_-]+c                   8    e Zd ZdZdZdZddefiZdZdZ	d Z
d Zy)
Admonitiona  
    Admonition.

    Arguments (1 optional):
    - A title.

    Options:
    - `type` (string): Attach a single special class for styling purposes. If more are needed,
      use the built-in `attributes` options to apply as many classes as desired.

    Content:
    Detail body.
    
admonitionNtype c                     | j                   dk7  rkd| j                   i| j                  d<   | j                  r| j                  | j                  d   d<   | j                  r| j                  | j                  d   d<   y)zHandle on validate event.r
   namer   titleclassT)NAMEoptions	DEF_TITLE	DEF_CLASS)selfparents     \/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/pymdownx/blocks/admonition.pyon_validatezAdmonition.on_validate!   sf     99$$*DII#6DLL ~~04V$W-~~04V$W-    c                 x   dg}| j                   d   }dx}x}}t        |t              rL|d   }|j                  d|      }|j                  dt        j                  d|      j                               }n8t        |t              r(|}|}t        j                  d|      j                         }|r|dk7  r|j                  |       t        j                  |dddj                  |      i      }d	}| j                  |r|}n| j                  r| j                  }| t        j                  |d
ddi      }	||	_        |S )zCreate the element.r
   r   r   r   r   r    divNpzadmonition-title)r   
isinstancedictgetRE_SEPsubr   strappendetree
SubElementjoinargumenttext)
r   r   classesobjatype	def_title
class_nameelr   ad_titles
             r   	on_createzAdmonition.on_create,   s+     .ll6")+++	Jc4 KE%0JC)D)J)J)LMIS!EJ

3.446IUl*NN:& fegsxx7H-IJ == !]]MME''C';M1NOH!HM	r   )__name__
__module____qualname____doc__r   ARGUMENTr   OPTIONSr   r   r   r1    r   r   r	   r	   
   s;     DH)*G II	"r   r	   c                   (     e Zd ZdZ fdZd Z xZS )AdmonitionExtensionzAdmonition Blocks Extension.c                 >    dg ddgi| _         t        |   |i | y)zInitialize.types)	note	attentioncautiondangererrortiphintwarning	importantz9Generate Admonition block extensions for the given types.N)configsuper__init__)r   argskwargs	__class__s      r   rH   zAdmonitionExtension.__init__T   s0     jK
 	$)&)r   c                    |j                  t        | j                                | j                  dg       D ]  }t	        |t
              rL|d   }|j                  d|      }|j                  dt        j                  d|      j                               }n(|}|}t        j                  d|      j                         }t        j                  d|      j                         }|j                  t        |t        fi |||d      i         y)	zExtend Markdown blocks.r<   r   r   r   r   r   )r7   r   r   r   N)registerr	   
getConfigs	getConfigr   r   r    r!   r"   r   r   )r   md	block_mgrr+   r   r.   r   subclasss           r   extendMarkdownBlocksz(AdmonitionExtension.extendMarkdownBlocks`   s     	:t'89 >>'2. 	C#t$6{ WWWd3
C)D)J)J)LM!


3
399;zz"d+113HM "DuS]^
 	r   )r2   r3   r4   r5   rH   rS   __classcell__)rK   s   @r   r:   r:   Q   s    &
*r   r:   c                      t        | i |S )zReturn extension.)r:   )rI   rJ   s     r   makeExtensionrV   z   s     ///r   )r5   xml.etree.ElementTreer%   ElementTreeblockr   r   blocksr   recompiler!   r	   r:   rV   r8   r   r   <module>r]      sH     % % . % 		H	D DN&/ &R0r   