Update Bundled @wordpress/* monorepo#48404
Conversation
|
Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.
Interested in more tips and information?
|
Verify the tabs normalization compiles cleanly against the 0.13 release. Bumps the five packages this PR touches: - packages/search (0.12.0 → 0.13.0) - packages/scan (0.11.0 → 0.13.0) - packages/newsletter (0.11.0 → 0.13.0) - packages/videopress (0.11.0 → 0.13.0) - plugins/protect (0.11.0 → 0.13.0) Plus the per-route package.json files under scan, newsletter, and videopress. Other Jetpack projects remain on 0.11.0 — the monorepo-wide bump is the scope of the foundation PR #48404 (in flight).
* Normalize page tabs onto shared minimal variant Migrate all page-level Tabs.List usages in Jetpack admin pages onto <Tabs.List variant="minimal"> + the shared .jp-admin-page-tabs--minimal wrapper modifier shipped in #48908. Delete the local SCSS blocks that were re-implementing what the new shared modifier now provides, plus the legacy default-variant alignment workarounds. - Scan / Newsletter / Search: were already variant="minimal" but each had a local SCSS block re-implementing the new shared modifier. - Protect / VideoPress: migrated from default to minimal variant. VideoPress had a 16-line workaround in DashboardLayout/style.scss specifically to hold default-variant tabs aligned with the page header — deleted, since minimal removes the need. - Newsletter also dropped its bespoke wrapper class jetpack-newsletter-page__tabs-row in favour of the shared jp-admin-page-tabs jp-admin-page-tabs--minimal. Refs #48160. * Bump @wordpress/ui to 0.13.0 across affected packages Verify the tabs normalization compiles cleanly against the 0.13 release. Bumps the five packages this PR touches: - packages/search (0.12.0 → 0.13.0) - packages/scan (0.11.0 → 0.13.0) - packages/newsletter (0.11.0 → 0.13.0) - packages/videopress (0.11.0 → 0.13.0) - plugins/protect (0.11.0 → 0.13.0) Plus the per-route package.json files under scan, newsletter, and videopress. Other Jetpack projects remain on 0.11.0 — the monorepo-wide bump is the scope of the foundation PR #48404 (in flight).
* Normalize page tabs onto shared minimal variant Migrate all page-level Tabs.List usages in Jetpack admin pages onto <Tabs.List variant="minimal"> + the shared .jp-admin-page-tabs--minimal wrapper modifier shipped in #48908. Delete the local SCSS blocks that were re-implementing what the new shared modifier now provides, plus the legacy default-variant alignment workarounds. - Scan / Newsletter / Search: were already variant="minimal" but each had a local SCSS block re-implementing the new shared modifier. - Protect / VideoPress: migrated from default to minimal variant. VideoPress had a 16-line workaround in DashboardLayout/style.scss specifically to hold default-variant tabs aligned with the page header — deleted, since minimal removes the need. - Newsletter also dropped its bespoke wrapper class jetpack-newsletter-page__tabs-row in favour of the shared jp-admin-page-tabs jp-admin-page-tabs--minimal. Refs #48160. * Bump @wordpress/ui to 0.13.0 across affected packages Verify the tabs normalization compiles cleanly against the 0.13 release. Bumps the five packages this PR touches: - packages/search (0.12.0 → 0.13.0) - packages/scan (0.11.0 → 0.13.0) - packages/newsletter (0.11.0 → 0.13.0) - packages/videopress (0.11.0 → 0.13.0) - plugins/protect (0.11.0 → 0.13.0) Plus the per-route package.json files under scan, newsletter, and videopress. Other Jetpack projects remain on 0.11.0 — the monorepo-wide bump is the scope of the foundation PR #48404 (in flight).
b12c5c4 to
edfcd66
Compare
edfcd66 to
be3b654
Compare
be3b654 to
78dc264
Compare
Replace the three `> header` selectors in the AdminPage SCSS module with `> :first-child` so they keep matching after @wordpress/admin-ui 2.1 changed the page header element from <header> to <div>. Together with #49006 (which applied the same fix to the shared admin-page-layout mixin in js-packages/base-styles), this resolves the publicize page header spacing regression that surfaced on PR #48404 — the title/subtitle ' compaction' was the cumulative effect of the three jetpack-side overrides (sticky-disable, border removal, visual-slot centering) silently ceasing to fire, not a missing gap. Also bumps @wordpress/admin-ui from 2.0.0 to 2.1.0 in this package as the consumer-side pin of the version this fix targets.
….1 (#49018) * Components: fix AdminPage SCSS module header selectors for admin-ui 2.1 Replace the three `> header` selectors in the AdminPage SCSS module with `> :first-child` so they keep matching after @wordpress/admin-ui 2.1 changed the page header element from <header> to <div>. Together with #49006 (which applied the same fix to the shared admin-page-layout mixin in js-packages/base-styles), this resolves the publicize page header spacing regression that surfaced on PR #48404 — the title/subtitle ' compaction' was the cumulative effect of the three jetpack-side overrides (sticky-disable, border removal, visual-slot centering) silently ceasing to fire, not a missing gap. Also bumps @wordpress/admin-ui from 2.0.0 to 2.1.0 in this package as the consumer-side pin of the version this fix targets. * Search e2e: adapt header-logo locator to admin-ui 2.1's <div> page header The dashboard test was scoping the Jetpack Logo locator via `page.locator( 'header' )` — coupling to admin-ui 2.0's <header> element. admin-ui 2.1 renders the page header as a <div> (WordPress/gutenberg#78001), so the locator finds nothing once this PR's admin-ui pin lands. Swap the locator to `.jp-admin-page__page > :first-child` — same positional pattern this PR uses in the SCSS module, matches both the old <header> and the new <div>. Updates the surrounding comment to explain the choice.
78dc264 to
821a7e0
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
|
Looks like most of the various PRs mentioned above are all merged now? I fixed the failing JS tests in 69edd8d. Someone should look into the failing E2E test, it failed the same way 3 times so it may not be the normal flakiness. |
|
Let's see if fb117b3 fixes the E2Es without breaking others. |
|
CI seems happy now. Please test and merge. |
This PR contains the following updates:
2.0.0→2.1.01.12.0→2.1.014.1.0→14.3.012.2.0→13.1.0^12.0.0→^13.0.09.29.0→9.31.00.11.0→0.13.0^0.11.0→^0.13.0~1.11.0→~1.13.0Release Notes
WordPress/gutenberg (@wordpress/admin-ui)
v2.1.0Compare Source
Bug Fixes
Page: Fix nested landmark in header. #78001WordPress/gutenberg (@wordpress/dataviews)
v14.3.0Compare Source
v14.2.0Compare Source
Enhancements
descriptionas help text in thearraycontrol.#77554WordPress/gutenberg (@wordpress/icons)
v13.1.0Compare Source
v13.0.0Compare Source
Breaking Changes
tabs-menutotab-list,tabs-menu-itemtotab, andtabtotab-panel. (#77418)WordPress/gutenberg (@wordpress/interface)
v9.31.0Compare Source
v9.30.0Compare Source
WordPress/gutenberg (@wordpress/ui)
v0.13.0Compare Source
Breaking Changes
InputControl: Narrow the TypeScript type of thelabelprop to plain strings (#77860).Select:Select.Itemvalues that are empty strings no longer render with placeholder styling on the trigger. Use the newplaceholderprop onSelect.Trigger, or anullitem value, instead (#78076).Select:Select.Triggernow renders a default"Select"placeholder when no value is selected, where it previously rendered empty (#78076).Select:Select.Itemno longer renders itsvalueas fallback item content. Pass item content explicitly aschildren. Migrate<Select.Item value="Foo" />to<Select.Item value="Foo">Foo</Select.Item>(#77861).Tooltip:Popuppositioner API (#78089). Add aTooltip.Positionersubcomponent and an optionalpositionerprop onTooltip.Popup(when omitted, the defaultTooltip.Positioneris used). Removeside,align, andsideOffsetfromTooltip.Popup; passpositioner={ <Tooltip.Positioner side="…" align="…" sideOffset={ … } /> }instead. The new subcomponent exposes the full positioner surface (alignOffset,anchor,collisionAvoidance,collisionBoundary,collisionPadding,sticky, etc.) and mirrors the existingportalslot pattern.CollapsibleCard.Header: Now renders an outer<div>wrapper around the trigger. Forwarded props (className,aria-*,data-*) andrefland on this outer wrapper instead of the inner click-target div (#77962).Popover:Popuppositioner API (#78168). Add aPopover.Positionersubcomponent and an optionalpositionerprop onPopover.Popup(when omitted, the defaultPopover.Positioneris used). Removeside,align,sideOffset,alignOffset,anchor,arrowPadding,collisionAvoidance,collisionBoundary,collisionPadding, andstickyfromPopover.Popup; passpositioner={ <Popover.Positioner side="…" align="…" anchor={ … } /> }instead.Tooltip,Popover,Select,Autocomplete,Dialog,Drawer,AlertDialog: Narrow the TypeScript types of thePortalsubcomponent props to the package's standardComponentPropsshape.classNameandstyleno longer accept the(state) => …callback variant, andrenderno longer accepts the two-arg(props, state) => …variant from Base UI. Runtime behavior is unchanged (#78168).New Features
SelectControlcomponent (#77809).Bug Fixes
Text: Provide CSS defense values for every variant when rendered as either a paragraph or heading element (#78172).Autocomplete,Select: Do not show the interactive cursor for disabled select triggers or disabled popup items (#78112).Select: Hide the browser focus ring on highlighted popup items (#77919).Drawer: Restore the slide-out animation when the popup closes (#77800).Drawer: Forward therenderprop onDrawer.Contentto the scroll container instead of leaking it as a DOM attribute, matchingDialog.Content(#77941).New Features
useEnableWpCompatOverlaySlot()hook to opt into a body-level overlay container that stacks@wordpress/uioverlays above@wordpress/componentsoverlays in mixed-library compositions. The slot auto-enables whereverwindow.wp.componentsis on the global (the typical script-loader setup for WordPress plugins and admin screens), so the hook is mostly relevant for hosts that bundle@wordpress/components(or only@wordpress/ui) directly — apps that aren't built with standard WordPress build tooling. Per-component support will be added incrementally (#77851).Enhancements
Button: Allow long labels to wrap within constrained containers (#78300).Select: Add aplaceholderprop toSelect.Trigger, and supportnullitem values for clearable placeholder options (#78076).Drawer: Fade the popup elevation shadow alongside the slide (#77800).Drawer: Allow mouse-drag swipe-dismiss in the popup-edge padding gutter (#77800).Tooltip: Default the floating popup's portal container to the@wordpress/uicompat overlay slot when present, so tooltips stack reliably above other overlays in mixed-library compositions. A caller-suppliedTooltip.Portalcontainerprop continues to take precedence (#78095).IconButton: Add apositionerprop, accepting a<Tooltip.Positioner />element, to customize how the tooltip is positioned relative to the button (#78089).CollapsibleCard.Header: Passrender={ <h2 /> }(or any of<h1>–<h6>) to wrap the trigger in a heading and contribute to the document outline, following the W3C APG accordion pattern (heading wraps button) (#77962).Select: Add aSelect.Positionersubcomponent and apositionerslot prop onSelect.Popupto customize the popup placement, mirroring the existingportalslot pattern (#78168).Autocomplete: Add anAutocomplete.Positionersubcomponent and apositionerslot prop onAutocomplete.Popupto customize the popup placement, mirroring the existingportalslot pattern (#78168).Internal
Dialog: Use--wpds-motion-*design tokens for animation duration and easing (#76097).getWpCompatOverlaySlot()helper and a co-located unlayered CSS module that lazily provide a body-level[data-wp-compat-overlay-slot]container at z-index1000000003, gated byuseEnableWpCompatOverlaySlot()and by auto-detection ofwindow.wp.components(#77851).v0.12.0Compare Source
Breaking Changes
Dialog,AlertDialog,Popover,Tooltip,Select:Popupportal API (#77452). AddPortalsubcomponents and an optionalportalprop onPopup(when omitted, the defaultPortalis used). Removecontainerfrom everyPopupandportalClassNamefromDialog.Popup/AlertDialog.Popup; passportal={ <Matching.Portal … /> }forcontainer,className,style, and other portal options.Popover,Tooltip,Select:styleandclassNameonPopupare now forwarded to the inner Base UIPopupelement instead of the outerPositioner. To override the per-instance z-index, passportal={ <Overlay.Portal style={ { '--wp-ui-<overlay>-z-index': '9999' } } /> }(or set the variable globally on a wrapping element); inlinestyle={ { zIndex: … } }onPopupno longer reaches the positioned element.Dialog,Drawer: Scrolling now requires the newDialog.Content/Drawer.Contentsubcomponent; the popup itself no longer scrolls. RenderingHeader/Footeras siblings ofContentpins them to the popup edges; nesting them insideContentopts out of pinning.AlertDialog.PopupaddsstickyHeader/stickyFooterprops (defaulttrue) for the same choice on its internal chrome (#77559).New Features
Drawerprimitive (#76690).Autocompleteprimitive (#77642).Documentation
Bug Fixes
Link: Fix text decoration on theunstyledvariant whenopenInNewTabis enabled, and simplify new-tab icon markup (#77420).Dialog,AlertDialog,Popover,Tooltip,Select: Restore focus-trap tabbability throughThemeProvider'sdisplay: contentswrapper (#77381, #77520).date-fns/@date-fns/tz(#77520), resolving #77395.Text: Apply both heading and paragraph CSS defenses regardless of variant, so the correct defense kicks in based on the rendered element rather than the typographic variant (#77461).CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (#77468).CollapsibleCard: Prevent the focus ring of focusable descendants from being clipped by the panel's overflow once the panel is fully expanded (#77667).Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (#77469).Enhancements
Dialog/AlertDialog/Drawer: Pin header / footer chrome to the popup edges when the body overflows, and show separator borders only while there is off-screen content in that direction (#77559).Dialog: AddDialog.Descriptionsub-component, exposeonOpenChangeComplete, skip the backdrop whenmodalis nottrue, use100dvhfor viewport-based heights so the popup fits the dynamic viewport on mobile, and forwardclassNameonDialog.Title(#77194).Dialog:Dialog.HeaderandDialog.Footernow default to<header>and<footer>elements for richer landmark semantics. Theirreftype widens fromHTMLDivElementtoHTMLElement; passrenderto opt out of the default tag (#76690).Dialog,Popover: Upgrade dev-only title validation from mount-only to cleanup-based re-validation, catching conditionally rendered titles (#77165).Link: HonoropenInNewTabconsistently instead of treating hash links as a special case (#77422).Select: Tighten spacing after checkmark whenSelect.Itemissize="small"(#77642).Dialog,Drawer,Popover: Align title and description colors across all three overlay primitives. Title color is now authored explicitly (resilient to global CSS defenses), and description color now inherits from the popup foreground token instead of overriding to the weak variant (#77692).Dialog,AlertDialog,Drawer,Popover,Select,Tooltip: Unify the hairline border across overlay popups. Popups without a backdrop show a token-colored border in regular mode; popups with a backdrop hide the border (which would be redundant with the backdrop's containment); all popups show aCanvasTextborder in forced-colors mode (#77691).Link: Usetext-decoration-thickness: from-fontso the underline honors the font's metrics, instead of a fixed sub-pixel value that renders inconsistently across device pixel ratios (#77790).Internal
@base-ui/reactfrom1.4.0to1.4.1(#77520).useScheduleValidationhook; refactorDialog,Popover, andTabsvalidation contexts to use it (#77165).Tabs: Wrap two validation timeout waits inact(...)to avoid intermittent test warnings (#77319).WordPress/gutenberg (@wordpress/views)
v1.13.0Compare Source
v1.12.0Compare Source
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 02:59 AM, on day 1 of the month ( * 0-2 1 * * ) in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.