§
    ¨Mºf!  ã                   óH  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
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 dd
lmZ g d¢Z G d„ dej        ej        ¦  «        Z	 	 	 	 	 	 	 	 	 	 dd„Zd„ Zd„ Zd„ Zd„ Zedk    r e¦   «          dS dS )é    )ÚOrderedDictNé   )Úwrite_class_file)Úgenerate_exports)Úgenerate_class_file)Úgenerate_imports)Úgenerate_classes_files)Úgenerate_struct_file)Úgenerate_module)Ú	UNDEFINEDÚREQUIREDÚto_plotly_jsonÚavailable_propertiesÚavailable_wildcard_propertiesz_.*c                   ó   — e Zd ZdS )Ú_CombinedFormatterN)Ú__name__Ú
__module__Ú__qualname__© ó    úc/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/dash/development/component_generator.pyr   r       s   € € € € € ð 	€Dr   r   úpackage.jsonú^_Ú c                 óÎ  — |                      dd¦  «                             d¦  «        }t          j        dk    }t	          j        dd¦  «        }d                     d„ t          D ¦   «         ¦  «        }d	t          j	        d
<   t          j        dt          j                             ||¦  «        ¦  «         |	�sDt          j	                             ¦   «         }t          j                             d¦  «        |d<   t          j        d|› d|› d|› d| › �| ¬¦  «        }t#          j        |t"          j        t"          j        ||¬¦  «        }|                     ¦   «         \  }}|                     ¦   «         }|r-t-          |                     ¦   «         t          j        ¬¦  «         |s6t-          d|› d|› d�t          j        ¬¦  «         t          j        d¦  «         t5          |                     d¦  «        ¦  «        }	i }|
�$d„ |
                     d¦  «        D ¦   «         }
|
|d<   |r||d<   t7          j        t:          fi |¤Žg}|€|�Kt=          ddd¬¦  «        5 }t5          |                     ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   |�ôt          j                              d ¦  «        st          j!        d ¦  «         t          j                              d!¦  «        st          j!        d!¦  «         t          j         "                    d"¦  «        r>t=          d"d¬¦  «        5 }tG          j$        |¦  «        }d d d ¦  «         n# 1 swxY w Y   nd }| %                    t7          j        tL          ||¬#¦  «        ¦  «         |�.| %                    t7          j        tN          |¬$¦  «        ¦  «         tQ          ||	g|¢R Ž }t=          t          j                             |d%¦  «        d&d¬¦  «        5 }tS          j*        |	|d'¬(¦  «         d d d ¦  «         n# 1 swxY w Y   tW          ||¦  «         |�tY          |||	||||||¦	  «	         |�t[          |||	||¦  «         d S d S ))Nú-Ú_z/\Úwin32Údashzextract-meta.jsú|c              3   ó"   K  — | ]
}d |› d�V — ŒdS )ú^ú$Nr   )Ú.0Úps     r   ú	<genexpr>z&generate_components.<locals>.<genexpr><   s*   è è € Ð BÐ B¨a  Q   Ð BÐ BÐ BÐ BÐ BÐ Br   Únode_modulesÚ	NODE_PATHr   z./node_modulesÚMODULES_PATHznode z "z" "z" )Úposix)ÚstdoutÚstderrÚshellÚenv)ÚfilezError generating metadata in z	 (status=ú)r   úutf-8c                 ó8   — g | ]}|                      d ¦  «        ‘ŒS )ú )Ústrip)r%   Ú	components     r   ú
<listcomp>z'generate_components.<locals>.<listcomp>g   s1   € ð 
ð 
ð 
Ø%.ˆI�OŠO˜CÑ Ô ð
ð 
ð 
r   ú,Úprop_reorder_exceptionsÚ	max_propsÚr)ÚencodingÚmanÚRzdash-info.yaml)ÚprefixÚ	rpkg_data)r?   zmetadata.jsonÚwé   )Úindent).ÚreplaceÚrstripÚsysÚplatformÚpkg_resourcesÚresource_filenameÚjoinÚreserved_wordsÚosÚenvironÚshutilÚcopyfileÚpathÚcopyÚabspathÚshlexÚsplitÚ
subprocessÚPopenÚPIPEÚcommunicateÚpollÚprintÚdecoder-   ÚexitÚsafe_json_loadsÚ	functoolsÚpartialr   ÚopenÚreadÚexistsÚmakedirsÚisfileÚyamlÚ	safe_loadÚappendr   r
   r	   ÚjsonÚdumpr   r   r   )Úcomponents_sourceÚproject_shortnameÚpackage_info_filenameÚignoreÚrprefixÚrdependsÚrimportsÚ	rsuggestsÚjlprefixÚmetadataÚkeep_prop_orderr:   Ú
is_windowsÚextract_pathÚreserved_patternsr/   ÚcmdÚprocÚoutÚerrÚstatusÚpy_generator_kwargsÚgenerator_methodsÚfÚpkg_dataÚyamldatar@   Ú
componentss                               r   Úgenerate_componentsrƒ   '   s[  € ð *×1Ò1°#°sÑ;Ô;×BÒBÀ5ÑIÔIÐå” Ò(€Jå Ô2°6Ð;LÑMÔM€LàŸšÐ BÐ Bµ>Ð BÑ BÔ BÑBÔBÐà,…B„Jˆ{Ñå
„OØ�œŸšÐ%6Ð8MÑNÔNñô ð ð ñ 8ÝŒj�oŠoÑÔˆõ !œgŸošoÐ.>Ñ?Ô?ˆˆNÑåŒkØW�LÐWÐW FÐWÐWÐ/@ÐWÐWÐDUÐWÐWØ �.ð
ñ 
ô 
ˆõ
 ÔØÝ”?Ý”?ØØð
ñ 
ô 
ˆð ×#Ò#Ñ%Ô%‰ˆˆSØ—’‘”ˆàð 	1Ý�#—*’*‘,”,¥S¤ZÐ0Ñ0Ô0Ð0àð 	ÝØUÐ0AÐUÐUÈFÐUÐUÐUÝ”Zðñ ô ð õ ŒH�Q‰KŒKˆKå" 3§:¢:¨gÑ#6Ô#6Ñ7Ô7ˆàÐØÐ"ð
ð 
Ø2A×2GÒ2GÈÑ2LÔ2Lð
ñ 
ô 
ˆð :IÐÐ5Ñ6àð 5Ø+4Ð˜KÑ(å"Ô*Õ+>ÐVÐVÐBUÐVÐVÐWÐàÐ˜hÐ2Ý�. #°Ð8Ñ8Ô8ð 	1¸AÝ& q§v¢v¡x¤xÑ0Ô0ˆHð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð ÐÝŒw�~Š~˜eÑ$Ô$ð 	ÝŒK˜ÑÔÐÝŒw�~Š~˜cÑ"Ô"ð 	ÝŒK˜ÑÔÐÝŒ7�>Š>Ð*Ñ+Ô+ð 	ÝÐ&°Ð9Ñ9Ô9ð 5¸XÝ œN¨8Ñ4Ô4�	ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5øð ˆIØ× Ò ÝÔÕ.°wÈ)ÐTÑTÔTñ	
ô 	
ð 	
ð ÐØ× Ò ÝÔÕ2¸8ÐDÑDÔDñ	
ô 	
ð 	
õ (Ð(9¸8ÐXÐFWÐXÐXÐX€Jå	Ý
Œ�ŠÐ&¨Ñ8Ô8¸#Èð
ñ 
ô 
ð )à	
ÝŒ	�(˜A aÐ(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ
 Ð&¨
Ñ3Ô3Ð3àÐÝØØØØØØØØØñ
	
ô 
	
ð 
	
ð ÐÝÐ)¨:°xÀÈ8ÑTÔTÐTÐTÐTð Ðs6   É"JÊJÊJÌ*MÍMÍMÏ6PÐPÐ!Pc                 ó†   — t          j        | t          ¬¦  «        }t          j        d         dk    r|S t          |¦  «        S )N)Úobject_pairs_hookr   é   )rh   Úloadsr   rF   Úversion_infoÚbyteify)ÚsÚjsondata_unicodes     r   r]   r]   ¢   s?   € Ý”z !µ{ÐCÑCÔCÐÝ
Ô˜Ô˜aÒÐØÐÝÐ#Ñ$Ô$Ð$r   c                  óX  — t          j        dt          d¬¦  «        } |                      dd¬¦  «         |                      dd¬¦  «         |                      d	d
dd¬¦  «         |                      dddd¬¦  «         |                      dd¬¦  «         |                      ddd¬¦  «         |                      ddd¬¦  «         |                      ddd¬¦  «         |                      dd¬¦  «         |                      ddd d¬¦  «         |                      dt          d d!¬"¦  «         | S )#Nzdash-generate-componentszpGenerate dash components by extracting the metadata using react-docgen. Then map the metadata to Python classes.)ÚprogÚformatter_classÚdescriptionrj   z"React components source directory.)Úhelprk   z0Name of the project to export the classes files.z-pz--package-info-filenamer   z@The filename of the copied `package.json` to `project_shortname`)Údefaultr�   z-iz--ignorer   z6Files/directories matching the pattern will be ignoredz
--r-prefixz]Specify a prefix for Dash for R component names, write components to R dir, create R package.z--r-dependsr   zkSpecify a comma-separated list of R packages to be inserted into the Depends field of the DESCRIPTION file.z--r-importszkSpecify a comma-separated list of R packages to be inserted into the Imports field of the DESCRIPTION file.z--r-suggestszlSpecify a comma-separated list of R packages to be inserted into the Suggests field of the DESCRIPTION file.z--jl-prefixz-kz--keep-prop-orderzéSpecify a comma-separated list of components which will use the prop order described in the component proptypes instead of alphabetically reordered props. Pass the 'ALL' keyword to have every component retain its original prop order.z--max-propséú   aj  Specify the max number of props to list in the component signature. More props will still be shown in the docstring, and will still work when provided as kwargs to the component. Python <3.7 only supports 255 args, but you may also want to reduce further for improved readability at the expense of auto-completion for the later props. Use 0 to include all props.)Útyper‘   r�   )ÚargparseÚArgumentParserr   Úadd_argumentÚint)Úparsers    r   Úcomponent_build_arg_parserr™   ©   sì  € ÝÔ$Ø'Ý*ðGðñ ô €Fð ×ÒÐ+Ð2VÐÑWÔWÐWØ
×ÒØÐ"Tð ñ ô ð ð ×ÒØØ!ØØOð	 ñ ô ð ð ×ÒØØØØEð	 ñ ô ð ð ×ÒØð1ð ñ ô ð ð
 ×ÒØØðCð ñ ô ð ð ×ÒØØðCð ñ ô ð ð ×ÒØØðDð ñ ô ð ð ×ÒØð1ð ñ ô ð ð
 ×ÒØØØð#ð	 ñ ô ð ð ×ÒØÝØðVð	 ñ 	ô 	ð 	ð €Mr   c                  óè   — t          ¦   «                              ¦   «         } t          | j        | j        | j        | j        | j        | j        | j	        | j
        | j        | j        | j        ¬¦  «         d S )N)	rl   rm   rn   ro   rp   rq   rr   rt   r:   )r™   Ú
parse_argsrƒ   rj   rk   rl   rm   Úr_prefixÚ	r_dependsÚ	r_importsÚ
r_suggestsÚ	jl_prefixrt   r:   )Úargss    r   Úclir¢   ò   su   € Ý%Ñ'Ô'×2Ò2Ñ4Ô4€DÝØÔØÔØ"Ô8ØŒ{Ø”Ø”Ø”Ø”/Ø”ØÔ,Ø”.ðñ ô ð ð ð r   c                 ó  — t          | t          ¦  «        r+t          d„ |                      ¦   «         D ¦   «         ¦  «        S t          | t          ¦  «        rd„ | D ¦   «         S t          | t
          ¦  «        r|                      d¦  «        S | S )Nc                 óP   — g | ]#\  }}t          |¦  «        t          |¦  «        f‘Œ$S r   ©r‰   )r%   ÚkeyÚvalues      r   r7   zbyteify.<locals>.<listcomp>  s-   € ÐWÐWÐW±
°°U�g�c‰lŒl�G E™NœNÐ+ÐWÐWÐWr   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r¥   )r%   Úelements     r   r7   zbyteify.<locals>.<listcomp>
  s    € Ð=Ð=Ð= W•˜Ñ Ô Ð=Ð=Ð=r   r2   )Ú
isinstanceÚdictr   Ú	iteritemsÚlistÚunicodeÚencode)Úinput_objects    r   r‰   r‰     s—   € Ý�,¥Ñ%Ô%ð 
ÝØWÐW¸l×>TÒ>TÑ>VÔ>VÐWÑWÔWñ
ô 
ð 	
õ �,¥Ñ%Ô%ð >Ø=Ð=°Ð=Ñ=Ô=Ð=Ý�,¥Ñ(Ô(ð ,Ø×"Ò" 7Ñ+Ô+Ð+ØÐr   Ú__main__)
r   r   Nr   r   r   NNNN) Úcollectionsr   rh   rF   rU   rS   rL   r”   rN   r^   rH   re   Ú_r_components_generationr   r   Ú_py_components_generationr   r   r	   Ú_jl_components_generationr
   r   rK   ÚArgumentDefaultsHelpFormatterÚRawDescriptionHelpFormatterr   rƒ   r]   r™   r¢   r‰   r   r   r   r   ú<module>r¸      sÝ  ðØ #Ð #Ð #Ð #Ð #Ð #à €€€Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø :Ð :Ð :Ð :Ð :Ð :Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø =Ð =Ð =Ð =Ð =Ð =Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð €ð	ð 	ð 	ð 	ð 	ØÔ*¨HÔ,Pñ	ô 	ð 	ð )ØØØØØØØØØðxUð xUð xUð xUðv%ð %ð %ðFð Fð FðRð ð ð$	ð 	ð 	ð ˆzÒÐØ€C�E„E€E€E€Eð Ðr   