Publish Next Version - #2407
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
✅ Deploy Preview for cloudfour-patterns ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
github-actions
Bot
force-pushed
the
changeset-release/main
branch
29 times, most recently
from
August 25, 2026 17:38
abcd35d to
4f7b1b4
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 25, 2026 19:02
1deb0cc to
52151cd
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 25, 2026 19:38
52151cd to
16df8e1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@cloudfour/patterns@17.2.0
Minor Changes
96fd86eThanks @spaceninja! - Make the font directory configurable.base/fontsnow exposes a$dirvariable, so the location of the font files can be overridden with@use '@cloudfour/patterns/src/base/fonts' with ($dir: '/my/path'). The default is unchanged, and the font URLs indist/standalone.cssare byte-for-byte identical.Patch Changes
#2439
27d3085Thanks @renovate! - Stop WordPress's File block font size from shrinking our file download buttons.WordPress shrinks the File block's text to
0.8em. It used to set that on.wp-block-file__button, where our button styles overrode it outright, but itnow sets it on the
.wp-block-filecontainer instead. Our button mixins takefont: inheritand size their padding and block size inem, so the inherited0.8emscaled the entire button down by a fifth rather than just its text.Resetting
font-sizeon the container restores the buttons to the samedimensions they had before.
This only became visible with newer WordPress, so on older installs the new
declaration is a no-op.
#2442
3d8554eThanks @spaceninja! - Stop publishing three Storybook demo fixtures —defaultArgs,defaultArgTypesandgenerateGroundNavProps. They come fromground-nav-args.js, which only the Ground Nav stories import, and they reached the bundle because the build's entry glob excluded.stories.and.test.files but not-args.ones. They were never documented or intended as API, and nothing a consumer would want can be done with them.The four real exports —
createElasticTextArea,createSubscribe,initCommentReplyFormandinitSkyNav— are byte-for-byte unchanged, anddist/standalone.cssanddist/standalone.min.cssare untouched. Dropping the fixtures takesdist/cloudfour-patterns.min.jsfrom 7.8KB to 4.1KB (2.7KB to 1.5KB gzipped), the ESM bundle from 9.4KB to 5.9KB, the UMD bundle from 21KB to 15KB, and the type declarations from 8.0KB to 1.6KB.#2450
152ed19Thanks @spaceninja! - Make every published file reachable through Node resolution.exportswas a bare string pointing at the browser bundle, and definingexportsat all encapsulates every other subpath — so of the 360 files in the tarball, exactly one could be resolved. Requiring the compiled design tokens failed withERR_PACKAGE_PATH_NOT_EXPORTED, and so did reading our ownpackage.json, which is something tooling routinely does to a dependency.filesandexportsdisagreed about what the public API is, andfilesis the field expressing the intent: we deliberately publish/dist, the compiled tokens, the Sass partials, the Twig templates and the assets.exportsnow mirrors that shape, so what we ship and what a consumer can reach are the same set.The subpath patterns are written per extension rather than as a blanket
./src/*, which keeps stories and tests encapsulated even for a consumer resolving against a working tree rather than an installed tarball.filesremains the authority on the exact file list.Widening
exportscannot break an import that already worked, and the published file list is byte-for-byte unchanged — only reachability changes. Sass is unaffected in both directions: it compiles identically before and after via bothloadPathsand thepkg:importer, because neither route enforces the export map for stylesheets.Also adds a
typescondition to the main entry. Undernode16/nodenext/bundlermodule resolution, TypeScript reads types throughexportsand ignores the top-leveltypesfield, so consumers on those settings were gettingany— TypeScript reported "There are types at dist/cloudfour-patterns.d.ts, but this result could not be resolved when respecting package.json exports". This was already true before this change; it is fixed here because it is the same field and the same root cause. What the main entry resolves to at runtime is unchanged.#2405
96fd86eThanks @spaceninja! - Fix Sky Nav rendering permanently open with no toggle button when its markup is injected as a string rather than parsed by the browser. Theno-jsclass is normally cleared by an inline<script>, which never runs in that case, soinitSkyNavnow clears it as well.#2446
913c466Thanks @spaceninja! - Stop publishingsrc/index-with-dependencies.scss. It is a Storybook-only entry point, andfilesalready excludes its siblingsrc/index.scssfor the same reason — this was the exclusion being one file short rather than a deliberate choice.No consumer can have been using it. It loads
@wordpress/block-librarythrough../node_modules/, which resolves inside our own package directory, and that is a devDependency we never install for anyone else; it then loads./index, whichfilesdeliberately excludes; and it configures the font directory as/src/assets/fonts, a root-absolute path that only means anything while Vite is serving Storybook. Compiling it from an installed tarball fails on the first of those three.The tarball goes from 361 files to 360, and nothing else changes. Storybook reads the file from the working tree, so it is unaffected.
#2422
3492198Thanks @spaceninja! - Keep theviewBoxon the SVGs inlined intodist/standalone.min.css. The minifier had been stripping it, so the minified bundle no longer matched the unminified one it is built from. Rendering is unchanged — compared pixel for pixel, the two differ only by antialiasing — but the bundle is now a faithful minification of its source, and around 227 bytes larger gzipped.The generated token files also lose the build timestamp from their header comment, which makes them identical between builds, and each token in
src/compiled/tokens/js/gains akeyfield. No token value changed.#2432
570de07Thanks @spaceninja! - Drop thexmlnsattribute from the templatized SVG partials insrc/assets. These files are only ever included inline into HTML, where the namespace is implied — it is required on standalone SVG documents. The optimizer had been configured to remove it for years, but in a format it silently ignored.The same partials also pick up small coordinate rounding differences from a newer SVGO. Rendered and compared pixel for pixel, 55 of the 72 are unchanged and the largest difference in the rest is 0.53% of pixels at the edges of curves.
#2405
96fd86eThanks @spaceninja! - Fix Footnote Link failing to render under Twig 3, which removed thespacelesstag. The template now uses thespacelessfilter, which Twig has supported since 2.9. Rendered output is unchanged.#2443
5a65202Thanks @spaceninja! - Drop theengines.nodefield, so installing the package no longer declares a Node requirement. Nothing in the publishedfilesruns on Node — the package ships CSS, Sass, Twig templates, assets and a browser bundle — so the field was only ever gating installation, and it was gating it on>=12.16.3, a floor nobody chose deliberately. Removing a restriction cannot break an install that worked before..nvmrcand the pinned Node version in CI are what actually control the development environment, and neither changes.#2416
5232e5eThanks @spaceninja! - Collapse the wide-viewportalign-self/justify-selfpair on Ground Nav's social area into the equivalentplace-selfshorthand. Computed styles are unchanged; only the two declarations indist/standalone.cssbecome one.#2406
eb1bb81Thanks @spaceninja! - Shrink the UMD bundles. Rollup 4 tree-shakes the generated design-token module, which Sky Nav reads three values from, sodist/cloudfour-patterns.jsdrops from 116KB to 21KB anddist/cloudfour-patterns.min.jsfrom 37KB to 7.8KB. The ESM bundle is byte-for-byte unchanged and the exports are identical in all three.#2444
ad12466Thanks @spaceninja! - Loadsrc/index-with-dependencies.scsswith@userather than@import, which Dart Sass 3 removes. This was the last@importin the repo.Compiled output loses seven duplicate
@font-facerules and nothing else.@useloads each stylesheet once, so the fonts configured at the top of the file are emitted a single time; under@importthey came out twice, because./indexloadsbase/fontsas well and an@importdoes not share the module graph with the file importing it. Every surviving rule is byte-for-byte one of the originals, in the same order, and all other CSS is byte-for-byte identical — 1,245 bytes smaller in the Storybook build.