Repository navigation
Releases: cloudfour/cloudfour.com-patterns
Release list
v17.2.3
Patch Changes
- #2548
70e78e0Thanks @renovate! - Use logical CSS for corner radii and floats:border-start-start-radiusand friends instead ofborder-top-left-radiusin the Alert, Calendar Date and Input Group patterns, andfloat/clearinline-start/inline-endinstead ofleft/rightin Hype Group and the WordPress image and Jetpack contact form styles. Remove the physicalfloatfallbacks from the float utilities.
v17.2.2
Patch Changes
- #2522
4e00694Thanks @spaceninja! - Use logical CSS where it was still physical:overflow-inlineinstead ofoverflow-x, andvi/vbinstead ofvw/vhfor fluid sizing, viewport breakouts, conditional border radii and the Cloud Cover and Ground Nav illustrations. Replace deprecatedgrid-gap,grid-row-gapandgrid-column-gapwithgap,row-gapandcolumn-gap, and remove the legacyclipfallback from the screen-reader-only styles.
v17.2.1
Patch Changes
-
#2481
cad3e22Thanks @spaceninja! - Publish releases via npm trusted publishing (OIDC) instead of a stored token.There are no functional changes to the package. From this release onward,
published versions carry a provenance attestation linking the tarball to the
workflow run and commit that produced it.
v17.2.0
Minor Changes
- #2405
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 it
now sets it on the.wp-block-filecontainer instead. Our button mixins take
font: inheritand size their padding and block size inem, so the inherited
0.8emscaled the entire button down by a fifth rather than just its text.
Resettingfont-sizeon the container restores the buttons to the same
dimensions 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 d...
v17.1.0
Minor Changes
- #2295
840838dThanks @tylersticka! - Add helper class for styling fallback links inlite-youtubeweb components
v17.0.1
Patch Changes
- #2275
6c45f6eThanks @tylersticka! - Prevent visually-hidden language labels from breaking width of overflowing code blocks
v17.0.0
Major Changes
- #2225
7840dce9Thanks @tylersticka! - Improved text wrapping for headings and subheadings withtext-wrap. Removes theu-rescue-orphanutility, which is now redundant.
Patch Changes
- #2222
9ebea662Thanks @tylersticka! - Fixed ugly default borders on WordPress table blocks
v16.5.0
Minor Changes
- #2218
f1190ac3Thanks @tylersticka! - Add brand icon for Bluesky
v16.4.0
Minor Changes
- #2216
48dccda7Thanks @tylersticka! - Addcubeandcube-alticons to represent three-dimensional elements.
Patch Changes
-
#2217
08521357Thanks @tylersticka! - Fixes issue where a page's alert container with no visible content could block pointer events toward the bottom of the viewport. -
#2213
0f1a76bbThanks @tylersticka! - Update thebrands/facebookicon.
v16.3.1
Patch Changes
-
#2209
d02e6be6Thanks @tylersticka! - Prevent Buttons from feeling disconnected from Input Groups when:hoveror:activestates are applied -
#2212
9dbe23a6Thanks @tylersticka! - Disable calc optimization in minified stylesheet. This addresses a warning whencalcincluded aclampfunction, and very slightly reduces the size of the stylesheet when compressed.