
    Be2                        d dl mZ d dlmZmZmZmZmZmZ d dl	Z	ddl
mZ ddlmZ ddlmZmZ erd d	lmZ dd
lmZ  G d de          ZdS )    )annotations)TYPE_CHECKINGCallableClassVarListMappingTypeN   )CDN_DIST)Card   )ColumnRow)Model)Viewablec                  F    e Zd ZU dZ ej        d          Z ej        dgd          Z ej	        dd          Z
 ej	        d	d
          Z ej        dgd          Z ej        d          Z ej        d          Z ej        d          Z ej        dgd          Z ej	        d	d          Z ej        dgd          Z ej        d          ZeZded<   ddddZded<   e dgZded<    fdZ	 d,d- fd$Zd,d. fd(Zd) Zd, fd*	Z fd+Z  xZ!S )/r   af  
    A `Card` layout allows arranging multiple panel objects in a
    collapsible, vertical container with a header bar.

    Reference: https://panel.holoviz.org/reference/layouts/Card.html

    :Example:

    >>> pn.Card(
    ...     some_widget, some_pane, some_python_object,
    ...     title='Card', styles=dict(background='WhiteSmoke'),
    ... )
    zH
        A valid CSS color for the header background when not collapsed.)doczcard-buttonz4
        CSS classes to apply to the button element.)defaultr   Tz?
        Whether the Card should be expandable and collapsible.Fz8
        Whether the contents of the Card are collapsed.cardz2
        CSS classes to apply to the overall Card.zv
        A Panel component to display in the header bar of the Card.
        Will override the given title if defined.z5
        A valid CSS color for the header background.z7
        A valid CSS color to apply to the header text.zcard-headerz4
        CSS classes to apply to the header element.z.
        Whether to skip rendering the header.z
card-titlez2
        CSS classes to apply to the header title.zi
        A title to be displayed in the Card header, will be overridden
        by the header if defined.zClassVar[Type[Model]]_bokeh_modelNtitleheadertitle_css_classesz"ClassVar[Mapping[str, str | None]]_renamezcss/card.csszClassVar[List[str]]_stylesheetsc                    t          dgd          | _         t                      j        |i | d | _        | j                            | j        g d           |                                  d S )Nzcard-header-rowstretch_width)css_classessizing_moder   )r   _header_layoutsuper__init___headerparamwatch_update_header)selfobjectsparams	__class__s      1lib/python3.11/site-packages/panel/layout/card.pyr#   zCard.__init__R   sy    !/@.A___',V,,,
,.V.V.VWWW    selector(type | Callable[[Viewable], bool] | NonereturnList[Viewable]c                |    | j                             |          t                                          |          z   S N)r!   selectr"   )r(   r.   r+   s     r,   r4   zCard.selectY   s1     "))(33eggnnX6N6NNNr-   rootModel | NoneNonec                ~    t                                          |           | j                            |           d S r3   )r"   _cleanupr!   )r(   r5   r+   s     r,   r9   zCard._cleanup^   s8    $$T*****r-   c                ,   ddl m}m} | j        `| j        rd| j         dnd| j        dd}| j        rd| j        i|d	<   | j         | j        j        j	        d
i | d S  |d
i |x| _        }n || j                  }d | _        |g| j
        d d <   d S )Nr
   )HTMLpanelz<h3>z</h3>z&#8203;)   r   )objectr   margincolorstyles )paner;   r<   r   r   r   header_colorr$   r%   updater!   )r(   eventsr;   r<   r*   items         r,   r'   zCard._update_headerb   s    &&&&&&&&;6:jO22222i#5  F
   @$+T->#?x |')")33F333&*dnnVnn4tt5%%DDL"&AAAr-   c                0   |j         d         }t                                          |||||          \  }}|| j        j        v r.| j        j        |         d         }	|                    |	           n| j                            ||||          }	|	g|z   |fS )Nidr   )refr"   _get_objectsr!   _modelsappend
_get_model)r(   modelold_objectsr   r5   commrJ   models
old_modelsr   r+   s             r,   rK   zCard._get_objectsv   s    htn"WW11%c4QUVV
$%---(05a8Ff%%%%(33CudKKFx
**r-   c                X    t                                          |dd          |          S )Nr   )r"   _compute_sizing_mode)r(   childrenpropsr+   s      r,   rU   zCard._compute_sizing_mode   s%    ww++HQRRL%@@@r-   r3   )r.   r/   r0   r1   )r5   r6   r0   r7   )"__name__
__module____qualname____doc__r%   Stringactive_header_backgroundr   button_css_classesBooleancollapsible	collapsedr   	Parameterr   header_backgroundrD   header_css_classeshide_headerr   r   BkCardr   __annotations__r   r   r   r#   r4   r9   r'   rK   rU   __classcell__)r+   s   @r,   r   r      s           ,u| 1K  L  L  L $]O B7 8 8 8  %- 3B C C CK e 2; < < <I %*fX 45 6 6 6K U_ "5 6 6 6F % *8 9 9 9  5< %: ; ; ;L $]O B7 8 8 8  %- 41 2 2 2K #
L> @5 6 6 6 EL % & & &E +1L0000 D3 3G    
 !!!)L         DHO O O O O O O
+ + + + + + +( ( ((+ + + + + +A A A A A A A A Ar-   r   )
__future__r   typingr   r   r   r   r   r	   r%   io.resourcesr   rR   r   rf   baser   r   bokeh.modelr   viewabler   rB   r-   r,   <module>ro      s"   " " " " " "                 # # # # # # # # # # # #         $!!!!!!######nA nA nA nA nA6 nA nA nA nA nAr-   