
    )jJ                     N   d dl Z d dlmZ d Zd Zd Z G d d          Z ed          Z ed	          Z ed
          Z	 e
e                                          Ze                    d           d Zd Zd Zedk    r" ed            e              ed           dS dS )    N)Pathc                     t          t                    j        j        t          |           z  }t          |d          5 }t	          j        |          cd d d            S # 1 swxY w Y   d S )Nr)r   __file__parentopenjsonload)name	file_pathfs      X/DATA/AppData/hermes/venv/lib/python3.11/site-packages/trame_client/widgets/generator.py	load_jsonr      s    X%,tDzz9I	i		 y||                 s   A  A$'A$c                 J    t          | t          t          f          r| S d|  dS )N"
isinstancetuplelistvs    r   to_strr      s*    !eT]## q888O    c                 N    t          | t          t          f          r| d         S | S )Nr   r   r   s    r   
to_doc_strr      s&    !eT]## tHr   c                       e Zd Zd Zd ZdS )	HtmlEntryc                     |                                 | _        || _        t          t	          t
          |                    | _        t          t	          t
          |                    | _        || _        || _	        d S )N)

capitalizer   html_elementr   mapr   html_attributeshtml_events
_raw_props_raw_events)selfr    r"   r#   s       r   __init__zHtmlEntry.__init__   sf     ++--	(#C$@$@AAFK 8 899)&r   c                    g }|                     d| j         d           |                     d           |                     d           | j        D ](}|                     dt          |           d           )|                     d           | j        D ](}|                     dt          |           d           )|                     d           |                     d	           |                     d
| j         d           t          | j                  rM|                     d           | j        D ]}|                     d| d           |                     d           t          | j                  rM|                     d           | j        D ]}|                     d| d           |                     d           |                     d           d	                    |          S )Nzclass z(HtmlElement):z    """z    Properties:
z    :param :z
    Events:
z
    """z0    def __init__(self, children=None, **kwargs):z        super().__init__("z", children, **kwargs)z        self._attr_names += [z            ,z	        ]z        self._event_names += [ 
)
appendr   r$   r   r%   r    lenr"   r#   join)r&   linesr   attrevents        r   __str__zHtmlEntry.__str__    s   7di777888Y()))O 	< 	<DLL:z$'7'7:::;;;;&'''$ 	< 	<DLL:z$'7'7:::;;;;[!!!GHHHR):RRR	
 	
 	

 t#$$ 	&LL8999, 5 53D3334444LL%%% t#$$ 	&LL9:::) 6 64E4445555LL%%%Ryyr   N)__name__
__module____qualname__r'   r3    r   r   r   r      s2        ' ' '         r   r   zresources/attributes.jsonzresources/events.jsonzresources/vue.json*c                     t                               dg           t          d                             dg           z   t                               | g           z   t          d                             | g           z   S )Nr8   
attributes)HTML_ATTRIBUTESget
HTML_VUEJSr   s    r   r:   r:   K   sn    C$$
\
"
&
&sB
/
/	0


dB
'
'	( \
"
&
&tR
0
0	1r   c                     t                               dg           t          d                             dg           z   t                               | g           z   t          d                             | g           z   S )Nr8   events)HTML_EVENTSr<   r=   r>   s    r   r@   r@   T   sj    R  
X

"
"3
+
+	,
//$
#
#	$ X

"
"4
,
,	-r   c                     t          t                    j        t          d          z  } g d}|                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d	           |                    d
           t          D ]-}|                    d|                                 d           .|                    d           t          D ]M}|                    t          t          |t          |          t          |                                         Nt          | d          5 }|                    d                    |                     d d d            d S # 1 swxY w Y   d S )Nzhtml.py)z# Generated file - DO NOT EDITzfrom .core import (z   HtmlElement,z   Template,z   Component,z   Transition,z   TransitionGroup,z   KeepAlive,z   Teleport,z   Suspense,)zfrom .. import moduler+   zHtmlElement.MODULE = moduler+   z__all__ = [z    "Template",z    "Component",z    "Transition",z    "TransitionGroup",z    "KeepAlive",z    "Teleport",z    "Suspense",z    "z",z]

wr,   )r   r   r   r-   HTML_ELEMENTSr   strr   r:   r@   r   writer/   )dst_fileoutputelemr   s       r   generate_html_elementsrK   ]   s   H~~$tI6H  F& MM-   
MM#$$$
MM$%%%
MM%&&&
MM*+++
MM$%%%
MM#$$$
MM#$$$ 5 53doo//3334444
MM'  L Lc)D*T*:*:F4LLIIJJKKKK	h		 #			&!!"""# # # # # # # # # # # # # # # # # #s   )F;;F?F?__main__zGenerating HTML elements...zDone...)r	   pathlibr   r   r   r   r   r;   rA   r=   setkeysrE   discardr:   r@   rK   r4   printr7   r   r   <module>rR      sP               (  (  (  (  (  (  (  ( X )788i/00Y+,,
O((**++   c       &# &# &#R z	E
'(((	E) r   