
    	e                        d Z ddlm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mZ ddlmZ ddlmZ ddlmZmZmZ ddlmZ  G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z  G d de          Z! G d de          Z"dS )z
Custom bokeh Widget models.
    )
ButtonType)AnyBoolEitherEnumFloatInstanceIntListNullableOverrideStringTuple)Tooltip)Icon)InputWidgetSelectWidget   )HTMLBoxc                   0   e Zd ZdZ edd          Z edd          Z edd          Z edd          Z ed	d
          Z	 edd          Z
 edd          Z edddd          Z edd          Z ed          Z ed          ZdS )PlayerzQ
    The Player widget provides controls to play through a number of frames.
    r   z Lower bound of the Player sliderhelp
   z Upper bound of the Player sliderzCurrent value of the player appz)Current throttled value of the player appr   z)Number of steps to advance the player by.i  zInterval between updatesze
        Current play direction of the Player (-1: playing in reverse,
        0: paused, 1: playing)oncereflectloopdefaultTz9Whether the loop controls
        radio buttons are showni     N)__name__
__module____qualname____doc__r
   startendvaluevalue_throttledstepinterval	directionr   loop_policyr   show_loop_controlsr   widthheight     4lib/python3.11/site-packages/panel/models/widgets.pyr   r      s         C:;;;E
#b9
:
:
:CC9:::Ec!"MNNNO3qBCCCDs37888HA " # # #I $vy&&AAAKd *# $ $ $ HS!!!EXc"""FFFr2   r   c            	           e Zd ZdZ eeg d          Z e ee e	ee                    d          Z
 edd          Z eed          Zd	S )
SingleSelectz Single-select widget.

    %
    List of options to disable.
    r    r   a  
    Available selection options. Options may be provided either as a list of
    possible string values, or as a list of tuples, each of the form
    ``(value, label)``. In the latter case, the visible widget text for each
    value will be corresponding given label.
    r      z
    The number of visible options in the dropdown list. (This uses the
    ``select`` HTML element's ``size`` attribute. Some browsers might not
    show less than 3 options.)
    zInitial or selected value.N)r"   r#   r$   r%   r   r   disabled_optionsr   r   r   optionsr
   sizer   r(   r1   r2   r3   r5   r5   /   s          tC 3 	 	 	 d66&%%"7"788 @ 	 	 	G 3q   	 	 	D HV">???EEEr2   r5   c                       e Zd Z edd          Z edd          Z edd          Z edd          Z edd          Z	 e
d	d
          Z ed          Z eed          ZdS )AudioFzWhether the audio should loopr   zWhether the audio is pausedzWhether the audio is mutedz*Whether the audio is playing automaticallyr   z5
        The current time stamp of the audio playbackr!   J
        The frequency at which the time value is updated in milliseconds.Encoded file datazThe volume of the audio player.N)r"   r#   r$   r   r   pausedmutedautoplayr   timer
   throttler   r(   r   volumer1   r2   r3   r=   r=   H   s        4?@@@DT%?@@@FD=>>>EtE PQQQH5 8 9 9 9D s3 M N N NH C()))EXe"GHHHFFFr2   r=   c                       e Zd Z edd          Z edd          Z edd          Z edd          Z edd          Z	 e
d	d
          Z ed          Z e
d          ZdS )VideoFzWhether the video should loopr   Whether the video is pausedzWhether the video is mutedz*Whether the video is playing automaticallyr   z5
        The current time stamp of the video playbackr!   r>   r?   zThe volume of the video player.N)r"   r#   r$   r   r   r@   rA   rB   r   rC   r
   rD   r   r(   rE   r1   r2   r3   rG   rG   ]   s        4?@@@DT%?@@@FD=>>>EtE PQQQH5 8 9 9 9D s3 M N N NH C()))ES;<<<FFFr2   rG   c                       e Zd Z eddd          Z edd          Z edd          Z ee	d          Z
 ed	          Z ed
          Z ed          ZdS )VideoStreampngjpegr   FrH   r   z8On change generate a snapshot of the current video framezq
        The timeout between snapshots (if None snapshot only generated
        when snapshot property is changedzSnapshot Data   i@  N)r"   r#   r$   r   formatr   r@   snapshotr   r
   timeoutr   r(   r   r0   r/   r1   r2   r3   rJ   rJ   r   s        T%///FT%?@@@FtE ^___Hhs "- . . .G C()))EXc"""FHS!!!EEEr2   rJ   c                       e Zd Z edd          Z edddddd	d
dd	  	        Z edd          Z e	ed          Z
 ee          ZdS )ProgressTzWhether to animate the barr   primary	secondarysuccessinfodangerwarninglightdarkr   d   zMaximum valuezCurrent valueN)r"   r#   r$   r   activer   	bar_colorr
   maxr   r(   r   r   cssr1   r2   r3   rR   rR      s        T$=>>>FYYy'69N N NI #c+
,
,
,CHS2333E
$v,,CCCr2   rR   c                      e Zd Z edd          Z eed          Z edd          Z	 e
d          Z edd          Z e ee          d	          Z e
d
d          Z e
d          Z edd          Z ed
          ZdS )FileDownloadFzWhether to download on clickr   z7
    A style for the button, signifying it's role.
    r   zM
    A private property that used to trigger ``on_click`` event handler.
    zEncoded URI data.z!Whether the data is pre-embedded.z
    An optional image appearing to the left of button's text. An instance of
    :class:`~bokeh.models.Icon` (such as :class:`~bokeh.models.BuiltinIcon`,
    :class:`~bokeh.models.SVGIcon`, or :class:`~bokeh.models.TablerIcon`).`
     z)The text label for the button to display.zFilename to use on downloadz:
    A private property to create and click the link.
    r   N)r"   r#   r$   r   autor   r   button_typer
   clicksr   dataembedr   r	   r   iconlabelfilename
_transfersr   titler1   r2   r3   ra   ra      s	       4>???D$z ) 	 	 	K S  	 	 	F 6.///DDDEEEE8HHTNN * 	 	 	D F2KLLLEv<===HQ  	 	 	J HR   EEEr2   ra   c                   F    e Zd ZdZ eeg d          Z ed          ZdS )CustomSelectzq Custom widget that extends the base Bokeh Select
    by adding a parameter to disable one or more options.

    r6   r7   r   r   N)	r"   r#   r$   r%   r   r   r9   r
   r;   r1   r2   r3   rn   rn      sK          tC 3 	 	 	 3q>>>DDDr2   rn   c                   @    e Zd Z ee edd          d          ZdS )TooltipIconz	Help textright)contentpositionzThe tooltip held by the iconr7   N)r"   r#   r$   r	   r   descriptionr1   r2   r3   rp   rp      s<        (g>>>/  KKKr2   rp   N)#r%   bokeh.core.enumsr   bokeh.core.propertiesr   r   r   r   r   r	   r
   r   r   r   r   r   bokeh.models.uir   bokeh.models.ui.iconsr   bokeh.models.widgetsr   r   r   layoutr   r   r5   r=   rG   rJ   rR   ra   rn   rp   r1   r2   r3   <module>r{      s    ( ' ' ' ' '                            $ # # # # # & & & & & & < < < < < < < < < <      # # # # #V # # #>@ @ @ @ @; @ @ @2I I I I IG I I I*= = = = =G = = =*" " " " "' " " "&    w   ! ! ! ! !; ! ! !B	 	 	 	 	6 	 	 	    &     r2   