
    mjJ                        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j                               Zej                  d       d Zd Zd Zedk(  r ed        e         ed       yy)    N)Pathc                     t        t              j                  j                  t        |       z  }t        |d      5 }t	        j
                  |      cd d d        S # 1 sw Y   y xY w)Nr)r   __file__parentopenjsonload)name	file_pathfs      K/DATA/.local/lib/python3.12/site-packages/trame_client/widgets/generator.py	load_jsonr      sC    X%%,,tDz9I	i	yy| 
		s   AA$c                 >    t        | t        t        f      r| S d|  dS )N"
isinstancetuplelistvs    r   to_strr      s"    !eT]#qc8O    c                 <    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y)	HtmlEntryc                     |j                         | _        || _        t        t	        t
        |            | _        t        t	        t
        |            | _        || _        || _	        y )N)

capitalizer   html_elementr   mapr   html_attributeshtml_events
_raw_props_raw_events)selfr    r"   r#   s       r   __init__zHtmlEntry.__init__   sQ     ++-	(#C$@AFK 89)&r   c                    g }|j                  d| j                   d       |j                  d       |j                  d       | j                  D ]   }|j                  dt        |       d       " |j                  d       | j                  D ]   }|j                  dt        |       d       " |j                  d       |j                  d	       |j                  d
| j
                   d       t        | j                        rH|j                  d       | j                  D ]  }|j                  d| d        |j                  d       t        | j                        rH|j                  d       | j                  D ]  }|j                  d| d        |j                  d       |j                  d       dj                  |      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   vdii[78Y()OODLL;z$'7&8:; $&'$$DLL;z$'7&8:; %[!GH():):(;;QR	

 t##$LL89,,|D634 -LL% t##$LL9:))|E7!45 *LL%Ryyr   N)__name__
__module____qualname__r'   r3    r   r   r   r      s    ' r   r   zresources/attributes.jsonzresources/events.jsonzresources/vue.json*c                     t         j                  dg       t        d   j                  dg       z   t         j                  | g       z   t        d   j                  | g       z   S )Nr8   
attributes)HTML_ATTRIBUTESget
HTML_VUEJSr   s    r   r:   r:   K   sb    C$
\
"
&
&sB
/	0


dB
'	( \
"
&
&tR
0	1r   c                     t         j                  dg       t        d   j                  dg       z   t         j                  | g       z   t        d   j                  | g       z   S )Nr8   events)HTML_EVENTSr<   r=   r>   s    r   r@   r@   T   s^    R 
X

"
"3
+	,
//$
#	$ X

"
"4
,	-r   c                     t        t              j                  t        d      z  } g d}|j                  d       |j                  d       |j                  d       |j                  d       |j                  d       |j                  d       |j                  d	       |j                  d
       t        D ]%  }|j                  d|j                          d       ' |j                  d       t        D ]9  }|j                  t        t        |t        |      t        |                         ; t        | d      5 }|j                  dj                  |             d d d        y # 1 sw Y   y xY w)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#$doo/034 
MM' c)D*T*:F4LIJK  
h				&!" 
		s   ?!E))E2__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      s     (  ( X 78/0+,
O((*+   c &#R z	
'(	) r   