Skip to main content

multiSelect

chips + +N more overflow.

The multiSelect cell rendered in a Bst-Table grid

Example source
import React from 'react'
import { BstTableMui } from '@bloomskill/table-mui'
import type { BstTableColumn } from '@bloomskill/table-engine'
import '@bloomskill/table-engine/styles.css'
const rows = [{ id:'1', item:'Nimbus', v:['api','pro'] }, { id:'2', item:'Cirrus', v:['new'] }]
const columns: BstTableColumn<any>[] = [
{ id: 'item', accessorKey: 'item', header: 'Item' },
{ id:'v', accessorKey:'v', header:'Tags', meta:{ type:'multiSelect', options:[{ value:'api', label:'API', color:'#3b82f6' }, { value:'pro', label:'Pro', color:'#a855f7' }, { value:'new', label:'New', color:'#10b981' }] } },
]
export default function App() {
return <BstTableMui data={rows} columns={columns} getRowId={(r) => r.id} pagination={false} />
}
Loading live example…

Guide

When to use it

Several values from a set — tags, labels, skills — shown as chips.

How it works

Reads a string[] and renders one chip per value; extras fold into a +N more. Editing opens a checkbox dropdown. Shares the meta.options shape with singleSelect.

Options

  • cellMeta.maxChips — cap the chips shown before +N more (default 3).
  • cellMeta.fitChips — width-aware: fit as many chips as the column width allows, folding the rest.

At a glance

Renderschips + +N more overflow
Value shapestring[]
Editable✅ checkbox dropdown
Key cellMetamaxChips, fitChips

Use it

const columns: BstTableColumn<Row>[] = [
{ id: 'x', accessorKey: 'x', header: 'X', meta: { type: 'multiSelect', /* cellMeta below */ } },
]

cellMeta options

multiSelect

cellMetaTypeEffect
maxChipsnumberMax chips before +N more. Default 3.
fitChipsbooleanWidth-aware: show as many chips as the column width fits, fold the rest into +N more (widen → more chips). maxChips then acts as an upper cap.