
    -eB                    "   d Z ddlmZ ddlZ ej        e          ZddlmZ ddl	m
Z
 ddl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 dZe
 G d de                      Z G d de          Z G d de          Z G d de          ZdS )z Various kinds of icons to be used with Button widgets.
See :ref:`ug_interaction_widgets_examples_button` in the |user guide|
for more information.
    )annotationsN   )ToolIcon)abstract)ColorEitherEnumFontSizeIntRequiredString)Init)	Intrinsic)Model)IconBuiltinIconSVGIcon
TablerIconc                  B     e Zd ZdZd fdZ eeedd          Z xZ	S )	r   z0 An abstract base class for icon elements.

    returnNonec                :     t                      j        |i | d S )Nsuper__init__)selfargskwargs	__class__s      5lib/python3.11/site-packages/bokeh/models/ui/icons.pyr   zIcon.__init__B   s%    $)&)))))    1emz
    The size of the icon. This can be either a number of pixels, or a CSS
    length string (see https://developer.mozilla.org/en-US/docs/Web/CSS/length).
    defaulthelp)r   r   )
__name__
__module____qualname____doc__r   r   r   r
   size__classcell__r   s   @r    r   r   ;   s^         
* * * * * * 6#x 6 	 	 	DDDDDr!   r   c                       e Zd ZdZefd fdZ e e ee	          e
          d          Z ed	d
          Z xZS )r   z' Built-in icons included with BokehJS. 	icon_name	Init[str]r   r   c                >     t                      j        dd|i| d S Nr.    r   r   r.   r   r   s      r    r   zBuiltinIcon.__init__N   +    779777777r!   a_  
    The name of a built-in icon to use. Currently, the following icon names are
    supported: ``"help"``, ``"question-mark"``, ``"settings"``, ``"x"``

    .. bokeh-plot::
        :source-position: none

        from bokeh.io import show
        from bokeh.layouts import column
        from bokeh.models import BuiltinIcon, Button

        builtin_icons = ["help", "question-mark", "settings", "x"]

        icon_demo = []
        for icon in builtin_icons:
            icon_demo.append(Button(label=icon, button_type="light", icon=BuiltinIcon(icon, size="1.2em")))

        show(column(icon_demo))

    r%   grayz$
    Color to use for the icon.
    r#   r.   r/   r   r   )r&   r'   r(   r)   r   r   r   r   r	   r   r   r.   r   colorr+   r,   s   @r    r   r   J   s        11 /8 8 8 8 8 8 8 8 X77 ? 	 	 	I* E& ( 	 	 	EEEEEr!   r   c                  B     e Zd ZdZefd	 fdZ eed          Z xZ	S )
r   z$ SVG icons with inline definitions. svgr/   r   r   c                >     t                      j        dd|i| d S )Nr:   r2   r   )r   r:   r   r   s      r    r   zSVGIcon.__init__n   s+    ++S+F+++++r!   z(
    The SVG definition of an icon.
    r5   )r:   r/   r   r   )
r&   r'   r(   r)   r   r   r   r   r:   r+   r,   s   @r    r   r   j   s`        .. )2 , , , , , , , (6 ! 	 	 	CCCCCr!   r   c                  B     e Zd ZdZefd	 fdZ eed          Z xZ	S )
r   aR  
    Icons from an external icon provider (https://tabler-icons.io/).

    .. note::
        This icon set is MIT licensed (see https://github.com/tabler/tabler-icons/blob/master/LICENSE).

    .. note::
        External icons are loaded from thrid-party servers and may not be avilable
        immediately (e.g. due to slow iternet connection) or not available at all.
        It isn't possible to create a self-contained bundles with the use of
        ``inline`` resources. To circumvent this, one use ``SVGIcon``, by copying
        the SVG contents of an icon from Tabler's web site.

    r.   r/   r   r   c                >     t                      j        dd|i| d S r1   r   r3   s      r    r   zTablerIcon.__init__   r4   r!   zS
    The name of the icon. See https://tabler-icons.io/ for the list of names.
    r5   r7   )
r&   r'   r(   r)   r   r   r   r   r.   r+   r,   s   @r    r   r   u   sd           /8 8 8 8 8 8 8 8  ' 	 	 	IIIIIr!   r   )r)   
__future__r   logging	getLoggerr&   log
core.enumsr   core.has_propsr   core.propertiesr   r   r	   r
   r   r   r   core.property.basesr   core.property.singletonsr   modelr   __all__r   r   r   r   r2   r!   r    <module>rI      s    # " " " " " g!! # " " " " " & & & & & &                  ( ' ' ' ' ' 1 1 1 1 1 1       
	 	 	 	 	5 	 	 
		 	 	 	 	$ 	 	 	@		 		 		 		 		d 		 		 			 	 	 	 	 	 	 	 	 	r!   