The panel, its rows, and CmsSelectMenu — the select an admin surface actually reaches for.
The control Accent UI was born from: the dropdown. The panel, its rows,
and the one component the admin adds to Bootstrap's vocabulary —
CmsSelectMenu.
A .dropdown-menu gets the app radius, an ink hairline border, and an
elevation drawn in ink rather than grey — which means the shadow flips
with light and dark for free, because the ink does.
<button type="button" class="dropdown-item" role="menuitemradio" aria-checked="true">
Landing
</button>
small class is a no-op, and a
menu that forgets it no longer renders a size of its own..active, aria-checked, aria-selected) is the wash
plus accent ink — tint alone reads as hover; ink is what says "this
one.".dropdown-header) wear the tiny-caps voice. Write the
bare class; no inline letter-spacing, no text-uppercase.The select for admin surfaces. A native <select> is the one part of a
form the browser refuses to let a skin touch — its option list always
arrives looking like the OS. CmsSelectMenu replaces it with a real
menu: menuitemradio rows, a check on the current value, and the native
keyboard contract re-implemented rather than skipped — Escape closes and
refocuses, arrows walk, Home/End jump, and the menu opens with the
current value focused.
It has two modes behind one shell: a grouped flat list (the classic
select), and a browse mode that drills a tree like a finder — for
choosing content types, locations, anything with an IA. The trigger is a
plain .btn at the one control height, and wears the open tint while
its menu is up.
Reach for a native .form-select only where the choice is incidental —
a dense settings form, a filter. Anywhere the choice is the point, the
menu is CmsSelectMenu.
shadow-sm on a menu — it is !important and blocks the ink
elevation.