OverflowList
Lays a set of items out in one row and folds whatever will not fit into an overflow control — reach for OverflowTooltip instead when the thing overrunning is a single run of text rather than a set. By default the overflow is a +N more chip opening a popover of every item; compose it yourself from the OverflowListMore parts (Trigger, Content, Header, Items, Count), or pass any overflowRenderer(hiddenItems, { allItems, visibleItems }) of your own. It re-measures whenever the container changes width.
Usage
Examples
Collapsed
The same nine in 200px: two survive and the +N takes the rest, which is the whole job.
Collapse from start
collapseFrom='start' hides the beginning and keeps the end in view — for a path or a
history where the most recent items are the ones that matter.
Min visible items
minVisibleItems puts a floor under the measurement: however tight the column gets,
that many items stay and the rest go to the +N rather than the row emptying out.
Resizable container
Drag the box's right edge: the split is re-measured as the width changes rather than at breakpoints, which is what makes it safe inside a resizable panel.
With header
The full composition: a header counting every item over the popover list, built from
OverflowListMoreHeader and OverflowListMoreCount in plain JSX. Items already in the
row are listed first and faded.
Hidden only
show='hidden' lists only what the row folded away — the pattern for editable
contexts such as a multi-select input, where the visible chips are right there.
Cover placement
placement='cover' opens the popover over the row itself, from its left edge.
Pluralized header
When the header needs the number as a value — pluralization, i18n — read it with
useOverflowListMore() inside your own component instead of OverflowListMoreCount.
Custom renderer
overflowRenderer is just a function of the hidden items — anything goes, no popover
required.