docstr: returns a list of slices to divide n inputs into n_cols columns,
  filling columns first
docstr_tok: ["returns","a","list","of","slices","to","divide","n","inputs","into","n_cols","columns",",","filling","columns","first"]
code: def get_slices_cols_first(self, n_inputs, n_cols=2):
      """returns a list of slices to divide n inputs into n_cols columns,
      filling columns first"""
      if n_inputs < n_cols:
          n_cols = n_inputs
      rows_per_col = ceil(n_inputs / n_cols)
      slices = []
      for col in range(n_cols):
          if col == n_cols - 1 and n_inputs % rows_per_col > 0:
              slices.append(
                  slice(
                      col * rows_per_col,
                      col * rows_per_col + (n_inputs % rows_per_col),
                  )
              )
          else:
              slices.append(
                  slice(
                      col * rows_per_col,
                      col * rows_per_col + rows_per_col,
                  )
              )
      return slices
  
imports: from math import ceil
  import numpy
  import pandas
  import dash
  from dash import html, dcc, Input, Output, State, dash_table
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..dashboard_methods import *
  from ..None import to_html
label_desc: Use image node_id 3 for calling the FeatureInputComponent obj's underlying member method code with example usage: obj.get_slices_cols_first(n_inputs, n_cols) and returns: slices