class_docstr: Creates a Tag Filter Button to filter elements based on criteria
  (https://github.com/maydemirx/leaflet-tag-filter-button)
  
  This plugin works for multiple element types like Marker, GeoJson
  and vector layers like PolyLine.
  
  Parameters
  ----------
  data: list, of strings.
      The tags to filter for this filter button.
  icon: string, default 'fa-filter'
      The icon for the filter button
  clear_text: string, default 'clear'
      Text of the clear button
  filter_on_every_click: bool, default True
      if True, the plugin will filter on every click event on checkbox.
  open_popup_on_hover: bool, default False
      if True, popup that contains tags will be open at mouse hover time
code: def __init__(
      self,
      data,
      icon="fa-filter",
      clear_text="clear",
      filter_on_every_click=True,
      open_popup_on_hover=False,
      **kwargs,
  ):
      super().__init__()
      self._name = "TagFilterButton"
      self.options = parse_options(
          data=data,
          icon=icon,
          clear_text=clear_text,
          filter_on_every_click=filter_on_every_click,
          open_popup_on_hover=open_popup_on_hover,
          **kwargs,
      )
  
imports: from branca.element import MacroElement
  from jinja2 import Template
  from folium.elements import JSCSSMixin
  from folium.utilities import parse_options
label_desc: Use image node_id 1 to create a new TagFilterButton object from inherited base classes: JSCSSMixin, MacroElement with example: obj = TagFilterButton(data, icon, clear_text, filter_on_every_click, open_popup_on_hover)