o
    	'f                     @  s   d Z ddlmZ ddl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 dd	lmZ er8dd
lmZ G dd deZdS )z(Provides StylesPart and related objects.    )annotationsN)TYPE_CHECKING)CONTENT_TYPE)PackURI)XmlPart)	parse_xml)Styles)
OpcPackagec                   @  s6   e Zd ZdZedddZedd Zed	d
 ZdS )
StylesPartzZProxy for the styles.xml part containing style definitions for a document or
    glossary.packager	   returnc                 C  s(   t d}tj}t|  }| ||||S )zIReturn a newly created styles part, containing a default set of elements.z/word/styles.xml)r   CT
WML_STYLESr   _default_styles_xml)clsr   partnamecontent_typeelement r   I/home/ubuntu/flask/venv/lib/python3.10/site-packages/docx/parts/styles.pydefault   s   zStylesPart.defaultc                 C  s
   t | jS )zfThe |_Styles| instance containing the styles (<w:style> element proxies) for
        this styles part.)r   r   )selfr   r   r   styles   s   
zStylesPart.stylesc                 C  sV   t jt jtd ddd}t|d}| }W d   |S 1 s$w   Y  |S )z=Return a bytestream containing XML for a default styles part.r   z..	templateszdefault-styles.xmlrbN)ospathjoinsplit__file__openread)r   r   f	xml_bytesr   r   r   r   $   s   

zStylesPart._default_styles_xmlN)r   r	   r   r
   )	__name__
__module____qualname____doc__classmethodr   propertyr   r   r   r   r   r   r
      s    
r
   )r'   
__future__r   r   typingr   docx.opc.constantsr   r   docx.opc.packurir   docx.opc.partr   docx.oxml.parserr   docx.styles.stylesr   docx.opc.packager	   r
   r   r   r   r   <module>   s    