class_docstr: Either shows a dropdown or a free text input field for selecting an index
class_docstr_tok: ["Either","shows","a","dropdown","or","a","free","text","input","field","for","selecting","an","index"]
docstr: generates an index selector, either (dynamic) dropdown or free text field with input checker
  
  Args:
      explainer (BaseExplainer): explainer
      name (str, optional): dash id to assign to the component. Defaults to None, in which case a unique identifier gets generated.
      index (str, optional): initial index to select and display. Defaults to None.
      index_dropdown (bool, optional): if set to false, input is an open text input instead of a dropdown. Defaults to True.
      max_idxs_in_dropdown (int, optional): If the number of rows (idxs) in X_test is larger than this,
          use a servers-side dynamically updating set of dropdown options instead of storing all index
              options client side. Defaults to 1000.
code: def __init__(
      self,
      explainer,
      name: str = None,
      index: str = None,
      index_dropdown: bool = True,
      max_idxs_in_dropdown: int = 1000,
      **kwargs,
  ):
      """generates an index selector, either (dynamic) dropdown or free text field with input checker
  
      Args:
          explainer (BaseExplainer): explainer
          name (str, optional): dash id to assign to the component. Defaults to None, in which case a unique identifier gets generated.
          index (str, optional): initial index to select and display. Defaults to None.
          index_dropdown (bool, optional): if set to false, input is an open text input instead of a dropdown. Defaults to True.
          max_idxs_in_dropdown (int, optional): If the number of rows (idxs) in X_test is larger than this,
              use a servers-side dynamically updating set of dropdown options instead of storing all index
                  options client side. Defaults to 1000.
      """
      super().__init__(explainer, name=name)
      self.index_name = self.name
  
imports: import sys
  from abc import ABC
  import inspect
  import types
  from typing import Union, List, Tuple
  from pathlib import Path
  from importlib import import_module
  import socket
  import dash
  from dash import html, dcc, Input, Output, State
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from .None import to_html
label_desc: Use image node_id 1 to create a new IndexSelector object from inherited base classes: ExplainerComponent with example: obj = IndexSelector(explainer, name, index, index_dropdown, max_idxs_in_dropdown)