a
    Df-                     @  s   d Z ddlmZ ddlmZmZ ddlZddlmZ	m
Z ddlmZ ddlmZ G d	d
 d
eZ
G dd de
ZG dd de
ZG dd deZdS )zD
Spacer components to add horizontal or vertical space to a layout.
    )annotations)ClassVarListN)DivSpacer   )CDN_DIST)Reactivec                   @  s   e Zd ZdZeZdddZdS )r   a  
    The `Spacer` layout is a very versatile component which makes it easy to
    put fixed or responsive spacing between objects.

    Like all other components spacers support both absolute and responsive
    sizing modes.

    How-to: https://panel.holoviz.org/how_to/layout/spacing.html#spacer-components

    :Example:

    >>> pn.Row(
    ...    1, pn.Spacer(width=200),
    ...    2, pn.Spacer(width=100),
    ...    3
    ... )
    Nc                 C  s:   | j f i | |}|d u r"|}||f| j|jd < |S )Nid)_bokeh_modelZ_get_properties_modelsref)selfdocrootparentcommmodel r   `/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/panel/layout/spacer.py
_get_model%   s
    zSpacer._get_model)NNN)__name__
__module____qualname____doc__BkSpacerr   r   r   r   r   r   r      s   r   c                   @  s   e Zd ZdZejdddZdS )VSpacera  
    The `VSpacer` layout provides responsive vertical spacing.

    Using this component we can space objects equidistantly in a layout and
    allow the empty space to shrink when the browser is resized.

    Reference: https://panel.holoviz.org/user_guide/Customization.html#spacers

    :Example:

    >>> pn.Column(
    ...     pn.layout.VSpacer(), 'Item 1',
    ...     pn.layout.VSpacer(), 'Item 2',
    ...     pn.layout.VSpacer()
    ... )
    Zstretch_heightTdefaultreadonlyNr   r   r   r   param	ParameterZsizing_moder   r   r   r   r   -   s   r   c                   @  s   e Zd ZdZejdddZdS )HSpacera  
    The `HSpacer` layout provides responsive horizontal spacing.

    Using this component we can space objects equidistantly in a layout and
    allow the empty space to shrink when the browser is resized.

    How-to: https://panel.holoviz.org/how_to/layout/spacing.html#spacer-components

    :Example:

    >>> pn.Row(
    ...     pn.layout.HSpacer(), 'Item 1',
    ...     pn.layout.HSpacer(), 'Item 2',
    ...     pn.layout.HSpacer()
    ... )
    Zstretch_widthTr   Nr    r   r   r   r   r#   B   s   r#   c                   @  sB   e Zd ZU dZejdddZeZe	 dgZ
ded< dd	d
ZdS )Dividera  
    A `Divider` draws a horizontal rule (a `<hr>` tag in HTML) to separate
    multiple components in a layout. It automatically spans the full width of
    the container.

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

    :Example:

    >>> pn.Column(
    ...     '# Lorem Ipsum',
    ...     pn.layout.Divider(),
    ...     'A very long text... '
    >>> )
    ZfitTr   zcss/divider.csszClassVar[List[str]]_stylesheetsNc                 C  sF   |  |  }| jf ddi|}|d u r.|}||f| j|jd < |S )Ntextz<hr>r
   )Z_process_param_changeZ_init_paramsr   r   r   )r   r   r   r   r   Z
propertiesr   r   r   r   r   p   s    zDivider._get_model)NNN)r   r   r   r   r!   ZObjectSelectorZwidth_policyBkDivr   r   r%   __annotations__r   r   r   r   r   r$   W   s   
r$   )r   
__future__r   typingr   r   r!   Zbokeh.modelsr   r'   r   r   Zio.resourcesr   Zreactiver	   r   r#   r$   r   r   r   r   <module>   s   