
    }tf                         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ej4                        Zy)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                      e Zd ZdZ ej
                  d      j                  d      Z ej
                  d      j                  d      Z ej
                  e	      j                  d      Z
 ej
                  d      j                  d      Z ej
                  d      j                  d      Z ej
                  e	      j                  d      Zd
 fdZd fdZdd	Z xZS )	AnyWidgetzMain AnyWidget base class.AnyModelTsync	anywidgetAnyViewc                    t               r
t                i }t        t        fD ]  }t	         |      s j                  |      r"t         |      }t        j                  t        |            j                  d      ||<   t        |t        t        f      sv|j                  j                  |f fd	        t	         t              s0t        j                  t               j                  d      |t        <   t        j                   j"                  j$                   d j"                  j&                         j                  d      |t(        <     j*                  di | t-         \  |i | t1                y )NTr   c                    t        ||       S )N)setattr)new_contentskeyselfs     Z/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/anywidget/widget.py<lambda>z$AnyWidget.__init__.<locals>.<lambda>/   s    gdC6V     . )r   r   r   r	   hasattr	has_traitgetattrtUnicodestrtag
isinstancer   r   changedconnectr
   	__class__
__module____name__r   
add_traitssuper__init__r   )r   argskwargsanywidget_traitsr   valuer/   s   `     r    r4   zAnyWidget.__init__$   s;   :-/h' 	CtS!$..*=c*()		#e*(=(A(At(A(L %e&9<%HIMM))14V	 tX&)*<)@)D)D$)D)OX&
 /0ii~~(()4>>+B+B*CD/

#4#. 	*+ 	+*+$)&)$T*r"   c                    t        |   di | t        t        f| j                  j                         z  D ]'  }t        t        | |            }|st        | ||       ) t        |        y)z8Coerces _esm and _css to FileContents if they are files.Nr$   )
r3   __init_subclass__r   r	   __dict__keysr   r'   r   r   )clsr6   r   file_contentsr/   s       r    r:   zAnyWidget.__init_subclass__A   sc    !+F+h'#,,*;*;*== 	1C-gc3.?@MS-0		1
 	$C(r"   c                    t        |       }t        |      dkD  r|d d dz   }| j                  y t        | j                  |      S )Nn   u   …)model_id	repr_text)reprlen
_view_namer   rA   )r   r6   	plaintexts      r    _repr_mimebundle_zAnyWidget._repr_mimebundle_K   sE    J	y>C!$3%/I??"KKr"   )r5   r   r6   r   returnNone)r6   dictrH   rI   )r6   rJ   rH   ztuple[dict, dict] | None)r1   r0   __qualname____doc__r(   r)   r+   _model_name_model_moduler   _model_module_versionrE   _view_module_view_module_versionr4   r:   rG   __classcell__)r/   s   @r    r   r      s    $!))J'+++6KAIIk*..D.9M%AII&?@DD$DO9%))t)4J199[)--4-8L$199%>?CCCN+:)Lr"   r   )rL   
__future__r   typingr   
ipywidgetstraitlets.traitlets	traitletsr(   _file_contentsr   r   _utilr   r	   r
   r   r   r   r   r   _versionr   experimentalr   r   	DOMWidgetr   r$   r"   r    <module>r]      sB    6 "    =	 	 	 0 S8L
$$ 8Lr"   