Xj)dZddlmZddlmZddlmZmZmZddl m Z m Z m Z m Z mZdZGdde ZGd d e ZGd d e ZGd de Zy)z2Custom element classes related to the styles part.) annotations) WD_STYLE_TYPE)ST_DecimalNumberST_OnOff ST_String)BaseOxmlElementOptionalAttributeRequiredAttribute ZeroOrMore ZeroOrOnec \ddddddddd d d j||jd d S)zlReturn the style id corresponding to `name`, taking into account special-case names such as 'Heading 1'.CaptionHeading1Heading2Heading3Heading4Heading5Heading6Heading7Heading8Heading9) captionz heading 1z heading 2z heading 3z heading 4z heading 5z heading 6z heading 7z heading 8z heading 9 )getreplace)names d/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/docx/oxml/styles.pystyleId_from_namersE  c$ S"%& 'ceZdZdZeddZedeZede Z ede Z ede Z ed eZ ed e Zd Zd Zd Zy)CT_LatentStylesz`w:latentStyles` element, defining behavior defaults for latent styles and containing `w:lsdException` child elements that each override those defaults for a named latent style.zw:lsdException successorszw:countzw:defLockedStatez w:defQFormatzw:defSemiHiddenzw:defUIPriorityzw:defUnhideWhenUsedc$t||}|y|S)z`Return the boolean value of the attribute having `attr_name`, or |False| if not present.Fgetattrself attr_namevalues r bool_propzCT_LatentStyles.bool_prop/si( = r c:|jd|z}|sy|dS)zHReturn the `w:lsdException` child having `name`, or |None| if not found.zw:lsdException[@w:name="%s"]Nrxpath)r*rfounds r get_by_namezCT_LatentStyles.get_by_name7s% 9D@AQxr c0t||t|yz7Set the on/off attribute having `attr_name` to `value`.N)setattrboolr)s r set_bool_propzCT_LatentStyles.set_bool_prop>sie-r N)__name__ __module__ __qualname____doc__r lsdExceptionr rcountrdefLockedState defQFormat defSemiHidden defUIPrioritydefUnhideWhenUsedr-r2r7r#r rr"r"!st.2>L i)9 :E&'98DN">8`` element, defining override visibility behaviors for a named latent style.w:lockedw:name w:qFormat w:semiHidden w:uiPriorityw:unhideWhenUsedcB|jj|y)z;Remove this `w:lsdException` element from the XML document.N getparentremover*s rdeletezCT_LsdException.deleteN %r ct||S)z_Return the boolean value of the attribute having `attr_name`, or |None| if not present.r')r*r+s r on_off_propzCT_LsdException.on_off_propRstY''r ct|||yr4)r5r)s rset_on_off_propzCT_LsdException.set_on_off_propWsi'r N)r8r9r:r;r rlockedr rrqFormat semiHiddenr uiPriorityunhideWhenUsedrPrSrUr#r rrDrDCsbz8 4F Xy 1D X6G">83CDJ&'98DN&( (r rDc eZdZUdZdZededdZededdZed ed dZed ed dZ ed eddZ ededdZ ededdZ ededdZ ededdZededdZ[edeZded<edeZded<edeZed eZed!Zej6d"Zed#Zd$Zed%Zej6d&Zed'Zej6d(Zed)Z ed*Z!e!j6d+Z!ed,Z"e"j6d-Z"ed.Z#e#j6d/Z#ed0Z$e$j6d1Z$y)2CT_Stylez9A ```` element, representing a style definition.)rFz w:aliases w:basedOnw:nextzw:linkzw:autoRedefinezw:hiddenrIrHrJrGrEz w:personalzw:personalComposezw:personalReplyzw:rsidw:pPrw:rPrzw:tblPrzw:trPrzw:tcPrz w:tblStylePrrFNr$r]r^rIrH rJ rG rE r_r`zw:typezWD_STYLE_TYPE | Nonetypez w:styleIdz str | NonestyleIdz w:defaultz w:customStylec8|j}|y|jS)z5Value of `w:basedOn/@w:val` or |None| if not present.N)basedOnval)r*rns r basedOn_valzCT_Style.basedOn_vals,, ?{{r cT||jy||j_yN)_remove_basedOnget_or_add_basedOnror*r,s rrpzCT_Style.basedOn_vals$ =  ",1D # # % )r c|j}|y|j}|j|j}|y|S)zkSibling CT_Style element this style is based on or |None| if no base style or base style not found.N)rnrM get_by_idro)r*rnstyles base_styles rryzCT_Style.base_stylesD,, ?!%%gkk2  r cB|jj|y)zARemove this `w:style` element from its parent `w:styles` element.NrLrOs rrPzCT_Style.deleterQr c8|j}|y|jS)z5Value of `w:locked/@w:val` or |False| if not present.F)rVro)r*rVs r locked_valzCT_Style.locked_vals >zzr cn|jt|dur|j}||_yyNT)_remove_lockedr6 _add_lockedro)r*r,rVs rr|zCT_Style.locked_vals4  ;$ %%'FFJ r c8|j}|y|jS)z5Value of ```` child or |None| if not present.N)rro)r*rs rname_valzCT_Style.name_valsyy <xxr cX|j||j}||_yyrr) _remove_name _add_namero)r*r,rs rrzCT_Style.name_vals,   >>#DDH r cv|j}|y|j}|j|jS)zSibling CT_Style element identified by the value of `w:name/@w:val` or |None| if no value is present or no style with that style id is found.N)nextrMrwro)r*rrxs r next_stylezCT_Style.next_styles6yy <!))r c8|j}|y|jS)z6Value of `w:qFormat/@w:val` or |False| if not present.F)rWro)r*rWs r qFormat_valzCT_Style.qFormat_vals,, ?{{r c\|jt|r|jyyrr)_remove_qFormatr6 _add_qFormatrus rrzCT_Style.qFormat_vals&  ;     r c8|j}|y|jS)z`` child or |False| if not present.F)rXro)r*rXs rsemiHidden_valzCT_Style.semiHidden_vals __  ~~r cn|jt|dur|j}||_yyr~)_remove_semiHiddenr6_add_semiHiddenro)r*r,rXs rrzCT_Style.semiHidden_vals4 ! ;$ --/J"JN r c8|j}|y|jS)z;Value of ```` child or |None| if not present.N)rYro)r*rYs ruiPriority_valzCT_Style.uiPriority_vals __  ~~r cX|j||j}||_yyrr)_remove_uiPriority_add_uiPriorityro)r*r,rYs rrzCT_Style.uiPriority_vals. !  --/J"JN r c8|j}|y|jS)z=Value of `w:unhideWhenUsed/@w:val` or |False| if not present.F)rZro)r*rZs runhideWhenUsed_valzCT_Style.unhideWhenUsed_vals$,,  !!!!r cn|jt|dur|j}||_yyr~)_remove_unhideWhenUsedr6_add_unhideWhenUsedro)r*r,rZs rrzCT_Style.unhideWhenUsed_vals5 ##% ;$ !557N!&N  r )%r8r9r:r;_tag_seqr rrnrrYrXrZrWrVpPrrPrr rrk__annotations__rrlrdefault customStylepropertyrpsetterryrPr|rrrrrrr#r rr\r\\szCH0 X(12, 7D  =G X(12, 7D>hqrlCJ>hqrlCJ1hrsmLN  >G zhrsm K 22   & __ **  ## ## ""''r r\cfeZdZdZdZededdZeddZ[d Z d Z dd Z dd Z d Z y) CT_StyleszK```` element, the root element of a styles part, i.e. styles.xml.)z w:docDefaultsw:latentStylesw:stylerNr$rr#cx|j}||_|rdnd|_t||_||_|S)zReturn a newly added `w:style` element having `name` and `style_type`. `w:style/@customStyle` is set based on the value of `builtin`. NT) add_stylerkrrrlr)r*r style_typebuiltinstyles radd_style_of_typezCT_Styles.add_style_of_types;   $+D)$/  r c|jDcgc]!}|j|k(s|js |#}}|sy|dScc}w)zEReturn `w:style[@w:type="*{style_type}*][-1]` or |None| if not found.N) _iter_stylesrkr)r*rsdefault_styles_for_types r default_forzCT_Styles.default_for$sQ((*# aff .BqyyA# # '&r** # sA AAcVd|d}tt|j|dS)zR`w:style` child where @styleId = `styleId`. |None| if not found. zw:style[@w:styleId="z"]Nriterr0)r*rlr0s rrwzCT_Styles.get_by_id.s- 'wir2DE*+T22r cTd|z}tt|j|dS)zd`w:style` child with `w:name` grandchild having value `name`. |None| if not found. zw:style[w:name/@w:val="%s"]Nr)r*rr0s rr2zCT_Styles.get_by_name6s) .4DE*+T22r c2d|jdDS)z@Generate each of the `w:style` child elements in document order.c3 K|]}|ywrrr#).0rs r z)CT_Styles._iter_styles..@s9%9s rr/rOs rrzCT_Styles._iter_styles>s94::i#899r )rlstrreturnCT_Style | None)rrrr)r8r9r:r;rr latentStylesr rrrrwr2rr#r rrrsEU=H-(12,GL yR 0E +33:r rN)r; __future__rdocx.enum.stylerdocx.oxml.simpletypesrrrdocx.oxml.xmlchemyrr r r r rr"rDr\rr#r rrsW8")GG'".o.D(o(2q'q'h0:0:r