v0.1.4 — Plugins group polish, label ellipsis, signal rendering, folded-state + sticky-menu fixes
v0.1.4 lands a batch of design follow-ups, mostly on the Plugins group and customize-mode interactions, plus a couple of cross-cutting bug fixes.
What changed
Plugins group → "My Plugins"
- Renamed
Plugins→My Plugins. Disambiguates from the core Plugins admin area, leaves room for the inline attention dot to sit next to the label (matching wp-admin's nativeUpdates [1]pattern). (#31, #38) - New chevron-down icon rendered via CSS mask, sized to match the customize icon. Both icons hover-fade
0.7 → 1with matching timing. (#31) - Chevron moved out of the toggle button (nested
<button>is invalid HTML), placed as a header sibling. A JS click-delegate on the chevron callstoggle.click()so clicking it still toggles expand/collapse. (#31) - Header tightened: 34px height (matches wp-admin's top-level item baseline),
box-sizing: border-box, padding4px 4px 4px 8px(left-8 aligns label with menu-item icon column), 16px top spacing to separate from the row above, hover-bg removed. Toggle and label are flex-shrinkable withtext-overflow: ellipsisfor longer future labels. (#31)
Customize mode
- Plugin labels stay on a single line in customize mode.
.wp-menu-namegotoverflow: hidden,white-space: nowrap,text-overflow: ellipsisso long names like "LiteSpeed Cache" / "WooCommerce" no longer wrap and break drag-target predictability. (#34) - Customize button tooltip —
Customize pluginsshows on hover/focus-visible above-and-right of the button, 250ms show-delay, 100ms hide. CSS-only viadata-tooltip+::afterwith matchingaria-label. (#20) - Collapse Menu stays visible (disabled) in customize mode instead of being removed, so the layout doesn't jump on enter/exit. Disabled state: opacity 0.4, cursor not-allowed,
pointer-events: none,tabindex="-1",aria-disabled="true". Selector covers both<a>(legacy) and<button id="collapse-button">(wp-admin 6.9+). (#18)
Visual fixes
- Group-header hover no longer paints child icons blue. wp-admin's
li.menu-top:hover .wp-menu-image::beforecascade was bleeding through to all children of the group LI; now only the actually-hovered child picks up the hover blue. (#36) - Item-level signals render for
countandbadgetriggers, not justnumeric_badge. Children that fired attention via count (e.g. Payments, Yoast SEO withcount-1) now show an inline badge matching native wp-admin'sUpdates [1]styling — circular for single digits, pill for multi-digit. Badge appended inside.wp-menu-nameso it sits next to the label, not on a new line. (#40)
Folded sidebar
- Folded state shows only the chevron for the My Plugins group, centred in the icon column, matching peer top-level items. Click-to-toggle still works. (#33)
- Folded-state CSS gated to ≥783px so the ≤782px mobile drawer keeps the full group header alongside the rest of the sidebar items. (#42)
Bug fixes
- No more empty band at the top of the sidebar after collapsing/expanding the My Plugins group on long admin pages. Toggle now dispatches a synthetic
resizeevent so wp-admin'ssetMenuPositionreflows the sticky menu against the new height. (#44)
Tests
PHP test suites pass on trunk. JS/CSS changes are covered by manual verification (per-PR test plans).
Requires
- WordPress 6.5+
- PHP 8.0+
License
GPL-2.0-or-later.