
    I.e\*                        d Z ddlmZ ddlmZ ddlmZ  eddi           Zd Z	d Z
d	 Zd
 ZddddZdddeddZdddeeedZi dedededededededed ed!ed"ed#ed$ed%ed&ed'ed(eeeeeeeeeeed)
i d*ed+d, d-d. d/ed0ed1d2 d3d4 d5d6 d7d8 d9d: d;ed<ed=ed>ed?ed@edAei dBedCdD dEedFedGdH dIedJedKedLedMedNedOedPedQedRedSedTei dUedVdW dXedYedZd[ d\ed]ed^ed_ed`edadb dceddededf dgedhdi djdk i dledmedndo dpdq drds dtdu dvedwdx dyedzed{ed|ed}ed~edededei dededededededededededededededededei dededededededededededededededededei dedededededededd dd dd dededededd dd dei dd dedd dd dd deddń dededdɄ dededd̈́ ddτ dedd҄ ddԄ d՜ZdddeddZd؄ eeeeeeeeeeedٜdڄ dۄ d܄ d݄ dބ d߄ eedd՜Z eee          ZdS )zJ
Set of transforms to go from a Bokeh option to another backend's option.
    )CompositeOverlay)Store)COLOR_ALIASESUNSET c                     i }| r|r| |z  | dz  dz  d}n9|r| r|| dz  dz  d}n)|r|r||dz  dz  d}n| rd| dz  dz  i}n|r
d|dz  dz  i}|S )Ng     r@d   )aspectfig_sizer   r   )widthheightr
   optss       9lib/python3.11/site-packages/hvplot/backend_transforms.py_transform_size_to_mplr      s    D 	/ 	/,U4Z4DEE	 /E / uTz3.>??	 /F / vd{C.?@@	 /U4Z,-	 /VD[#-.K    c                 n   t          |           j        }t          j        |          }t          |         }t          | t                    r|                     t          |d          } i }| j	        
                    dd          j        }||         j                                        D ]\  }}|                                D ]{\  }	}
|
                    |i           
                    |	d          }|t          |	          rt          }|t          u rQ|r ||	|
          \  }	}
|
t          u rl|	|j        vrv|
||	<   ||dk    r_t#          |
                    d	          |
                    d
          |
                    d                    }|                    |            | j	        di |d|iS )z|
    Transfer the bokeh options of an element to another backend
    based on an internal mapping of option transforms.
    backendT)r   per_elementbokehF)r   defaultsN
matplotlibr   r   r
   r   r   )type__name__r   optionsBACKEND_TRANSFORMS
isinstancer   apply_transfer_optsr   getkwargsgroupsitems_is_interactive_optr   allowed_keywordsr   update)elementr   elnamer   
transformsnew_opts
el_optionsgrpel_optsoptval	transform	size_optss                r   r   r      s   
 ']]#FmG,,,G#G,J'+,, 
--G   
 
 H!!'E!BBIJ.4466    W"((** 	  	 HC"sB//33C>>I  %8%=%= !	E!! $9S#..S%<<'222HSMM	   ,*NN7##Z^^H%=%=NN8$$
 
	 		"""7<44(44G4444r   c                 h    g dt          fd|                     d          D                       S )z
    Heuristics to detect if a bokeh option is about interactivity, like
    'selection_alpha'.

    >>> is_interactive_opt('height')
    False
    >>> is_interactive_opt('annular_muted_alpha')
    True
    )hovermutednonselection	selectionc              3       K   | ]}|v V  	d S Nr   ).0partinteractive_flagss     r   	<genexpr>z&_is_interactive_opt.<locals>.<genexpr>S   s)      GGTt((GGGGGGr   _)anysplit)bk_optr;   s    @r   r$   r$   C   sF       GGGGV\\#5F5FGGGGGGr   c                 r    t           j        dk    r&|                     t          t           j                  } | S )Nr   r   )r   current_backendr   r   )r'   s    r   _transfer_opts_cur_backendrC   V   s-    ''--8M-NNNr   buttround
projecting)rD   rE   squaresoliddasheddotteddashdot)rH   rI   rJ   dotdashrK   topcenterbottom)rM   middlerO   
alphabetichangingideographicr   r   
min_height	min_width
max_height	max_widthframe_widthframe_heightsizing_mode
responsiveshared_axesshared_datasourceselectedtoolsactive_toolsdefault_toolstoolbar)
alignlodmarginborderjitterlegend_mutedlegend_offset	gridstylecolorbar_positionviolin_width	bar_widthsizec                 
    d|fS )Nsr   kvs     r   <lambda>rt      s
    c1X r   
fill_colorc                 
    d|fS )N	facecolorr   rq   s     r   rt   rt          K#3 r   
fill_alpha
line_alphaline_capc                 F    dt                               |t                    fS )Ncapstyle)_line_cap_bk_mpl_mappingr    r   rq   s     r   rt   rt      s    *.F.J.J1e.T.T!U r   
line_colorc                 
    d|fS )N	edgecolorr   rq   s     r   rt   rt      rx   r   	line_dashc                 F    dt                               |t                    fS )N	linestyle)_line_dash_bk_mpl_mappingr    r   rq   s     r   rt   rt      s    ;0I0M0MaQV0W0W"X r   	line_joinc                 
    d|fS )N	joinstyler   rq   s     r   rt   rt          ;"2 r   
line_widthc                 
    d|fS )N	linewidthr   rq   s     r   rt   rt      rx   r   paletteclick_policyannular_alphaannular_colorannular_fill_alphaannular_fill_colorannular_line_alphaannular_line_capannular_line_colorc                 
    d|fS )Nannular_edgecolorsr   rq   s     r   rt   rt      s    ,@!+D r   annular_line_dashannular_line_joinannular_line_widthc                 
    d|fS )Nannular_linewidthr   rq   s     r   rt   rt      s    ,?+C r   annular_visibledilateticks_text_alignticks_text_alphaticks_text_baselineticks_text_colorticks_text_fontticks_text_font_sizeticks_text_font_stylexmarks_alphaxmarks_colorxmarks_line_alphaxmarks_line_capxmarks_line_colorc                 
    d|fS )Nxmarks_edgecolorr   rq   s     r   rt   rt          +=q*A r   xmarks_line_dashxmarks_line_joinxmarks_line_widthc                 
    d|fS )Nxmarks_linewidthr   rq   s     r   rt   rt      r   r   xmarks_visibleymarks_alphaymarks_colorymarks_line_alphaymarks_line_capymarks_line_colorc                 
    d|fS )Nymarks_edgecolorr   rq   s     r   rt   rt      r   r   ymarks_line_dashymarks_line_joinymarks_line_widthc                 
    d|fS )Nymarks_linewidthr   rq   s     r   rt   rt      r   r   ymarks_visible
lower_headc                 
    d|fS )Nlolimsr   rq   s     r   rt   rt      
    Ha= r   
upper_headc                 
    d|fS )Nuplimsr   rq   s     r   rt   rt      r   r   whisker_coloroutlier_color
text_alignc                 
    d|fS )Nhorizontalalignmentr   rq   s     r   rt   rt      s    $91#= r   
text_alphac                 
    d|fS )Nalphar   rq   s     r   rt   rt      
    GQ< r   text_baselinec                 F    dt                               |t                    fS )Nverticalalignment)_text_baseline_bk_mpl_mappingr    r   rq   s     r   rt   rt      s    ':<Y<]<]^_af<g<g&h r   
text_colorc                 
    d|fS )Ncolorr   rq   s     r   rt   rt      r   r   	text_fonttext_font_sizec                 
    d|fS )Nrn   r   rq   s     r   rt   rt      s
    { r   text_font_style	box_alphabox_cmapbox_fill_alphabox_fill_colorbox_line_alphabox_line_capbox_line_colorbox_line_dashbox_line_joinbox_line_widthbox_visiblemedian_alphamedian_coloroutline_alphaoutline_coloroutline_line_alphaoutline_line_capoutline_line_coloroutline_line_dashoutline_line_joinoutline_line_widthoutline_visiblestats_alphastats_line_alphastats_line_capstats_line_colorstats_line_dashstats_line_joinstats_line_widthstats_visibleviolin_alphaviolin_cmapviolin_colorviolin_fill_alphaviolin_fill_colorviolin_line_alphaviolin_line_capviolin_line_colorviolin_line_dashviolin_line_joinviolin_line_widthviolin_visibleeditablefit_columnsindex_positionrow_headersscroll_to_selection
selectablesortable
edge_alphac                 
    d|fS )Nr  r   rq   s     r   rt   rt         L!#4 r   	edge_cmapc                 
    d|fS )Nr  r   rq   s     r   rt   rt     r   r   
edge_colorc                 
    d|fS Nr  r   rq   s     r   rt   rt     r  r   edge_fill_alphaedge_fill_coloredge_line_alphaedge_line_capedge_line_colorc                 
    d|fS r  r   rq   s     r   rt   rt     s    q(9 r   edge_line_dashc                 
    d|fS )Nedge_linestyler   rq   s     r   rt   rt   	  s    (8!'< r   edge_line_joinedge_line_widthc                 
    d|fS )Nedge_linewidthr   rq   s     r   rt   rt         )91(= r   edge_visible
node_alphac                 
    d|fS )Nr$  r   rq   s     r   rt   rt     r  r   	node_cmapc                 
    d|fS )Nr&  r   rq   s     r   rt   rt     r   r   
node_colorc                 
    d|fS )Nr(  r   rq   s     r   rt   rt     r  r   node_fill_alphanode_fill_colorc                 
    d|fS )Nnode_facecolorsr   rq   s     r   rt   rt         ):A(> r   node_line_alphanode_line_capnode_line_colorc                 
    d|fS )Nnode_edgecolorsr   rq   s     r   rt   rt     r.  r   node_line_dashnode_line_joinnode_line_widthc                 
    d|fS )Nnode_linewidthr   rq   s     r   rt   rt     r"  r   node_markerc                 
    d|fS )Nr9  r   rq   s     r   rt   rt     s    ]A$6 r   node_radius	node_sizec                 
    d|fS )Nr<  r   rq   s     r   rt   rt     r   r   node_visiblec                 
    d|fS )Nvisibler   rq   s     r   rt   rt     s
    i^ r   )plotstyledashdotc                 
    d|fS Nopacityr   rq   s     r   rt   rt   +  
    y!n r   )r   rT   rU   rV   rW   rX   rY   batchedlegend_limitr_   shared_xaxisshared_yaxisc                 
    d|fS rF  r   rq   s     r   rt   rt   9  rH  r   c                 0    | t          j        ||          fS r8   r   r    rq   s     r   rt   rt   :  s    q-"3Aq"9"9: r   c                 0    dt          j        ||          fS )N	fillcolorrO  rq   s     r   rt   rt   ;  s    K1B1a1H1H#I r   c                 0    | t          j        ||          fS r8   rO  rq   s     r   rt   rt   <  s    A}'8A'>'>#? r   c                 F    dt                               |t                    fS )NrC  )_line_dash_bk_plotly_mappingr    r   rq   s     r   rt   rt   =  s    6+G+K+KAu+U+U"V r   c                 
    d|fS )Nr   r   rq   s     r   rt   rt   >  r  r   )r   r   ru   r   r   r   muted_alphar   )r   plotlyN)__doc__holoviews.core.overlayr   holoviews.core.optionsr   holoviews.plotting.utilr   r   r   r   r   r$   rC   r~   r   r   MATPLOTLIB_TRANSFORMSrT  PLOTLY_TRANSFORMSdictr   r   r   r   <module>r_     sT    4 3 3 3 3 3 ( ( ( ( ( ( 1 1 1 1 1 1 	Wb"  %5 %5 %5PH H H&         ! ! % 	e 	U	
 	e 	U 	u 	 	u 	e 	u 	U 	E 	 	  	!" 	5#$ "7  :IUI%%I 	33I 	e	I
 	eI 	UUI 	33I 	XXI 	22I 	33I 	5I 	I 	I 	I 	eI  	e!I" 	e#I I$ 	E%I& 	DD'I( 	U)I* 	U+I, 	CC-I. 	5/I0 	%1I2 	E3I4 	E5I6 	u7I8 	E9I: 	5;I< 	=I> 	 ?I@ 	AIB 	CID 	UEI I IF 	5GIH 	AAIIJ 	EKIL 	EMIN 	AAOIP 	%QIR 	SIT 	UIV 	UWIX 	5YIZ 	AA[I\ 	E]I^ 	E_I` 	AAaIb 	%cId 	00eIf 	00gI I Ih 	iIj 	kIl 	==mIn 	//oIp 	hhqIr 	//sIt 	UuIv 	22wIx 	5yIz 	U{I| 	E}I~ 	%I@ 	%AIB 	%CID 	EIF 	%GIH 	II I IJ 	KIL 	%MIN 	uOIP 	QIR 	SIT 	UIV 	WIX 	eYIZ 	E[I\ 	e]I^ 	U_I` 	UaIb 	ecId 	5eIf 	ugIh 	EiIj 	%kI I Il 	EmIn 	5oIp 	5qIr 	EsIt 	uIv 	wIx 	uyIz 	{I| 	U}I~ 	UI@ 	UAIB 	5CID 	UEIF 	EGIH 	EIIJ 	UKIL 	%MI I IN 	EOIP 	uQIR 	%SIT 	uUIV 	uWIX 	eYIZ 	E[I\ 	44]I^ 	22_I` 	44aIb 	5cId 	5eIf 	5gIh 	iIj 	99kIl 	<<mIn 	%oI I Ip 	==qIr 	sIt 	44uIv 	22wIx 	44yIz 	5{I| 	>>}I~ 	5I@ 	AIB 	>>CID 	%EIF 	%GIH 	==IIJ 	66KIL 	uMIN 	22OIP 	33QI I=h h Z      -,  -,::II??VV44	 	  8 T$     r   