ó
    ‰*£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     ÚU/home/mande/repo/quber/.venv/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   € ð �h‰hˆØ‰;ØØ�z‰zÐ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"   € à—Z‘ZÐ 7Ö8ˆEØ�K‰K˜Öò 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   € ð �z‰zÐ1Ó2Ð2r!   c                ó$   • U R                  S5      $ )z®All `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   € ð �z‰zØ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   € ð �h‰hˆØ‰;ØØ�y‰yÐ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      $ )z‹The 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 !—v–vÒ'Fùs   ‚zw:r | w:hyperlink)Újoinr+   r2   s    r   rE   Ú	CT_P.text_   s#   € ð �w‰wÑG t§z¡zÐ2EÔ'FÓGÓGÐGr!   c                ó*   • U R                  SU5        U$ )Nr   )Úinsertr$   s     r   Ú_insert_pPrÚCT_P._insert_pPrh   s   € Ø�‰�A�sÔØˆ
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!   