code: def layout(self):
      return dbc.Card(
          [
              make_hideable(
                  dbc.CardHeader(
                      [
                          html.Div(
                              [
                                  html.H3(
                                      self.title,
                                      id="interaction-dependence-title-"
                                      + self.name,
                                  ),
                                  make_hideable(
                                      html.H6(
                                          self.subtitle,
                                          className="card-subtitle",
                                      ),
                                      hide=self.hide_subtitle,
                                  ),
                                  dbc.Tooltip(
                                      self.description,
                                      target="interaction-dependence-title-"
                                      + self.name,
                                  ),
                              ]
                          ),
                      ]
                  ),
                  hide=self.hide_title,
              ),
              dbc.CardBody(
                  [
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [self.selector.layout()], width=2
                                  ),
                                  hide=self.hide_selector,
                              ),
                          ]
                      ),
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [
                                          dbc.Label(
                                              "Feature:",
                                              id="interaction-dependence-col-label-"
                                              + self.name,
                                          ),
                                          dbc.Tooltip(
                                              "Select feature to display shap interactions for",
                                              target="interaction-dependence-col-label-"
                                              + self.name,
                                          ),
                                          dbc.Select(
                                              id="interaction-dependence-col-"
                                              + self.name,
                                              options=[
                                                  {
                                                      "label": col,
                                                      "value": col,
                                                  }
                                                  for col in self.explainer.columns_ranked_by_shap()
                                              ],
                                              value=self.col,
                                          ),
                                      ],
                                      md=3,
                                  ),
                                  hide=self.hide_col,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          html.Label(
                                              "Interaction:",
                                              id="interaction-dependence-interact-col-label-"
                                              + self.name,
                                          ),
                                          dbc.Tooltip(
                                              "Select feature to show interaction values for.  Two plots will be shown: "
                                              "both Feature vs Interaction Feature and Interaction Feature vs Feature.",
                                              target="interaction-dependence-interact-col-label-"
                                              + self.name,
                                          ),
                                          dbc.Select(
                                              id="interaction-dependence-interact-col-"
                                              + self.name,
                                              options=[
                                                  {
                                                      "label": col,
                                                      "value": col,
                                                  }
                                                  for col in self.explainer.top_shap_interactions(
                                                      col=self.col
                                                  )
                                              ],
                                              value=self.interact_col,
                                          ),
                                      ],
                                      md=3,
                                  ),
                                  hide=self.hide_interact_col,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          dbc.Label(
                                              f"{self.explainer.index_name}:",
                                              id="interaction-dependence-index-label-"
                                              + self.name,
                                          ),
                                          dbc.Tooltip(
                                              f"Select {self.explainer.index_name} to highlight in the plot."
                                              "You can also select by clicking on a scatter marker in the accompanying"
                                              " shap interaction summary plot (detailed).",
                                              target="interaction-dependence-index-label-"
                                              + self.name,
                                          ),
                                          self.index_selector.layout(),
                                      ],
                                      md=4,
                                  ),
                                  hide=self.hide_index,
                              ),
                          ]
                      ),
                      dbc.Row(
                          [
                              dbc.Col(
                                  [
                                      make_hideable(
                                          dcc.Loading(
                                              id="loading-interaction-dependence-top-graph-"
                                              + self.name,
                                              children=[
                                                  dcc.Graph(
                                                      id="interaction-dependence-top-graph-"
                                                      + self.name,
                                                      config=dict(
                                                          modeBarButtons=[
                                                              [
                                                                  "toImage"
                                                              ]
                                                          ],
                                                          displaylogo=False,
                                                      ),
                                                  )
                                              ],
                                          ),
                                          hide=self.hide_top,
                                      ),
                                  ]
                              ),
                          ]
                      ),
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [self.popout_top.layout()],
                                      md=2,
                                      align="start",
                                  ),
                                  hide=self.hide_popout,
                              ),
                          ],
                          justify="end",
                      ),
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [
                                          dbc.Row(
                                              [
                                                  dbc.Tooltip(
                                                      "Remove outliers (> 1.5*IQR) in feature and interaction feature from plot.",
                                                      target="interaction-dependence-top-outliers-"
                                                      + self.name,
                                                  ),
                                                  dbc.Checklist(
                                                      options=[
                                                          {
                                                              "label": "Remove outliers",
                                                              "value": True,
                                                          }
                                                      ],
                                                      value=[True]
                                                      if self.remove_outliers
                                                      else [],
                                                      id="interaction-dependence-top-outliers-"
                                                      + self.name,
                                                      inline=True,
                                                      switch=True,
                                                  ),
                                              ]
                                          ),
                                      ],
                                      md=2,
                                  ),
                                  hide=self.hide_outliers,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          html.Div(
                                              [
                                                  dbc.Label(
                                                      "Categories:",
                                                      id="interaction-dependence-top-n-categories-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Tooltip(
                                                      "Maximum number of categories to display",
                                                      target="interaction-dependence-top-n-categories-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Input(
                                                      id="interaction-dependence-top-n-categories-"
                                                      + self.name,
                                                      value=self.cats_topx,
                                                      type="number",
                                                      min=1,
                                                      max=50,
                                                      step=1,
                                                  ),
                                              ],
                                              id="interaction-dependence-top-categories-div1-"
                                              + self.name,
                                              style={}
                                              if self.interact_col
                                              in self.explainer.cat_cols
                                              else dict(display="none"),
                                          ),
                                      ],
                                      md=2,
                                  ),
                                  self.hide_cats_topx,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          html.Div(
                                              [
                                                  html.Label(
                                                      "Sort categories:",
                                                      id="interaction-dependence-top-categories-sort-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Tooltip(
                                                      "How to sort the categories: Alphabetically, most common "
                                                      "first (Frequency), or highest mean absolute SHAP value first (Shap impact)",
                                                      target="interaction-dependence-top-categories-sort-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Select(
                                                      id="interaction-dependence-top-categories-sort-"
                                                      + self.name,
                                                      options=[
                                                          {
                                                              "label": "Alphabetically",
                                                              "value": "alphabet",
                                                          },
                                                          {
                                                              "label": "Frequency",
                                                              "value": "freq",
                                                          },
                                                          {
                                                              "label": "Shap impact",
                                                              "value": "shap",
                                                          },
                                                      ],
                                                      value=self.cats_sort,
                                                  ),
                                              ],
                                              id="interaction-dependence-top-categories-div2-"
                                              + self.name,
                                              style={}
                                              if self.interact_col
                                              in self.explainer.cat_cols
                                              else dict(display="none"),
                                          ),
                                      ],
                                      md=4,
                                  ),
                                  hide=self.hide_cats_sort,
                              ),
                          ]
                      ),
                      dbc.Row(
                          [
                              dbc.Col(
                                  [
                                      make_hideable(
                                          dcc.Loading(
                                              id="loading-reverse-interaction-bottom-graph-"
                                              + self.name,
                                              children=[
                                                  dcc.Graph(
                                                      id="interaction-dependence-bottom-graph-"
                                                      + self.name,
                                                      config=dict(
                                                          modeBarButtons=[
                                                              [
                                                                  "toImage"
                                                              ]
                                                          ],
                                                          displaylogo=False,
                                                      ),
                                                  )
                                              ],
                                          ),
                                          hide=self.hide_bottom,
                                      ),
                                  ]
                              ),
                          ]
                      ),
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [self.popout_bottom.layout()],
                                      md=2,
                                      align="start",
                                  ),
                                  hide=self.hide_popout,
                              ),
                          ],
                          justify="end",
                      ),
                      dbc.Row(
                          [
                              make_hideable(
                                  dbc.Col(
                                      [
                                          dbc.Row(
                                              [
                                                  dbc.Tooltip(
                                                      "Remove outliers (> 1.5*IQR) in feature and interaction feature from plot.",
                                                      target="interaction-dependence-bottom-outliers-"
                                                      + self.name,
                                                  ),
                                                  dbc.Checklist(
                                                      options=[
                                                          {
                                                              "label": "Remove outliers",
                                                              "value": True,
                                                          }
                                                      ],
                                                      value=[True]
                                                      if self.remove_outliers
                                                      else [],
                                                      id="interaction-dependence-bottom-outliers-"
                                                      + self.name,
                                                      inline=True,
                                                      switch=True,
                                                  ),
                                              ]
                                          ),
                                      ],
                                      md=2,
                                  ),
                                  hide=self.hide_outliers,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          html.Div(
                                              [
                                                  dbc.Label(
                                                      "Categories:",
                                                      id="interaction-dependence-bottom-n-categories-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Tooltip(
                                                      "Maximum number of categories to display",
                                                      target="interaction-dependence-bottom-n-categories-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Input(
                                                      id="interaction-dependence-bottom-n-categories-"
                                                      + self.name,
                                                      value=self.cats_topx,
                                                      type="number",
                                                      min=1,
                                                      max=50,
                                                      step=1,
                                                  ),
                                              ],
                                              id="interaction-dependence-bottom-categories-div1-"
                                              + self.name,
                                              style={}
                                              if self.col
                                              in self.explainer.cat_cols
                                              else dict(display="none"),
                                          ),
                                      ],
                                      md=2,
                                  ),
                                  self.hide_cats_topx,
                              ),
                              make_hideable(
                                  dbc.Col(
                                      [
                                          html.Div(
                                              [
                                                  html.Label(
                                                      "Sort categories:",
                                                      id="interaction-dependence-bottom-categories-sort-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Tooltip(
                                                      "How to sort the categories: Alphabetically, most common "
                                                      "first (Frequency), or highest mean absolute SHAP value first (Shap impact)",
                                                      target="interaction-dependence-bottom-categories-sort-label-"
                                                      + self.name,
                                                  ),
                                                  dbc.Select(
                                                      id="interaction-dependence-bottom-categories-sort-"
                                                      + self.name,
                                                      options=[
                                                          {
                                                              "label": "Alphabetically",
                                                              "value": "alphabet",
                                                          },
                                                          {
                                                              "label": "Frequency",
                                                              "value": "freq",
                                                          },
                                                          {
                                                              "label": "Shap impact",
                                                              "value": "shap",
                                                          },
                                                      ],
                                                      value=self.cats_sort,
                                                  ),
                                              ],
                                              id="interaction-dependence-bottom-categories-div2-"
                                              + self.name,
                                              style={}
                                              if self.col
                                              in self.explainer.cat_cols
                                              else dict(display="none"),
                                          ),
                                      ],
                                      md=4,
                                  ),
                                  hide=self.hide_cats_sort,
                              ),
                          ]
                      ),
                  ]
              ),
          ],
          class_name="h-100",
      )
  
imports: import dash
  from dash import html, dcc, Input, Output, State
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..dashboard_methods import *
  from ..None import to_html
label_desc: Use image node_id 2 for calling the InteractionDependenceComponent obj's underlying member method code with example usage: obj.layout() and returns: dbc