
    e:                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ dd	lmZ dd
lmZ ddlmZ  e            Zd Zd Zd Zd Zd Zd Z G d de          ZdS )    N)Document)script_for_render_items)%standalone_docs_json_and_render_items)wrap_in_script_tag)
_link_docs)panel   )LabelledData)Store)	extensionc                 P  K   ddl m} |j                                        }| |vr2t	          j        d           d {V  t          | |           d {V  d S |j                                        }||                    |                    }t          ||j
        j                   d S )Nr   )Bokehg?)jsr   indexobject_keysasynciosleep_linkobject_valuesindexOfr   modeldocument)refdocr   renderedviewsviews         1lib/python3.11/site-packages/holoviews/pyodide.pyr   r      s      {&&((H
(mC         CooK%%''E!!#&&'DsDJ'(((((    c                    ddl m} t          t          j        d          rt          j        j        }nt          d          t                      }t          |           	                    |d           t          |j        d          \  }\  }|j        D ]}||j        j        |<   |                    |          j                            d	           t!          ||g          }t#          j        t'          |j        d         j        d
         |                    }t*                              |           |                    t*          j                   dt1          |          ii fS )Nr   )r   _outz,Could not determine target node to write to.F)locationT)suppress_callback_warningzbk-rootidz	text/html)r   r   hasattrsysstdoutr!   
ValueErrorr   as_panel
server_docr   roots_rootsgetElementById	classListaddr   r   create_taskr   r   _background_taskadd_done_callbackdiscardr   )	objr   targetr   	docs_jsonrender_itemrootscripttasks	            r   render_htmlr;      sV   sz6"" IGHHH
**CSMMS5111 E	T! ! !I~ 	 0 0)/ &&F##-11)<<<$Y>>FuSYq\%5d%;SAABBD+3444+F334b88r   c                 X   |t           j        vrdS t           j        }t          |           t           j        |         vrdS t           j        |         }|                    |           }||j                            d          d         j        vrdS  |||          \  }}|d         |ii fS )zj
    Used to render elements to an image format (svg or png) if requested
    in the display formats.
    Nexistingfig)fmt	mime_type)	r   display_formatscurrent_backendtyperegistry	renderersget_plotparamobjects)elementr?   backendrendererplotdatainfos          r   render_imagerO   3   s    
 %'''t#GG}}EN7333tw'HW%%D (.((44U;CCCt$C(((JD$t$b((r   c                 "    t          | d          S )NpngrO   rI   s    r   
render_pngrT   H       '''r   c                 "    t          | d          S )NsvgrR   rS   s    r   
render_svgrX   K   rU   r   c                  l    dd l } t          | d          p t          | d          pt          | d           S )Nr   _JUPYTERLAB1webpackChunk_jupyterlite_pyodide_kernel_extensionr   )r   r%   )r   s    r   in_jupyterliter\   N   sY    III2}%%  I5h)i)i  Iqxy{  ~H  rI  rI  nI  Ir   c                   "     e Zd ZdZ fdZ xZS )pyodide_extensionFc                     t                      j        |i | | j        st          j                            t          t          j                                                             t          j	        dt          t                     t          j	        dt          t                     t          j	        dt          t                     dt          _        d S d S )Nzhtml+jsrQ   rW   T)super__call___loadedr   output_settings
initializelistrE   keysset_display_hookr
   r;   rT   rX   r^   )selfargsparams	__class__s      r   ra   zpyodide_extension.__call__Z   s    $)&)))| 	-!,,T%/2F2F2H2H-I-IJJJ"9lKHHH"5,
CCC"5,
CCC(,%%%	- 	-r   )__name__
__module____qualname__rb   ra   __classcell__)rk   s   @r   r^   r^   V   s=        G- - - - - - - - -r   r^   )r   r&   bokeh.documentr   bokeh.embed.elementsr   bokeh.embed.utilr   bokeh.embed.wrappersr   panel.io.pyodider   
panel.paner   r)   core.dimensionr
   core.optionsr   utilr   
_extensionsetr1   r   r;   rO   rT   rX   r\   r^    r   r   <module>r|      sX    



 # # # # # # 8 8 8 8 8 8 B B B B B B 3 3 3 3 3 3 ' ' ' ' ' ' ( ( ( ( ( ( ( ( ( ( ( (       ) ) ) ) ) )
 355 	) 	) 	)9 9 9() ) )*( ( (( ( (I I I- - - - -
 - - - - -r   