📱 v0.10.0 — Mobile Navigation, Responsive Audit, and Lookbook Engine
What Was Added
MobileNavComponent— Fixed-bottom mobile navigation bar for touch interfaces. Accepts multipleitemsand an optionalcenter_item(FAB). Automatically hides at viewports ≥ 700 px. Respectsenv(safe-area-inset-bottom)for notched devices.FAB variant on
ButtonComponent—variant: :fabrenders a circular raised button for primary mobile actions.Navigation pattern previews —
fab_navandmobile_navpatterns added to the Patterns category in Lookbook.Midwest::Demo::Engine— Lookbook is now packaged as a proper mountableRails::Engine. Mount a single engine to get the full component browser, panels, and demo controllers.Lookbook custom panels —
accessibility,assets,figma, andpage_themepanels ship directly from the gem and appear in the Lookbook inspector drawer for every preview.
What Changed
DropdownComponent— Nested keyboard navigation fixed; mobile keydown handler guards navigation keys and callsstopPropagation.PopoverComponent— CSS updated for mobile-safe positioning and sheet-style presentation on small viewports.ButtonComponent— Dedicatedbutton_component.css; touch-target improvements for small sizes.BannerComponent— Removedmin-width: 30remfrom.wrap(caused horizontal overflow on narrow viewports).COMPONENT_AUDIT.md— Full mobile/responsive audit covering touch target sizes (WCAG 2.5.5), iOS auto-zoom thresholds, and breakpoint behavior across 26 components.Demo app simplified — Manual Lookbook wiring removed from
demo/config/; handled by the engine.
What Was Removed
- Standalone demo controller boilerplate consolidated into the engine.
Dev Process
Midwest::Demo::Engineis now the canonical way to mount the component browser.bin/rails midwest:lookbook:installsets it up in one step.- Lookbook panel templates now live inside the gem; host apps no longer need to vendor them.