Skip to content

feat(mix): add WrapBox layout - #1001

Merged
leoafarias merged 5 commits into
mainfrom
feat/wrap-box
Aug 1, 2026
Merged

feat(mix): add WrapBox layout#1001
leoafarias merged 5 commits into
mainfrom
feat/wrap-box

Conversation

@leoafarias

Copy link
Copy Markdown
Member

Summary

  • add public WrapSpec/WrapStyler and composite WrapBoxSpec/WrapBoxStyler/WrapBox APIs
  • provide flattened, collision-safe fluent fields (wrapAlignment, wrapClipBehavior) plus the .flow(WrapStyler(...)) escape hatch
  • add generator metadata and tests for constructors, factories, merging, modifiers, variants, and animations
  • add additive mix_protocol v1 wrap and wrap_box codecs, vocabulary, inventory, schema, token-walking, and round-trip coverage
  • add package documentation and a runnable public-API example with smoke tests and narrow/wide goldens

Grid and GridBox changes are intentionally excluded from this PR.

Verification

  • fvm dart run melos run exports
  • fvm dart run melos run gen:build
  • fvm dart run melos run format:check
  • fvm dart run melos run ci
  • fvm dart run melos run schema:inventory ✅ (402 IDs)
  • fvm dart run melos run analyze:dart ✅ (all 10 packages)
  • focused DCM checks for the new Mix and protocol source ✅

Existing baseline/tooling limitations

  • fvm dart run melos run analyze reaches DCM after schema and Dart analysis pass, then reports 14 existing issues in four unchanged files: mix_annotations/lib/src/annotations.dart and the three existing MixWidget generator files.
  • fvm dart run melos run api-check -- mix 2.2.0-beta.1 cannot generate a report because dart_apitool encounters the existing method/constructor ambiguity for WidgetModifierConfig.translate; that file is unchanged by this PR.

Route the wrap_box branch through _withNestedBranchLiteralSchemas so its
decoration and foregroundDecoration export the box-decoration-literal ref
instead of the generic property term, and assert both in the schema
export golden test.
… comparator

Add WrapStyler/WrapBoxStyler/WrapBox to the styler mixin conformance and
StyleWidget default-style enumerations, and derive the example golden
comparator's basedir from the ambient comparator so goldens resolve
regardless of process CWD.
@leoafarias
leoafarias merged commit e47f9fe into main Aug 1, 2026
4 checks passed
@leoafarias
leoafarias deleted the feat/wrap-box branch August 1, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant