-
v0.14.0 Stable
released this
2026-09-15 22:18:12 +00:00 | 144 commits to main since this releaseChanged
-
AppLayout's main region is now the scrollport. The shell is one viewport
tall (100dvh),.pui-app-layout__maintakes the height left under the
header and scrolls withoverflow: auto, and the document never scrolls.
The header and navigation rail lose theirposition: sticky; they simply
stay put. This gives a page a definite height to work against: a sticky
pagination or action band pins to the region's bottom edge, a1frrow
takes the real leftover space, and a short page no longer grows a scrollbar
to fit a sticky aside.overscroll-behavior-block: containon the region
keeps an iOS rubber-band from dragging the whole shell, and a print rule
(block-size: auto,overflow: visible) prints the whole page rather than
one screenful.Consumer-visible: anything that scrolled the window must now scroll the
region. Vue Router'sscrollBehavioronly scrolls the window, so return
falsefrom it and setmain.scrollTopyourself on route change (and on
back, if you restore); move ascroll-padding-block-endfor sticky bands
fromhtmlto<main>, and drop anyscroll-padding-block-startfor the
header, which is now outside the scrollport. A sticky band pins at the
region's content edge, inside its padding, so a page that ends in one
sets--pui-app-layout-main-paddingwith a0block-end instead of
pulling the band down with a negative margin. Fragment links to targets
inside the region keep working natively. Escape hatch, one line:
.pui-app-layout { block-size: auto; min-block-size: 100dvh }makes the
document the scrollport again (pin the header yourself if you want it
fixed).
Added
sidebar-leftandsidebar-righticons: a panel outline with the divider on
the left or the right, for toggling a side column.sidebar-leftis
Feather'ssidebar;sidebar-rightis its mirror on the same 24px grid.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-