o
    tf                      @  s   d Z ddlmZ ddlmZ ddlZddlmZ ddl	m
Z
mZ ddlmZmZmZmZmZmZmZmZ ddlmZ dd	lmZmZ G d
d dejZdS )z0AnyWidget base class for custom Jupyter widgets.    )annotations)AnyN   )FileContentsVirtualFileContents)_ANYWIDGET_ID_KEY_CSS_KEY_DEFAULT_ESM_ESM_KEY!enable_custom_widget_manager_oncein_colabrepr_mimebundletry_file_contents)_ANYWIDGET_SEMVER_VERSION)_collect_anywidget_commands_register_anywidget_commandsc                      s   e Zd ZdZedjddZedjddZee	jddZ
edjddZedjddZee	jddZd fddZd fddZdddZ  ZS )	AnyWidgetzMain AnyWidget base class.ZAnyModelTsyncZ	anywidgetZAnyViewargsr   kwargsreturnNonec                   s   t  rt  i }ttfD ]1}t |r= |s=t |}tt	|j
dd||< t|ttfr=|j|f fdd	 qt tsNttj
dd|t< t jj d jj j
dd|t<  jdi | t j|i | t  d S )NTr   c                   s   t  || S )N)setattr)Znew_contentskeyself Y/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/anywidget/widget.py<lambda>/   s    z$AnyWidget.__init__.<locals>.<lambda>.r   )r   r   r
   r   hasattrZ	has_traitgetattrtUnicodestrtag
isinstancer   r   changedconnectr	   	__class__
__module____name__r   Z
add_traitssuper__init__r   )r   r   r   Zanywidget_traitsr   valuer*   r   r   r.   $   s,   


zAnyWidget.__init__dictc                   sT   t  jdi | ttf| j @ D ]}tt| |}|r#t| || qt	|  dS )z8Coerces _esm and _css to FileContents if they are files.Nr   )
r-   __init_subclass__r
   r   __dict__keysr   r"   r   r   )clsr   r   file_contentsr0   r   r   r2   A   s   zAnyWidget.__init_subclass__tuple[dict, dict] | Nonec                 K  s@   t | }t|dkr|d d d }| jd u rd S t| j|dS )Nn   u   …)model_id	repr_text)reprlen
_view_namer   r9   )r   r   Z	plaintextr   r   r   _repr_mimebundle_K   s   
zAnyWidget._repr_mimebundle_)r   r   r   r   r   r   )r   r1   r   r   )r   r1   r   r7   )r,   r+   __qualname____doc__r#   r$   r&   Z_model_nameZ_model_moduler   Z_model_module_versionr=   Z_view_moduleZ_view_module_versionr.   r2   r>   __classcell__r   r   r0   r   r      s    
r   )r@   
__future__r   typingr   
ipywidgetsZtraitlets.traitletsZ	traitletsr#   Z_file_contentsr   r   Z_utilr   r   r	   r
   r   r   r   r   _versionr   Zexperimentalr   r   Z	DOMWidgetr   r   r   r   r   <module>   s    (
