ó
    DšŠh1  ã                   óX   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	   " S S\\5      r
g)	é    )ÚUnion)ÚMacroElement)Ú
JSCSSMixin)ÚTemplate)Úremove_emptyc                   ó¤   ^ • \ rS rSrSrS/rS/r\" S5      r          SS\	\
\S4   S\	\
\S4   S	\S
\S\S\S\S\S\S\4U 4S jjjrSrU =r$ )ÚTreeLayerControlé
   u×  
Create a Layer Control allowing a tree structure for the layers.
See https://github.com/jjimenezshaw/Leaflet.Control.Layers.Tree for more
information.

Parameters
----------
base_tree : dict
    A dictionary defining the base layers.
    Valid elements are

    children: list
        Array of child nodes for this node. Each node is a dict that has the same valid elements as base_tree.
    label: str
        Text displayed in the tree for this node. It may contain HTML code.
    layer: Layer
        The layer itself. This needs to be added to the map.
    name: str
        Text displayed in the toggle when control is minimized.
        If not present, label is used. It makes sense only when
        namedToggle is true, and with base layers.
    radioGroup: str, default ''
        Text to identify different radio button groups.
        It is used in the name attribute in the radio button.
        It is used only in the overlays layers (ignored in the base
        layers), allowing you to have radio buttons instead of checkboxes.
        See that radio groups cannot be unselected, so create a 'fake'
        layer (like L.layersGroup([])) if you want to disable it.
        Default '' (that means checkbox).
    collapsed: bool, default False
        Indicate whether this tree node should be collapsed initially,
        useful for opening large trees partially based on user input or
        context.
    selectAllCheckbox: bool or str
        Displays a checkbox to select/unselect all overlays in the
        sub-tree. In case of being a <str>, that text will be the title
        (tooltip). When any overlay in the sub-tree is clicked, the
        checkbox goes into indeterminate state (a dash in the box).
overlay_tree: dict
    Similar to baseTree, but for overlays.
closed_symbol: str, default '+',
    Symbol displayed on a closed node (that you can click to open).
opened_symbol: str, default '-',
    Symbol displayed on an opened node (that you can click to close).
space_symbol: str, default ' ',
    Symbol between the closed or opened symbol, and the text.
selector_back: bool, default False,
    Flag to indicate if the selector (+ or âˆ’) is after the text.
named_toggle: bool, default False,
    Flag to replace the toggle image (box with the layers image) with the
    'name' of the selected base layer. If the name field is not present in
    the tree for this layer, label is used. See that you can show a
    different name when control is collapsed than the one that appears
    in the tree when it is expanded.
collapse_all: str, default '',
    Text for an entry in control that collapses the tree (baselayers or
    overlays). If empty, no entry is created.
expand_all: str, default '',
    Text for an entry in control that expands the tree. If empty, no entry
    is created
label_is_selector: str, default 'both',
    Controls if a label or only the checkbox/radiobutton can toggle layers.
    If set to `both`, `overlay` or `base` those labels can be clicked
    on to toggle the layer.
**kwargs
    Additional (possibly inherited) options. See
    https://leafletjs.com/reference.html#control-layers

Examples
--------
>>> import folium
>>> from folium.plugins.treelayercontrol import TreeLayerControl
>>> from folium.features import Marker

>>> m = folium.Map(location=[46.603354, 1.8883335], zoom_start=5)

>>> marker = Marker([48.8582441, 2.2944775]).add_to(m)

>>> overlay_tree = {
...     "label": "Points of Interest",
...     "selectAllCheckbox": "Un/select all",
...     "children": [
...         {
...             "label": "Europe",
...             "selectAllCheckbox": True,
...             "children": [
...                 {
...                     "label": "France",
...                     "selectAllCheckbox": True,
...                     "children": [
...                         {"label": "Tour Eiffel", "layer": marker},
...                     ],
...                 }
...             ],
...         }
...     ],
... }

>>> control = TreeLayerControl(overlay_tree=overlay_tree).add_to(m)
)zL.Control.Layers.Tree.min.jsz[https://cdn.jsdelivr.net/npm/leaflet.control.layers.tree@1.1.0/L.Control.Layers.Tree.min.js)zL.Control.Layers.Tree.min.cssz\https://cdn.jsdelivr.net/npm/leaflet.control.layers.tree@1.1.0/L.Control.Layers.Tree.min.cssa0  
        {% macro script(this,kwargs) %}
            L.control.layers.tree(
                {{this.base_tree|tojavascript}},
                {{this.overlay_tree|tojavascript}},
                {{this.options|tojavascript}}
            ).addTo({{this._parent.get_name()}});
        {% endmacro %}
        NÚ	base_treeÚoverlay_treeÚclosed_symbolÚopened_symbolÚspace_symbolÚselector_backÚnamed_toggleÚcollapse_allÚ
expand_allÚlabel_is_selectorc                 ó¨   >• [         TU ]  5         SU l        X;S'   XKS'   X[S'   XkS'   X{S'   X‹S'   X›S'   X«S	'   [        S
0 UD6U l        Xl        X l        g )Nr	   r   r   r   r   r   r   r   r   © )ÚsuperÚ__init__Ú_namer   Úoptionsr   r   )Úselfr   r   r   r   r   r   r   r   r   r   ÚkwargsÚ	__class__s               €ÚrC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\folium/plugins/treelayercontrol.pyr   ÚTreeLayerControl.__init__‰   sr   ø€ ô 	‰ÑÔØ'ˆŒ
Ø"/ˆÑØ"/ˆÑØ!-ˆ~ÑØ"/ˆÑØ!-ˆ~ÑØ!-ˆ~ÑØ)ˆ|ÑØ&7Ð"Ñ#Ü#Ñ- fÑ-ˆŒØ"ŒØ(Õó    )r   r   r   r   )
NNÚ+Ú-z&nbsp;FFÚ r#   Úboth)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
default_jsÚdefault_cssr   Ú	_templater   ÚdictÚlistÚstrÚboolr   Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	   
   s×   ø† ñcðL	
ð€Jð	
ð€Kñ ð	ó
€Ið .2Ø04Ø Ø Ø$Ø#Ø"ØØØ!'ñ)à˜˜t TÐ)Ñ*ð)ð ˜D $¨Ð,Ñ-ð)ð ð	)ð
 ð)ð ð)ð ð)ð ð)ð ð)ð ð)ð ÷)ö )r    r	   N)Útypingr   Úbranca.elementr   Úfolium.elementsr   Úfolium.templater   Úfolium.utilitiesr   r	   r   r    r   Ú<module>r8      s$   ðÝ å 'å &Ý $Ý )ôY)z <õ Y)r    