o
    tf                     @   s`   d Z ddlmZmZ ddlmZmZ ddlmZm	Z	 ddl
mZ ddlmZ G dd	 d	eZd
S )zContains the DOMWidget class    )BoolUnicode   )Widgetwidget_serialization)InstanceDict
TypedTuple)Layout)Stylec                       s   e Zd ZdZedjddZee ddjddZe	dddd	jddZ
eddd
djddZeejdddieZdd Zdd Zdd Zdd Z fddZ  ZS )	DOMWidgetzWidget that can be inserted into the DOM

    Parameters
    ----------
    tooltip: str
       tooltip caption
    layout: InstanceDict(Layout)
       widget layout
    ZDOMWidgetModelT)syncz)CSS classes applied to widget DOM element)ZtraithelpzIs widget tabbable?N)r   
allow_nonedefault_valuezA tooltip caption.)r   r   r   c                 C   s    || j vrt| j |g | _ | S )z{
        Adds a class to the top level element of the widget.

        Doesn't add the class if it already exists.
        )_dom_classeslistself	className r   e/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/ipywidgets/widgets/domwidget.py	add_class   s   
zDOMWidget.add_classc                    s$    | j v r fdd| j D | _ | S )z
        Removes a class from the top level element of the widget.

        Doesn't remove the class if it doesn't exist.
        c                    s   g | ]}| kr|qS r   r   ).0cr   r   r   
<listcomp>/   s    z*DOMWidget.remove_class.<locals>.<listcomp>)r   r   r   r   r   remove_class(   s   
zDOMWidget.remove_classc                 C      |  ddi dS )z&
        Focus on the widget.
        dofocusNsendr   r   r   r   r   2      zDOMWidget.focusc                 C   r   )z"
        Blur the widget.
        r   blurNr    r"   r   r   r   r$   8   r#   zDOMWidget.blurc                 #   sT    t   D ]}|dkrt| |}t|d|jj krq|V  q| jr(dV  d S d S )Nlayoutz%s()r   )super
_repr_keysgetattrrepr	__class____name__r   )r   keyvaluer*   r   r   r'   >   s   

zDOMWidget._repr_keysr   )r+   
__module____qualname____doc__r   tagZ_model_namer   r   r   ZtabbableZtooltipr   r	   r   r%   r   r   r   r$   r'   __classcell__r   r   r.   r   r      s    


r   N)r1   Z	traitletsr   r   Zwidgetr   r   Ztrait_typesr   r   Zwidget_layoutr	   Zwidget_styler
   r   r   r   r   r   <module>   s   