
    h                        S r SSKJr  SSKJrJrJrJr  SSKJ	r	  SSK
JrJrJr  \(       a$  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  SSKJr   " S S\5      rg)z4Custom element classes related to paragraphs (CT_P).    )annotations)TYPE_CHECKINGCallableListcast)OxmlElement)BaseOxmlElement
ZeroOrMore	ZeroOrOne)WD_PARAGRAPH_ALIGNMENT)	CT_SectPr)CT_Hyperlink)CT_LastRenderedPageBreak)CT_PPr)CT_Rc                  P   \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   \" S5      rS\S'   \" S5      r	\" S5      r
SS jr\SS j5       r\R                  SS j5       rS r\S S j5       r\S!S j5       rS"S jr\S#S j5       r\R                  S$S j5       r\S 5       rS%S jrSrg)&CT_P   zD`<w:p>` element, containing the properties and text for a paragraph.zCallable[[], CT_R]add_rzCallable[[], CT_PPr]get_or_add_pPrzList[CT_Hyperlink]hyperlink_lstz
List[CT_R]r_lstzw:pPrzCT_PPr | NonepPrzw:hyperlinkzw:rc                Z    [        [        [        S5      5      nU R                  U5        U$ )zAReturn a new `<w:p>` element inserted directly prior to this one.zw:p)r   r   r   addprevious)selfnew_ps     J/var/www/html/env/lib/python3.13/site-packages/docx/oxml/text/paragraph.pyadd_p_beforeCT_P.add_p_before!   s&    T;u-.    c                :    U R                   nUc  gUR                  $ )zFThe value of the `<w:jc>` grandchild element or |None| if not present.N)r   jc_valr   r   s     r   	alignmentCT_P.alignment'   s     hh;zzr!   c                0    U R                  5       nXl        g N)r   r#   )r   valuer   s      r   r%   r&   /   s    !!#
r!   c                V    U R                  S5       H  nU R                  U5        M     g)zCRemove all child elements, except the `<w:pPr>` element if present.z./*[not(self::w:pPr)]N)xpathremove)r   childs     r   clear_contentCT_P.clear_content4   s"    ZZ 78EKK 9r!   c                $    U R                  S5      $ )zCRun and hyperlink children of the `w:p` element, in document order.z./w:r | ./w:hyperlinkr+   r   s    r   inner_content_elementsCT_P.inner_content_elements9   s     zz122r!   c                $    U R                  S5      $ )zAll `w:lastRenderedPageBreak` descendants of this paragraph.

Rendered page-breaks commonly occur in a run but can also occur in a run inside
a hyperlink. This returns both.
zI./w:r/w:lastRenderedPageBreak | ./w:hyperlink/w:r/w:lastRenderedPageBreakr1   r2   s    r   lastRenderedPageBreaksCT_P.lastRenderedPageBreaks>   s     zzW
 	
r!   c                f    U R                  5       nUR                  5         UR                  U5        g)zJUnconditionally replace or add `sectPr` as grandchild in correct sequence.N)r   _remove_sectPr_insert_sectPr)r   sectPrr   s      r   
set_sectPrCT_P.set_sectPrI   s*    !!#6"r!   c                :    U R                   nUc  gUR                  $ )z`String contained in `w:val` attribute of `./w:pPr/w:pStyle` grandchild.

|None| if not present.
N)r   styler$   s     r   r?   
CT_P.styleO   s     hh;yyr!   c                0    U R                  5       nXl        g r(   )r   r?   )r   r?   r   s      r   r?   r@   Z   s    !!#	r!   c                P    SR                  S U R                  S5       5       5      $ )zThe textual content of this paragraph.

Inner-content child elements like `w:r` and `w:hyperlink` are translated to
their text equivalent.
 c              3  8   #    U  H  oR                   v   M     g 7fr(   )text).0es     r   	<genexpr>CT_P.text.<locals>.<genexpr>f   s     G'F!vv'Fs   zw:r | w:hyperlink)joinr+   r2   s    r   rE   	CT_P.text_   s#     wwGtzz2E'FGGGr!   c                *    U R                  SU5        U$ )Nr   )insertr$   s     r   _insert_pPrCT_P._insert_pPrh   s    As
r!    N)returnr   )rQ   zWD_PARAGRAPH_ALIGNMENT | None)r)   r   )rQ   zList[CT_R | CT_Hyperlink])rQ   zList[CT_LastRenderedPageBreak])r;   r   )rQ   
str | None)r?   rR   )r   r   rQ   r   )__name__
__module____qualname____firstlineno____doc____annotations__r   r   r
   	hyperlinkrr   propertyr%   setterr.   r3   r6   r<   r?   rE   rN   __static_attributes__rP   r!   r   r   r      s    N((%%"7+C+=)I5A    
 3 3 
 
#   \\  H Hr!   r   N)rW   
__future__r   typingr   r   r   r   docx.oxml.parserr   docx.oxml.xmlchemyr	   r
   r   docx.enum.textr   docx.oxml.sectionr   docx.oxml.text.hyperlinkr   docx.oxml.text.pagebreakr   docx.oxml.text.parfmtr   docx.oxml.text.runr   r   rP   r!   r   <module>rh      s?    ; " 6 6 ( E E5+5A,'U? Ur!   