Skip to content

feat: resizable, navbar, sidebar, date range picker and file upload for MAUI and Avalonia - #14

Merged
Shewart merged 3 commits into
mainfrom
feat/p6-layout-navigation
Oct 11, 2026
Merged

Shewart merged 3 commits into
mainfrom
feat/p6-layout-navigation

Conversation

@Shewart

@Shewart Shewart commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Five new components, each with a MAUI and an Avalonia version. The first three finish P6; the last two are the P7 pickers. The registry now has 97 entries.

  • resizable (Resizable, ResizablePanel): panels side by side or stacked with a divider to drag. A panel has a share of the space and a minimum size, and groups nest for both directions.
  • navbar (Navbar, NavbarItem): brand, links and actions in a 56px bar. Below CollapseBelow (640) the links move into a menu under the bar.
  • sidebar (Sidebar, SidebarGroup, SidebarItem): a 256px column that collapses to a 56px icon rail, with header and footer slots.
  • date-range-picker: a date-picker-style trigger that opens one calendar. The first pick is the start and the second the end; a pick before the start, or with a complete range, starts over. The × clears it. Calendar gains RangeStart and RangeEnd, which highlight a span of days.
  • file-upload: a dashed drop zone that opens the platform file picker and lists the picked files, each with a × to remove it. Multiple, MaxFiles and FileTypes shape what can be picked.

Both demos show the new components, and the docs cover them, including how the Avalonia versions differ.

Differences between the platforms

  • On Avalonia the navbar links, sidebar items and resizable dividers are also tab stops; arrow keys move a divider.
  • File upload items are FileResult on MAUI and IStorageFile on Avalonia; FileTypes takes each platform's own picker type.
  • Dropping files works on Windows only for MAUI, and through Avalonia's drag and drop on Avalonia.

Verification

  • Solution builds with 0 warnings and 0 errors on all four MAUI targets; 930 tests pass; format is clean.
  • Each new entry, and the changed calendar, installs alone into a fresh Avalonia app and builds with 0 warnings.
  • MAUI demo checked on Windows in dark and light.
  • Avalonia demo checked on Windows in dark and light with pointer and key input.

The three components that finish P6, each with a MAUI and an Avalonia
version.

- resizable (Resizable, ResizablePanel): panels side by side or stacked
  with a divider to drag. A panel has a share of the space and a minimum
  size, and groups nest for both directions.
- navbar (Navbar, NavbarItem): brand, links and actions in a 56px bar.
  Below CollapseBelow the links move into a menu under the bar.
- sidebar (Sidebar, SidebarGroup, SidebarItem): a 256px column that
  collapses to a 56px icon rail, with header and footer slots.

On Avalonia the links, sidebar items and dividers are also tab stops,
and the arrow keys move a divider.
- date-range-picker: a date-picker-style trigger that opens one
  calendar. The first pick is the start and the second the end; a pick
  before the start, or with a complete range, starts over. The x clears
  it. Calendar gains RangeStart and RangeEnd, which highlight a span of
  days, on both platforms.
- file-upload: a dashed drop zone that opens the platform file picker
  and lists the picked files, each with an x to remove it. Multiple,
  MaxFiles and FileTypes shape what can be picked. On MAUI, dropping
  files works on Windows only; on Avalonia it uses Avalonia's drag and
  drop.
@github-actions github-actions Bot added documentation Improvements or additions to documentation templates examples labels Oct 11, 2026
@Shewart
Shewart merged commit 86bc23c into main Oct 11, 2026
7 checks passed
@Shewart
Shewart deleted the feat/p6-layout-navigation branch October 11, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation examples templates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant