Ë
    :vžjf  ã                   óì   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZ dd
„Z G d„ dee«      Ze G d„ de«      «       Ze G d„ de«      «       Ze G d„ de«      «       Zy	)zpSelectionContainer class.

Represents a multipage container that can be used to group other widgets into
pages.
é   )ÚBox)Úregister)Ú
CoreWidgeté    )ÚUnicodeÚDictÚCIntÚ
TraitErrorÚvalidateÚobserve)Ú
TypedTuple)ÚchainÚrepeatÚisliceNc                 ó@   — t        t        | t        |«      «      |«      S )zkReturns the sequence elements and then returns None up to the given size (or indefinitely if size is None).)r   r   r   )ÚiterableÚpaddingÚlengths      ú}/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/ipywidgets/widgets/widget_selectioncontainer.pyÚpadr      s   € ä”%˜¤&¨£/Ó2°FÓ;Ð;ó    c                   óð   — e Zd ZdZ e e«       d¬«      j                  d¬«      Z eddd¬«      j                  d¬«      Z	 e
d	«      d
„ «       Z e
d«      d„ «       Z ed«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)Ú_SelectionContainerz2Base class used to display multiple child widgets.zTitles of the pages)ÚtraitÚhelpT©Úsyncz�The index of the selected page. This is either an integer selecting a particular sub-widget, or None to have no widgets selected.N)r   Ú
allow_noneÚdefault_valueÚselected_indexc                 óÈ   — |j                   �@d|j                   cxk  r#t        | j                  «      k  r$|j                   S  t        d«      ‚|j                   S t        d«      ‚)Nr   z&Invalid selection: index out of bounds)ÚvalueÚlenÚchildrenr
   ©ÚselfÚproposals     r   Ú_validated_indexz$_SelectionContainer._validated_index   s[   € à�>‰>Ð! Q¨(¯.©.Ô%M¼3¸t¿}¹}Ó;MÒ%MØ—>‘>Ð!ð &Nô ÐEÓFÐFð —>‘>Ð!äÐEÓFÐFr   Útitlesc           	      óh   — t        t        |j                  dt        | j                  «      «      «      S )NÚ )Útupler   r"   r#   r$   r%   s     r   Ú_validate_titlesz$_SelectionContainer._validate_titles&   s#   € ä”S˜Ÿ™¨¬S°·±Ó-?Ó@ÓAÐAr   r$   c                 óD   — | j                  «        | j                  «        y ©N)Ú_reset_selected_indexÚ_reset_titles)r&   Úchanges     r   Ú_observe_childrenz%_SelectionContainer._observe_children*   s   € à×"Ñ"Ô$Ø×ÑÕr   c                 ór   — | j                   �+t        | j                  «      | j                   k  rd | _         y y y r/   )r    r#   r$   ©r&   s    r   r0   z)_SelectionContainer._reset_selected_index/   s5   € Ø×ÑÐ*¬s°4·=±=Ó/AÀD×DWÑDWÒ/WØ"&ˆDÕð 0XÐ*r   c                 ó�   — t        | j                  «      t        | j                  «      k7  rt        | j                  «      | _        y y r/   )r#   r)   r$   r,   r5   s    r   r1   z!_SelectionContainer._reset_titles3   s1   € Üˆt�{‰{Óœs 4§=¡=Ó1Ò1ä §¡Ó,ˆD�Kð 2r   c                 ó`   — t        | j                  «      }|€d}|||<   t        |«      | _        y)z¼Sets the title of a container page.
        Parameters
        ----------
        index : int
            Index of the container page
        title : unicode
            New title
        Nr+   )Úlistr)   r,   )r&   ÚindexÚtitler)   s       r   Ú	set_titlez_SelectionContainer.set_title8   s0   € ô �d—k‘kÓ"ˆàˆ=ØˆEØˆˆu‰Ü˜F“mˆ�r   c                 ó    — | j                   |   S )zŽGets the title of a container page.
        Parameters
        ----------
        index : int
            Index of the container page
        )r)   )r&   r9   s     r   Ú	get_titlez_SelectionContainer.get_titleH   s   € ð �{‰{˜5Ñ!Ð!r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Útagr)   r	   r    r   r(   r-   r   r3   r0   r1   r;   r=   © r   r   r   r      s¬   „ Ù<Ù™g›iÐ.CÔD×HÑHÈdÐHÓS€FÙð UØØô÷ 
�cˆt€cƒnð	 ñ ÐÓñGó  ðGñ ˆhÓñBó ðBñ ˆZÓñó ðò'ò-ò
$ó "r   r   c                   óp   — e Zd ZdZ ed«      j                  d¬«      Z ed«      j                  d¬«      Zy)Ú	Accordionz4Displays children each on a separate accordion page.ÚAccordionViewTr   ÚAccordionModelN©r>   r?   r@   rA   r   rB   Ú
_view_nameÚ_model_namerC   r   r   rE   rE   Q   s6   „ á>Ù˜Ó)×-Ñ-°4Ð-Ó8€JÙÐ*Ó+×/Ñ/°TÐ/Ó:�Kr   rE   c                   óŠ   ‡ — e Zd ZdZ ed«      j                  d¬«      Z ed«      j                  d¬«      Zdˆ fd„	Zd„ Z	ˆ xZ
S )	ÚTabz3Displays children each on a separate accordion tab.ÚTabViewTr   ÚTabModelc                 óV   •— t        |«      dkD  r	d|vrd|d<   t        ‰| �  dd|i|¤Ž y )Nr   r    r$   rC   )r#   ÚsuperÚ__init__)r&   r$   ÚkwargsÚ	__class__s      €r   rQ   zTab.__init__^   s7   ø€ Üˆx‹=˜1ÒÐ!1¸Ñ!?Ø'(ˆFÐ#Ñ$Ü‰ÑÑ5 (Ð5¨fÓ5r   c                 óª   — t        | j                  «      }|dk(  rd | _        y | j                  d k(  rd| _        y || j                  k  r|dz
  | _        y y )Nr   r   )r#   r$   r    )r&   Únum_childrens     r   r0   zTab._reset_selected_indexc   sZ   € ä˜4Ÿ=™=Ó)ˆØ˜1ÒØ"&ˆDÕð × Ñ  DÒ(Ø"#ˆDÕð ˜D×/Ñ/Ò/Ø".°Ñ"2ˆDÕð 0r   )rC   )r>   r?   r@   rA   r   rB   rI   rJ   rQ   r0   Ú__classcell__)rS   s   @r   rL   rL   X   s@   ø„ á=Ù˜Ó#×'Ñ'¨TÐ'Ó2€JÙ˜*Ó%×)Ñ)¨tÐ)Ó4€Kõ6ö
3r   rL   c                   óp   — e Zd ZdZ ed«      j                  d¬«      Z ed«      j                  d¬«      Zy)ÚStackz!Displays only the selected child.Ú	StackViewTr   Ú
StackModelNrH   rC   r   r   rX   rX   t   s5   „ á+Ù˜Ó%×)Ñ)¨tÐ)Ó4€JÙ˜,Ó'×+Ñ+°Ð+Ó6�Kr   rX   )NN)rA   Ú
widget_boxr   Úwidgetr   Úwidget_corer   Ú	traitletsr   r   r	   r
   r   r   Útrait_typesr   Ú	itertoolsr   r   r   r   r   rE   rL   rX   rC   r   r   Ú<module>ra      sŒ   ðñõ Ý Ý #ß H× HÝ #ß +Ñ +ó<ô9"˜#˜zô 9"ðv 
ô;Ð#ó ;ó 
ð;ð 
ô3Ð
ó 3ó 
ð3ð6 
ô7Ðó 7ó 
ñ7r   