🧭 v0.10.2 — Breadcrumbs, Iconable, and Dropdown Polish
What Was Added
Breadcrumb components — Three new components for navigation trails:
BreadcrumbComponent— single crumb withtitle,path,icon,currentstate, and five variantsBreadcrumbDropdownComponent— a crumb that opens a dropdown inline within a trailBreadcrumbsComponent— container accepting raw hashes, ActiveModel classes, or ActiveModel instances; variant inherited by all child crumbs automatically
Midwest::Iconable — Opt-in model concern that lets any ActiveModel class declare a canonical icon via icon :name. Inherited by subclasses, and automatically used when passing Iconable models to midwest_breadcrumbs.
DropdownMenuComponent — New component encapsulating the dropdown menu shell, with align and computed options.
HasDropdownMenu internal concern — Extracted to internal/has_dropdown_menu.rb; provides renders_many :items and indicator option to any component hosting a dropdown.
Iconable documentation — Added 02_iconable.md.erb to the Rails features docs.
What Changed
DropdownComponentupdated to useHasDropdownMenuand the newDropdownMenuComponentshell.DropdownItemComponentrefactored — template and styles updated.- Dropdown CSS overhauled: alignment variants promoted to the new menu component, nested positioning improved.
view_helper.rbupdated to expose the new breadcrumb helpers.
What Was Removed
- Two items removed from
COMPONENT_AUDIT.md(breadcrumb entries marked done). - Redundant Tailwind CSS utility removed from
midwest.tailwind.css.
Dev Process
- New system tests added for breadcrumb, breadcrumb dropdown, breadcrumbs, dropdown alignment, and
as_typespreviews. - New unit tests for all new components and concerns (111+ assertions in the Iconable suite alone).