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_rows_first(self, n_inputs, n_cols=3):
      """returns a list of slices to divide n inputs into n_cols columns,
      filling columns first"""
      if n_inputs < n_cols:
          slices = [slice(i, i + 1, 1) for i in range(n_inputs)]
      else:
          slices = [
              slice(
                  i,
                  1 + i + (ceil(n_inputs / n_cols) - 1) * n_cols,
                  n_cols,
              )
              if i + n_cols * (ceil(n_inputs / n_cols) - 1) < n_inputs
              else slice(
                  i,
                  1 + i + (int(n_inputs / n_cols) - 1) * n_cols,
                  n_cols,
              )
              for i in range(n_cols)
          ]
      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 4 for calling the FeatureInputComponent obj's underlying member method code with example usage: obj.get_slices_rows_first(n_inputs, n_cols) and returns: slices