Hey everyone,
There’s been a few new versions of dash-bootstrap-components released recently, and I want to share some of the new features with you! You can try all of this out now if you upgrade
pip install -U dash-bootstrap-components
These days it’s a relatively mature library, but we keep adding new features and squashing bugs that get requested / reported over on our issue tracker. Thanks to @AnnMarieW and @glsdown for their amazing contributions.
Here’s a summary of all the changes added in the last couple of months since version 1.2.1:
Added
Components as children
A bunch of components now accept other Dash components as children where previously they only accepted strings. Including DropdownMenu.label, NavbarSimple.brand, Toast.header, Offcanvas.title, and the label props of Checklist, RadioItems, RadioButton, Checkbox, and Switch components. (PR 940) (PR 938) (PR 917)
flights = html.Div([html.I(className="bi bi-airplane pe-1"), "Flights"])
car = html.Div([html.I(className="bi bi-car-front pe-1"), "Rental Car"])
hotel = html.Div([html.I(className="bi bi-house pe-1"), "Hotel"])
radioitems = html.Div(
[
dbc.Label("Booking"),
dbc.RadioItems(
options=[
{"label": flights, "value": 1},
{"label": car, "value": 2},
{"label": hotel, "value": 3},
],
value=1,
id="radioitems-input",
),
]
)

Horizontal collapse
This was a much requested feature. You can how have a Collapse with horizontal animation. Just set horizontal=True. (PR 896)

Stack
The new Stack component makes it easier to control vertical layout of your components. It’s kind of like a vertical version of Row ((PR 897)
stack = html.Div(
[
dbc.Stack(
[
html.Div(
"This stack has no gaps", className="bg-light border"
),
html.Div("Next item", className="bg-light border"),
html.Div("Last item", className="bg-light border"),
]
),
html.Hr(),
dbc.Stack(
[
html.Div("This stack has gaps", className="bg-light border"),
html.Div("Next item", className="bg-light border"),
html.Div("Last item", className="bg-light border"),
],
gap=3,
),
]
)
Support for shorthand options
We now support the same shorthand syntax for specifying options in Checklist, RadioItems, Select that dash-core-components has ((PR 894). For example
dbc.Checklist(["Option 1", "Option 2", "Option 3"])
# equivalent to
dbc.Checklist(
[
{"label": "Option 1", "value": "Option 1"},
{"label": "Option 1", "value": "Option 1"},
{"label": "Option 1", "value": "Option 1"},
]
)
Numbered ListGroup
Add numbered prop to ListGroup for numbered list group support ((PR 895)
list_group = dbc.ListGroup(
[
dbc.ListGroupItem("Item 1"),
dbc.ListGroupItem("Item 2"),
dbc.ListGroupItem("Item 3"),
],
numbered=True,
)
Placeholder
Add new Placeholder component which can be used as a loading component while waiting on a callback to populate content (PR 899)
Changed
- We’ve updated to Bootstrap 5.2.3 ((PR 916), and Bootstrap Icons 1.10.3 (PR 940)
- We no longer support Python 3.6 as it is EOL ((PR 913)
Bugfixes
For a full list of bugfixes, see our changelog

