
    ea                     L   d dl Zd dlZd dlmZ d dlZd dlZ	 d dlZ	n# e
$ r dZ	Y nw xY w	 d dlmc mZ n# e
$ r dZY nw xY wej                            edu d          Zd dlmZmZmZmZmZmZmZmZmZmZ m!Z" d dl#m$Z$ d dl%Z&d dl'm(Z( d dl)mZm*Z*m+Z+mZ d d	l,m-Z-m.Z.m/Z/m%Z% d d
l0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8m9Z9m:Z:mZ e1d             Z;ej        <                    d          e2e1d                                     Z=ej        <                    d          ej        <                    d          e2e1d                                                 Z>ej        <                    d          e1d                         Z?ej        <                    d          e1d                         Z@ej        <                    d          e1d                         ZAej        <                    d          e1d                         ZBej        <                    d          e1d                         ZCej        <                    d          e1d                         ZDe1ed                         ZEe1ed                         ZFe1d             ZGe1d             ZHe1d             ZIe1d             ZJe1d             ZKe1d              ZLe1d!             ZMe1d"             ZNe1d#             ZOe1d$             ZPe1d%             ZQe1d&             ZRe1d'             ZSe1d(             ZTe1d)             ZUe1d*             ZVe1d+             ZWe1d,             ZXe1d-             ZYe1d.             ZZe1d/             Z[e1d0             Z\e1d1             Z]e1d2             Z^e1d3             Z_e1d4             Z`e1d5             ZadS )6    N)OrderedDictzrequires plotly backend)reason)ColumnColumnDataSourceGlyphRendererGridPlotImportedStyleSheetLineRowScatterSelectSliderSpacer)figure)bind)r   FlexBoxHSpacerr   )	HoloViewsPaneBasePlotlypanel)hv_availablempl_available)Native)PanelDeprecationWarning)CheckboxDiscreteSliderFloatSliderr   c                  l    t          j        g d          } t          j        |           t          u sJ d S )N         )hvCurver   get_pane_typer   )curves    ?lib/python3.11/site-packages/panel/tests/pane/test_holoviews.pytest_get_holoviews_pane_typer)   ,   s7    HYYYE!%((I555555    hv_mplc                 <   t          j        g d          }t          j        |          }|                    | |          }t          |t                    sJ t          |j                  dk    sJ |j        d         }|j	        |j
        d                  d         |u sJ |j                            d          sJ t          j        g d          }||_        |j        d         }|j        |j        k    sJ |                    |           |j	        i k    sJ d S )Nr    commr!   r   id&lt;img src=)r$   r%   pnr   get_root
isinstanceBkRowlenchildren_modelsreftext
startswithr   object_cleanup)documentr.   r'   panerowmodelscatter	new_models           r(    test_holoviews_pane_mpl_rendererrC   2   s    HYYYE8E??D --t-
,
,Cc5!!!!!s|!!!!LOE<&q)U2222:  00000 j##GDKQI:'''' 	MM#<2r*   hv_bokehc                    t          j        g d          }t          j        |          }|                    | |          }t          |t                    sJ t          |j                  dk    sJ |j        d         }|j	        |j
        d                  d         |u sJ |j                            d          sJ d|_        |j        d         }t          |t                    sJ |                    |           |j	        i k    sJ d S )Nr    r-   r!   r   r/   r0   bokeh)r$   r%   r1   r   r2   r3   r4   r5   r6   r7   r8   r9   r:   backendr   r<   )r=   r.   r'   r>   r?   r@   s         r(   "test_holoviews_pane_switch_backendrH   L   s   
 HYYYE8E??D --t-
,
,Cc5!!!!!s|!!!!LOE<&q)U2222:  00000 DLLOEeV$$$$$ 	MM#<2r*   c                    t          j        g d          }t          j        |          }|                    | |          }t          |t                    sJ t          |j                  dk    sJ |j        d         }t          |t                    sJ |j
        |j        d                  d         |u sJ d |j        D             }t          |          dk    sJ t          |d         j        t                    sJ t          j        g d          }||_        |j        d         }t          |t                    sJ d |j        D             }t          |          dk    sJ t          |d         j        t                    sJ |j
        |j        d                  d         |u sJ |                    |           |j
        i k    sJ d S )Nr    r-   r!   r   r/   c                 <    g | ]}t          |t                    |S  r3   r   .0rs     r(   
<listcomp>z6test_holoviews_pane_bokeh_renderer.<locals>.<listcomp>s   '    LLLqz!]/K/KLLLLr*   c                 <    g | ]}t          |t                    |S rK   rL   rM   s     r(   rP   z6test_holoviews_pane_bokeh_renderer.<locals>.<listcomp>|   rQ   r*   )r$   r%   r1   r   r2   r3   r4   r5   r6   r   r7   r8   	renderersglyphr
   r   r;   r<   )r=   r.   r'   r>   r?   r@   rS   rA   s           r(   "test_holoviews_pane_bokeh_rendererrU   f   s    HYYYE8E??D --t-
,
,Cc5!!!!!s|!!!!LOEeV$$$$$<&q)U2222LLEOLLLIy>>Qil($///// j##GDKLOEeV$$$$$LLEOLLLIy>>Qil('22222<&q)U2222 	MM#<2r*   c                 x   t                      }|                    | |          }t          |t                    sJ t	          |j                  dk    sJ |j        d         }t          |t                    sJ t          j        g d          |_	        |j        d         }t          |t                    sJ d S )Nr-   r!   r   r    )r   r2   r3   r4   r5   r6   BkSpacerr$   r%   r;   r   )r=   r.   r>   r?   r@   s        r(   $test_holoviews_pane_initialize_emptyrX      s     ;;D --t-
,
,Cc5!!!!!s|!!!!LOEeX&&&&&(999%%DKLOEeV$$$$$$$r*   c                 <   t          j        g d                              d          }t          |          }|                    | |          }|j        dk    sJ |j        dk    sJ t          j        g d          |_        |j        J |j        dk    sJ d S )Nr    T
responsiver-   stretch_bothfixedr$   r%   optsr   r2   sizing_moder;   r=   r.   r'   r>   r?   s        r(   &test_holoviews_pane_reflect_responsiverb      s     HYYY$$$55EUD --t-
,
,C?n,,,,~----(999%%DK?"""w&&&&&&r*   c                 N   t          j        g d                              d          }t          |d          }|                    | |          }|j        dk    sJ |j        dk    sJ d |_        |                    | |          }|j        dk    sJ |j        dk    sJ d S )Nr    TrZ   r]   )r`   r-   r\   )r$   r%   r_   r   r2   r`   ra   s        r(   /test_holoviews_pane_reflect_responsive_overriderd      s     HYYY$$$55EU000D --t-
,
,C?n,,,,w&&&& D
--t-
,
,C?n,,,,~------r*   c                 r    d }t          |          }|                    | |          }|j        dk    sJ d S )Nc                  V    t          j        g d                              d          S )Nr    TrZ   r$   r%   r_   rK   r*   r(   <lambda>zJtest_holoviews_pane_reflect_responsive_interact_function.<locals>.<lambda>   s%    rx			**//4/@@ r*   r-   r\   )r   r2   r`   )r=   r.   curve_fnr>   r?   s        r(   8test_holoviews_pane_reflect_responsive_interact_functionrj      sH     A@H??D --t-
,
,C?n,,,,,,r*   c                     t          d          }d }t          t          ||                    }|                    | |          }|j        dk    sJ d|_        |j        dk    sJ d S )	NT)valuec                 V    t          j        g d                              |           S )Nr    rZ   rg   rZ   s    r(   rh   zFtest_holoviews_pane_reflect_responsive_bind_function.<locals>.<lambda>   s%    "(999"5"5":":j":"Q"Q r*   rZ   r-   r\   Fr]   )r   r   r   r2   r`   rl   )r=   r.   checkboxri   r>   cols         r(   4test_holoviews_pane_reflect_responsive_bind_functionrp      s     d###HQQHh844455D --t-
,
,C?n,,,,HN?g%%%%%%r*   c                 :   t          j        g d                              dd          }t          |d          }|                    | |          }|j        dk    sJ |j        dk    sJ t          j        g d          |_        |j        J |j        J d S )Nr    Tplotlyr[   rG   rG   r-   r\   r^   ra   s        r(   -test_holoviews_pane_reflect_responsive_plotlyru      s     HYYY$$h$GGEUH---D --t-
,
,C?n,,,,~----(999%%DK?"""#####r*   c                    t          j        g d                              dd          }t          |d          }|                    | |          }t                                          ||           |j        d         }t          |j	                  dk    sJ d	 |j	        D             t          fd
t          j        D                       sJ d S )Nr    Trr   rs   rt   r-   r      c                 F    g | ]}t          |t                    |j        S rK   )r3   r	   url)rN   sts     r(   rP   zCtest_holoviews_pane_inherits_design_stylesheets.<locals>.<listcomp>   s*    cccb
2Oa@b@bc26cccr*   c              3       K   | ]}|v V  	d S NrK   )rN   rz   stylesheetss     r(   	<genexpr>zBtest_holoviews_pane_inherits_design_stylesheets.<locals>.<genexpr>   s(      ??Rr[ ??????r*   )r$   r%   r_   r   r2   r   applyr6   r5   r}   allr   _stylesheets)r=   r.   r'   r>   r?   plotly_modelr}   s         @r(   /test_holoviews_pane_inherits_design_stylesheetsr      s     HYYY$$h$GGEUH---D --t-
,
,C
HHNN4<?L|'((A----ccL$<cccK????6+>??????????r*   c                    t          j        dd          }t          j        ddd          }t          j        ddd	          }t          j        d
g d          }t          j        dg dd          }t          j        dg dd          }||||||g}t          j        d |          }	t          j        |	          \  }
}t          |
          t          |          k    sJ t          |
d         t                    sJ |
d         j        dk    sJ |
d         j	        |j
        d         k    sJ |
d         j        |j
        d         k    sJ |
d         j        |j
        d         k    sJ |
d         j        dk    sJ t          |
d         t                    sJ |
d         j        dk    sJ |
d         j	        |j
        d         k    sJ |
d         j        |j
        d         k    sJ |
d         j        |j
        d         k    sJ |
d         j        |j        k    sJ t          |
d         t                    sJ |
d         j        dk    sJ |
d         j	        |j
        d         k    sJ |
d         j        |j
        d         k    sJ |
d         j        |j        k    sJ |
d         j        dk    sJ t          |
d         t                    sJ |
d         j        d
k    sJ |
d         j        |j        k    sJ |
d         j        |j        d         k    sJ t          |
d         t                    sJ |
d         j        dk    sJ |
d         j        |j        k    sJ |
d         j        |j        k    sJ t          |
d         t$                    sJ |
d         j        dk    sJ |
d         j        t'          d |j        D                       k    sJ |
d         j        |j        k    sJ d S )NA)r   g      $@)rangeBg?)r   stepCr#   )r   defaultD)abc)valuesE)r   r   r   dr   )r   r   F)r!   r#   
   c                 *    t          j        g           S r|   )r$   r%   )r   r   r   r   r   r   s         r(   rh   z8test_holoviews_widgets_from_dynamicmap.<locals>.<lambda>  s    "(2,, r*   kdimsr   r!   g?r"         c                 0    g | ]}t          |          |fS rK   str)rN   vs     r(   rP   z:test_holoviews_widgets_from_dynamicmap.<locals>.<listcomp>*  s"    -\-\-\as1vvqk-\-\-\r*   )r$   	Dimension
DynamicMapr   widgets_from_dimensionsr5   r3   r   namestartr   endrl   r   r   r   optionsr   r   r   )r=   r.   	range_dimrange_step_dimrange_default_dim	value_dimvalue_default_dimvalue_numeric_dimr   dmapwidgets_s               r(   &test_holoviews_widgets_from_dynamicmapr      sC   S111I\#XC@@@NS!DDDS999IS1E1E1EsSSSSQGGG(9)+<>E=>>eLLLD2488JGQw<<3u::%%%%gaj+.....1:?c!!!!1:yq111111:>Y_Q/////1:yq111111:?c!!!!gaj+.....1:?c!!!!1:~3A666661:>^1!444441:~3A666661:?n11111gaj+.....1:?c!!!!1:06q999991:>.4Q777771:0888881:?c!!!!gaj&)))))1:?c!!!!1:!111111:y/22222gaj&)))))1:?c!!!!1:!2!999991:088888gaj.111111:?c!!!!1:-\-\CTC[-\-\-\!]!]]]]]1:08888888r*   c                    t          j        d t          d          D             ddg          }t          |          }|                    | |          }|j        d         }t          |j        j                  dk    sJ |j        j        d         j	        dk    sJ |j        j        d         j	        dk    sJ |j
        |j        d	                  d         |u sJ t          j        d
 t          d          D             ddg          }||_        t          |j        j                  dk    sJ |j        j        d         j	        dk    sJ |j        j        d         j	        dk    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S A   chrr$   r%   rN   is     r(   
<dictcomp>z/test_holoviews_with_widgets.<locals>.<dictcomp>0  2    GGG3r!t99~rx}}GGGr*   r#   XYr   r   r"   r!   r/   c                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z/test_holoviews_with_widgets.<locals>.<dictcomp>;  r   r*   r   r   )r$   HoloMapr   r   r2   r6   r5   
widget_boxobjectsr   r7   r8   r;   )r=   r.   hmaphv_panelayoutr@   s         r(   test_holoviews_with_widgetsr   .  sw   :GGeAhhGGGPSUXzZZZDooGh--FOAEw!)**a////%a(-4444%a(-4444?6:d+,Q/58888:GGeAhhGGGPSUXzZZZDGNw!)**a////%a(-4444%a(-444444r*   c                    t          j        d t          d          D             ddg          }t          |          }|                    | |          }dt
          i|_        t          |j        d         t
                    sJ t          |j	        d         j	        d         t                    sJ dt          i|_        t          |j        d         t                    sJ t          |j	        d         j	        d         t                    sJ t          |j	        d         j	        d         j	        d         t                    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z2test_holoviews_updates_widgets.<locals>.<dictcomp>D  r   r*   r#   r   r   r   r   r!   )r$   r   r   r   r2   r   r   r3   r   r6   BkSelectr   BkColumnBkSlider)r=   r.   r   r   r   s        r(   test_holoviews_updates_widgetsr   B  s!   :GGeAhhGGGPSUXzZZZDooGh--FFmGOg(+V44444foa(1!4h?????N+GOg(+^<<<<<foa(1!4h?????foa(1!4=a@(KKKKKKKr*   c                    t          j        d t          d          D             ddg          }t          |d          }|                    | |          }|j        d                             d	t          i          }|j        d
         t          j
        dg          k    sJ d|j        d         _        t          d          |j        d         _        |j        d
         t          j
        dg          k    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z6test_holoviews_widgets_update_plot.<locals>.<dictcomp>U  r   r*   r#   r   r   r   rF   rt   r   typeyr!   B   )r$   r   r   r   r2   r6   
select_oner   datanparrayr   rl   r   )r=   r.   r   r   r   cdss         r(   "test_holoviews_widgets_update_plotr   S  s    :GGeAhhGGGPSUXzZZZDg...Gh--F
/!

'
'1A(B
C
CC8C=BHaSMM))))"#Gq"%d))Gq8C=BHaSMM))))))r*   c                 T   fd}t          j        dd          t          j        ddg d          }t          j        ||          }t          |d	
          }|                    | |          }|j        d                             dt          i          }t           j
                            |j        d         t          j                             d|j        d         _        t           j
                            |j        d         t          j        dz                       d S )Nc                 Z    t          j        t          j        | z            f          S r|   )r$   r%   r   sin)fxs    r(   functionzGtest_holoviews_dynamic_widgets_with_unit_updates_plot.<locals>.functionc  s$    xBF1Q3KK()))r*   r   r   factorm)r!   r"   r#   r   r   )unitr   r   rF   rt   r   r   r#   )r   linspacer$   r   r   r   r2   r6   r   r   testingassert_array_equalr   r   r   rl   )	r=   r.   r   r   r   r   r   r   r   s	           @r(   5test_holoviews_dynamic_widgets_with_unit_updates_plotr   a  s
   * * * * * 	ArA\(___EEEF=000Dg...Gh--F
/!

'
'1A(B
C
CCJ!!#(3-;;;"#GqJ!!#(3-!=====r*   c                    t          j        d t          d          D             ddg          }t          |          }t	          ||j                  }|                    | |          }|j        d         }t          |j        j	                  dk    sJ |j        j	        d         j
        dk    sJ |j        j	        d         j
        dk    sJ |j        |j        d	                  d         |u sJ t          j        d
 t          d          D             ddg          }||_        t          |j        j	                  dk    sJ |j        j	        d         j
        dk    sJ |j        j	        d         j
        dk    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z9test_holoviews_with_widgets_not_shown.<locals>.<dictcomp>t  r   r*   r#   r   r   r   r   r"   r!   r/   c                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z9test_holoviews_with_widgets_not_shown.<locals>.<dictcomp>  r   r*   r   r   )r$   r   r   r   r   r   r2   r6   r5   r   r   r7   r8   r;   )r=   r.   r   r   
layout_objr   r@   s          r(   %test_holoviews_with_widgets_not_shownr   r  s   :GGeAhhGGGPSUXzZZZDooG!344J  400FOAEw!)**a////%a(-4444%a(-4444?6:d+,Q/58888:GGeAhhGGGPSUXzZZZDGNw!)**a////%a(-4444%a(-444444r*   c                     t          t          j        g d          dd          }|j        }t	          |          dk    sJ |\  }}}t          |t                    sJ ||u sJ t          |t                    sJ d S )Nr    rF   T)rG   centerr#   )r   r$   r%   r   r5   r3   r   )r=   r.   r   r   hspacer1hv_outhspacer2s          r(   test_holoviews_centerr     s    ++WTJJJG^Fv;;!!'Hfhh(((((fh(((((((r*   c                 4   t          j        d t          d          D             ddg          }t          |d          }|j        }|                    | |          }dD ]}t          j        j        j        D ]}|j        	                    ||	           |r|
                    d
          rAt          |          dk    sJ |d         |d         }	}|j        d         |j        d         }}
no|
                    d          rAt          |          dk    sJ |d         |d         }}	|j        d         |j        d         }}
n|
                    d          rbt          |          dk    sJ |d         }|j        d         }t          |t                    sJ |\  }}	|j        d         |j        d         }}
n|
                    d          rK|d         }|j        d         }t          |t                    sJ |\  }	}|j        d         |j        d         }}
n@|
                    d
          r&t          |          dk    sJ |\  }}	|j        \  }
}n|
                    d          r%t          |          dk    sJ |\  }	}|j        \  }}
n|
                    d          rQt          |          dk    sJ |d         }|j        d         }t          |t                    sJ |\  }}	|j        \  }
}ne|
                    d          rPt          |          dk    sJ |d         }|j        d         }t          |t                    sJ |\  }	}|j        \  }}
||	u sJ t          |t                    sJ |}|
}|j        |u sJ t          |t"                    sJ t          |j        d         t"                    sJ t          |j        d         j        d         t$                    sJ t          |j        d         t&                    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z*test_holoviews_layouts.<locals>.<dictcomp>  r   r*   r#   r   r   r   rF   rt   )TF)r   widget_locationleftr   r   r"   rightr!   topbottom)r$   r   r   r   r   r2   paramr   r   updater:   r5   r6   r3   r   r   r   r   r   r   )r=   r.   r   r   r   r@   r   locr   hv_objwmodelhv_modelro   cmodelboxboxmodels                   r(   test_holoviews_layoutsr     sX   :GGeAhhGGGPSUXzZZZDg...G^FOOHd++E 9> 9>?2: 8	> 8	>CM   DDD ,7>>&)) Ov;;!++++&,QiVG',~a'85>!;LHFF^^G,, Ov;;!++++&,QiGF',~a'85>!;LHFF^^E** Ov;;!++++ )C"^A.F%c622222&)OGV'-q'9FOA<NHFF^^H-- O )C"^A.F%c622222&)OFG'-q'9FOA<NHF>>&)) 7v;;!++++&,OGV',~$FHH^^G,, 7v;;!++++&,OFG',~$Hff^^E** 7v;;!++++ )C"^A.F%c622222&)OGV'-$FHH^^H-- 7v;;!++++ )C"^A.F%c622222&)OFG'-$Hff$$$$h/////CH%,,,,h11111h/2H=====h/2;A>IIIIIh/2H======q8	>9> 9>r*   c                  6   t          j        d t          d          D             ddg          } t          j        |           \  }}t          |d         t                    sJ |d         j        dk    sJ |d         j        t          d t          d          D                       k    sJ |d         j
        dk    sJ t          |d         t                    sJ |d         j        dk    sJ |d         j        g d	k    sJ |d         j
        d
k    sJ d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   z7test_holoviews_widgets_from_holomap.<locals>.<dictcomp>  r   r*   r#   r   r   r   r   c                 0    g | ]}t          |          |fS rK   r   r   s     r(   rP   z7test_holoviews_widgets_from_holomap.<locals>.<listcomp>  "    -L-L-Las1vvqk-L-L-Lr*   r!   )r   r   r   r   )r$   r   r   r   r   r3   r   r   r   r   rl   r   r   r   r   s      r(   #test_holoviews_widgets_from_holomapr    s.   :GGeAhhGGGPSUXzZZZD2488JGQgaj.111111:?c!!!!1:-L-L588-L-L-L!M!MMMMM1:q    gaj&)))))1:?c!!!!1:00001:s""""""r*   c                     t          j        d t          d          D             dg          } t          j        |           \  }}t          |d         t                    sJ |d         j        dk    sJ |d         j        t          dt          j        ddd          fd	t          j        ddd
          fdt          j        ddd          fg          k    sJ |d         j        t          j        ddd          k    sJ d S )Nc                 h    i | ]/}t          j        d d|dz             t          j        |g          0S )  r!   )dtdatetimer$   r%   r   s     r(   r   zCtest_holoviews_date_slider_widgets_from_holomap.<locals>.<dictcomp>  s6    RRRAr{4AaC00"(A3--RRRr*   r#   r   r   r   z2016-01-01 00:00:00r  r!   z2016-01-02 00:00:00r"   z2016-01-03 00:00:00)r$   r   r   r   r   r3   r   r   r   r   r  r  rl   r   s      r(   /test_holoviews_date_slider_widgets_from_holomapr    s   :RRqRRR[^Z_```D2488JGQgaj.111111:?c!!!!1:	D!Q 7 78	D!Q 7 78	D!Q 7 78.: "; "; ; ; ; ; 1:r{4A66666666r*   c                     t          j        d t          d          D             ddg          } t          j        | dt
          i          \  }}t          |d         t
                    sJ |d         j        dk    sJ |d         j        t          d t          d          D                       k    sJ |d         j
        dk    sJ d S )	Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   zHtest_holoviews_widgets_explicit_widget_type_override.<locals>.<dictcomp>  r   r*   r#   r   r   r   widget_typesr   c                 0    g | ]}t          |          |fS rK   r   r   s     r(   rP   zHtest_holoviews_widgets_explicit_widget_type_override.<locals>.<listcomp>  r   r*   )r$   r   r   r   r   r   r3   r   r   r   rl   r   s      r(   4test_holoviews_widgets_explicit_widget_type_overrider    s    :GGeAhhGGGPSUXzZZZD24sFmTTTJGQgaj&)))))1:?c!!!!1:-L-L588-L-L-L!M!MMMMM1:q      r*   c                      t          j        d t          d          D             ddg          } t          j        t
                    5  t          j        | ddi           d d d            d S # 1 swxY w Y   d S )Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   zGtest_holoviews_widgets_invalid_widget_type_override.<locals>.<dictcomp>  r   r*   r#   r   r   r   r!   r
  )r$   r   r   pytestraises
ValueErrorr   r   )r   s    r(   3test_holoviews_widgets_invalid_widget_type_overrider    s    :GGeAhhGGGPSUXzZZZD	z	"	" G G)$c1XFFFFG G G G G G G G G G G G G G G G G Gs   	A//A36A3c                      t          j        d t          d          D             ddg          } t          g dd          }t	          j        | d|i          \  }}|d	         |u sJ d S )
Nc                 ^    i | ]*}|t          d |z             ft          j        |g          +S r   r   r   s     r(   r   zLtest_holoviews_widgets_explicit_widget_instance_override.<locals>.<dictcomp>  r   r*   r#   r   r   r   r    )r   rl   r
  r   )r$   r   r   r   r   r   )r   widgetr   r   s       r(   8test_holoviews_widgets_explicit_widget_instance_overrider    s    :GGeAhhGGGPSUXzZZZDIIIQ///F24sFmTTTJGQ1:r*   c                 f   t          j        g d          }t          j        g d          }t          t          |d          t          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        u sJ |j        |j        u sJ d S Nr    rF   rt   r-   r   	r$   r%   r   r   r2   selectr   x_rangey_ranger=   r.   c1c2r   	row_modelp1p2s           r(   test_holoviews_linked_axesr$    s    	)))		B	)))		B2w///2w1O1O1OPPFt44Ivv.//FB:####:######r*   c                 f   t          j        g d          }t          j        g d          }t          t          |d          t          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        u sJ |j        |j        u sJ d S r  )	r$   r%   r   r   r2   r  r   r  r  r  s           r(   "test_holoviews_linked_axes_flexboxr&  $  s    	)))		B	)))		BYr7333Yr75S5S5STTFt44Ivv.//FB:####:######r*   c                    t          j        g d          }t          j        g d          }t          t          |d          t          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        u sJ |j        |j        u sJ |j        j	        dk    sJ |j        j
        dk    sJ d S )	Nr    )r   r!   r"   r#   r   rF   rt   r-   r   gٿg@)r$   r%   r   r   r2   r  r   r  r  r   r   r  s           r(   (test_holoviews_linked_axes_merged_rangesr(  3  s    	)))		B	///	"	"B2w///2w1O1O1OPPFt44Ivv.//FB:####:####:t####:>S      r*   c                 j   t          j        g d          }t          j        g dd          }t          t          |d          t          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        u sJ |j        |j        usJ d S )Nr    y2)vdimsrF   rt   r-   r   r  r  s           r(   test_holoviews_linked_x_axisr,  D  s    	)))		B	)))4	(	(	(B2w///2w1O1O1OPPFt44Ivv.//FB:####:RZ''''''r*   c                    t          j        g d          }t          j        g d                              dd          }t          t	          |d          t	          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        usJ |j	        |j	        usJ d S )Nr    TrF   )axiswiserG   rt   r-   r   
r$   r%   r_   r   r   r2   r  r   r  r  r  s           r(   'test_holoviews_axiswise_not_linked_axesr0  S  s    	)))		B	)))			!	!4	!	A	AB2w///2w1O1O1OPPFt44Ivv.//FB:RZ'''':RZ''''''r*   c                    t          j        g d          }t          j        g d                              dd          }t          t	          |d          t	          |d                    }|                    | |          }|                    dt          i          \  }}|j        |j        usJ |j	        |j	        usJ d S )Nr    FrF   )shared_axesrG   rt   r-   r   r/  r  s           r(   .test_holoviews_shared_axes_opt_not_linked_axesr3  b  s    	)))		B	)))			!	!eW	!	E	EB2w///2w1O1O1OPPFt44Ivv.//FB:RZ'''':RZ''''''r*   c                 h   t          j        g d          }t          j        g d          }t          t          |d          t          |dd                    }|                    | |          }|                    dt          i          \  }}|j        |j        usJ |j        |j        usJ d S )Nr    rF   rt   F)rG   linked_axesr-   r   r  r  s           r(   test_holoviews_not_linked_axesr6  q  s    	)))		B	)))		B"g&&&"g5999 F
 t44Ivv.//FB:RZ'''':RZ''''''r*   c                 >   ddl m} ddlm} t	          j        g           }t	          j        g           } |||           t          t          j        |d          t          j        |d                    }|	                    | |          }t          |j                  dk    sJ |j        \  }}	t          |t                    sJ t          |	t                    sJ |                    d|i          }
t          |
|          sJ |
j        |	j        k    sJ d S )	Nr   	RangeToolRangeToolLinkrF   rt   r-   r"   r   )bokeh.models.toolsr9  holoviews.plotting.linksr;  r$   r%   r   r1   r   r2   r5   r6   r3   r   r   r  )r=   r.   r9  r;  r  r   r   r?   r"  r#  
range_tools              r(    test_holoviews_link_across_panesr?    s.   ,,,,,,666666	"B	"BM"b"g...W0M0M0MNNF
//(/
.
.Cs|!!!!\FBb&!!!!!b&!!!!! 344Jj),,,,,++++++r*   c                    ddl m} ddlm} t	          j        g           }t	          j        g           } |||           t          t          j        |d                    }|	                    | |          }t          |j                  dk    sJ |j        \  }t          |t                    sJ |                    d|i          }	|	J |                    t          j        |d                     |j        \  }
}t          |t                    sJ |                    d|i          }	t          |	|          sJ |	j        |j        k    sJ d S )	Nr   r8  r:  rF   rt   r-   r!   r   )r<  r9  r=  r;  r$   r%   r   r1   r   r2   r5   r6   r3   r   r   appendr  )r=   r.   r9  r;  r  r   r   r?   r"  r>  r   r#  s               r(   %test_holoviews_link_after_adding_itemrB    si   ,,,,,,666666	"B	"BM"b"g...//F
//(/
.
.Cs|!!!!
,CBb&!!!!! 344J
MM"(2w///000LEArb&!!!!! 344Jj),,,,,++++++r*   c                    ddl m} ddlm} t	          j        g           }t	          j        g           } |||           t          j        t          j        t	          j        ||g          d                    }|	                    | |          }t          |j                  dk    sJ |j        d         }t          |t                    sJ t          |j                  dk    sJ |j        \  \  }	}
}
\  }}
}
t          |	t                    sJ t          |t                    sJ |                    d	|i          }t          ||          sJ |j        |j        k    sJ d S )
Nr   r8  r:  rF   rt   r-   r!   r"   r   )r<  r9  r=  r;  r$   r%   r1   r   Layoutr2   r5   r6   r3   r   r   r   r  )r=   r.   r9  r;  r  r   r>   column	grid_plotr"  r   r#  r>  s                r(   test_holoviews_link_within_panerG    s{   ,,,,,,666666	"B	"BM"b8BHRYBx00'BBBCCD]]8$]//Fv1$$$$"Ii*****y!""a''''&/JRA
Qb&!!!!!b&!!!!!%%vy&9::Jj),,,,,++++++r*   c                 p   t          j        g           }t          j                    5  t          j        dt
                     t          j        |dddg          }d d d            n# 1 swxY w Y   |                    | |          }|j	        d         dk    sJ |j
        d         j        dgk    sJ d S )	NignorerF   red
test_class)rG   
backgroundcss_classesr-   rL  r   )r$   r%   warningscatch_warningssimplefilterr   r1   r   r2   stylesr6   rM  r=   r.   r  r>   r@   s        r(   +test_holoviews_property_override_old_methodrS    s    	"B		 	"	" 4 4h(?@@@xG%1N4 4 44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 MM(M..E<%....>!(\N::::::s   4A((A,/A,c                     t          j        g           }t          j        |dddidg          }|                    | |          }|j        d         dk    sJ |j        d         j        dgk    sJ d S )NrF   rL  rJ  rK  )rG   rQ  rM  r-   r   )r$   r%   r1   r   r2   rQ  r6   rM  rR  s        r(    test_holoviews_property_overriderU    s    	"B8B$e,)N, , ,D MM(M..E<%....>!(\N::::::r*   c                    t          j        d          t          j        d          gddgddgd}t          j        |ddgdg          }t	          j        |                    t          j        dgdg          dt          j        j	        i	          }|d         d         }t          |t          j                  sJ t          |t          j                  sJ t          |d         t          j        j	                  sJ d S 
Nz
2000-01-01z
2000-01-02r   r!   )timer   r   r   rX  r   )r   )r   
datetime64r$   Datasetr1   r   tor   r   
DatePickerr3   r   	WidgetBoxr=   r.   dsvizr   r   s         r(   !test_holoviews_date_picker_widgetra    s     |,,bmL.I.IJVV
 
B
 *R#v
.
.CXcff

SEC5" ",2BJ4I+J  F 1Jfbf%%%%%j",/////jmRZ%:;;;;;;;r*   c                    t          j        d          t          j        d          gddgddgd}t          j        |ddgdg          }t	          j        |                    t          j        dgdg          dt          j        j	        i	          }|d         d         }t          |t          j                  sJ t          |t          j                  sJ t          |d         t          j        j	                  sJ d S rW  )r   rY  r$   rZ  r1   r   r[  r   r   DatetimePickerr3   r   r]  r^  s         r(   %test_holoviews_datetime_picker_widgetrd    s     |,,bmL.I.IJVV
 
B
 *R#v
.
.CXcff

SEC5" ",2BJ4M+N  F 1Jfbf%%%%%j",/////jmRZ%>???????r*   )br  r  rN  collectionsr   numpyr   r  	holoviewsr$   	Exceptionholoviews.plotting.plotlyplottingrr   	hv_plotlymarkskipifplotly_availablebokeh.modelsr   r   r   r   r   r	   r
   r   r4   r   r   r   r   r   r   rW   bokeh.plottingr   r   r1   panel.dependsr   panel.layoutr   r   
panel.paner   r   r   panel.tests.utilr   r   panel.themer   panel.util.warningsr   panel.widgetsr   r   r   r)   usefixturesrC   rH   rU   rX   rb   rd   rj   rp   ru   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r$  r&  r(  r,  r0  r3  r6  r?  rB  rG  rS  rU  ra  rd  rK   r*   r(   <module>ry     s        # # # # # #        	BBB1111111111   III;%%i4&7@Y%ZZ                          
 " ! ! ! ! !                                 9 8 8 8 8 8 8 8       7 7 7 7 7 7           
 6 6 6
 ""    #". ""$$    %$ #", $$   %$: $$% %  %$% $$' '  %$' $$. .  %$.$ $$- -  %$- $$& &  %$& $ $  $  @ @  @  09 09 09f 5 5 5& L L L  
* 
* 
* > > >  5 5 5( 	) 	) 	) @> @> @>F # # #  7 7 7 ! ! ! G G G       $ $ $ $ $ $ ! ! !  ( ( ( ( ( ( ( ( ( ( ( (" , , ,. , , ,6 , , ,4 
; 
; 
; 	; 	; 	; < < <  @ @ @ @ @s    ''	5 ??