Skip to content

feat: Add Search, Top app bar, Toolbar, and shared UI layers - #40

Merged
cmath10 merged 20 commits into
mainfrom
feat-components
Oct 19, 2026
Merged

cmath10 merged 20 commits into
mainfrom
feat-components

Conversation

@cmath10

@cmath10 cmath10 commented Oct 19, 2026

Copy link
Copy Markdown
Member

Summary

  • Add Material 3 Search, Top app bar, and Toolbar to React and Vue with matching Storybook guides and examples.
  • Introduce shared UI layers for modal surfaces, popovers, floating controls, and feedback. Popovers and snackbars follow their owning modal layer, with matching browser coverage in both workspaces.
  • Stabilize browser tests that depended on font loading or Vite dependency optimization.

Breaking changes

  • M3Surface.zIndex was removed. Modal stacking now follows layer activation order.
  • Foundation stylesheet layer names were replaced with floating, feedback, popover, and modal; --m3-search-z-index no longer controls the search overlay.

Validation

  • ESLint, package/test/E2E/Storybook type checks, package build and packed-package contracts passed.
  • 367 unit tests and 97 browser E2E tests passed.
  • React and Vue Storybook docs rendered without runtime errors; 240 Storybook smoke tests passed.
  • Combined coverage: 85.88% (Codecov project target: 80%).
  • CI workflow lint and dry-run plan, plus Node/Yarn Docker runtime parity, passed.

Closes #21
Closes #26
Closes #12

cmath10 added 20 commits October 7, 2026 21:32
Modal focus, popovers, floating content, and feedback now use isolated layer hosts and group levels.

BREAKING CHANGE: The layers.scss level names were replaced with floating, feedback, popover, and modal; --m3-search-z-index no longer controls the search overlay.
Modal surfaces own their popovers and feedback. Layer stacking and dismissal are covered by Storybook examples and browser tests.

BREAKING CHANGE: M3Surface.zIndex was removed; modal stacking now follows layer activation order.
Modal surfaces own their popovers and feedback. Layer stacking and dismissal are covered by Storybook examples and browser tests.

BREAKING CHANGE: M3Surface.zIndex was removed; modal stacking now follows layer activation order.
The Toolbar width assertion now waits for fonts, and smoke tests prebundle validator assertions before opening Storybook stories.
The Toolbar width assertion now waits for fonts, and smoke tests prebundle validator assertions before opening Storybook stories.
@cmath10
cmath10 merged commit 8bca880 into main Oct 19, 2026
20 checks passed
@cmath10
cmath10 deleted the feat-components branch October 19, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add M3 Top app bar for Vue and React feat: Add M3 Search for Vue and React feat: Add M3 Toolbars for Vue and React

1 participant