Skip to content

Releases: cloudfour/cloudfour.com-patterns

v17.2.3

Choose a tag to compare

@github-actions github-actions released this 14 Oct 17:23
4477e72

Patch Changes

  • #2548 70e78e0 Thanks @renovate! - Use logical CSS for corner radii and floats: border-start-start-radius and friends instead of border-top-left-radius in the Alert, Calendar Date and Input Group patterns, and float/clear inline-start/inline-end instead of left/right in Hype Group and the WordPress image and Jetpack contact form styles. Remove the physical float fallbacks from the float utilities.

v17.2.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:00
6a04b4b

Patch Changes

  • #2522 4e00694 Thanks @spaceninja! - Use logical CSS where it was still physical: overflow-inline instead of overflow-x, and vi/vb instead of vw/vh for fluid sizing, viewport breakouts, conditional border radii and the Cloud Cover and Ground Nav illustrations. Replace deprecated grid-gap, grid-row-gap and grid-column-gap with gap, row-gap and column-gap, and remove the legacy clip fallback from the screen-reader-only styles.

v17.2.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 21:07
874edd8

Patch Changes

  • #2481 cad3e22 Thanks @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

Choose a tag to compare

@github-actions github-actions released this 26 Aug 00:41
7ed26e6

Minor Changes

  • #2405 96fd86e Thanks @spaceninja! - Make the font directory configurable. base/fonts now exposes a $dir variable, 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 in dist/standalone.css are byte-for-byte identical.

Patch Changes

  • #2439 27d3085 Thanks @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-file container instead. Our button mixins take
    font: inherit and size their padding and block size in em, so the inherited
    0.8em scaled the entire button down by a fifth rather than just its text.
    Resetting font-size on 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 3d8554e Thanks @spaceninja! - Stop publishing three Storybook demo fixtures — defaultArgs, defaultArgTypes and generateGroundNavProps. They come from ground-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, initCommentReplyForm and initSkyNav — are byte-for-byte unchanged, and dist/standalone.css and dist/standalone.min.css are untouched. Dropping the fixtures takes dist/cloudfour-patterns.min.js from 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 152ed19 Thanks @spaceninja! - Make every published file reachable through Node resolution. exports was a bare string pointing at the browser bundle, and defining exports at all encapsulates every other subpath — so of the 360 files in the tarball, exactly one could be resolved. Requiring the compiled design tokens failed with ERR_PACKAGE_PATH_NOT_EXPORTED, and so did reading our own package.json, which is something tooling routinely does to a dependency.

    files and exports disagreed about what the public API is, and files is the field expressing the intent: we deliberately publish /dist, the compiled tokens, the Sass partials, the Twig templates and the assets. exports now 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. files remains the authority on the exact file list.

    Widening exports cannot 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 both loadPaths and the pkg: importer, because neither route enforces the export map for stylesheets.

    Also adds a types condition to the main entry. Under node16/nodenext/bundler module resolution, TypeScript reads types through exports and ignores the top-level types field, so consumers on those settings were getting any — 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 96fd86e Thanks @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. The no-js class is normally cleared by an inline <script>, which never runs in that case, so initSkyNav now clears it as well.

  • #2446 913c466 Thanks @spaceninja! - Stop publishing src/index-with-dependencies.scss. It is a Storybook-only entry point, and files already excludes its sibling src/index.scss for 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-library through ../node_modules/, which resolves inside our own package directory, and that is a devDependency we never install for anyone else; it then loads ./index, which files deliberately 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 3492198 Thanks @spaceninja! - Keep the viewBox on the SVGs inlined into dist/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 a key field. No token value changed.

  • #2432 570de07 Thanks @spaceninja! - Drop the xmlns attribute from the templatized SVG partials in src/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 96fd86e Thanks @spaceninja! - Fix Footnote Link failing to render under Twig 3, which removed the spaceless tag. The template now uses the spaceless filter, which Twig has supported since 2.9. Rendered output is unchanged.

  • #2443 5a65202 Thanks @spaceninja! - Drop the engines.node field, so installing the package no longer declares a Node requirement. Nothing in the published files runs 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.

    .nvmrc and the pinned Node version in CI are what actually control the development environment, and neither changes.

  • #2416 5232e5e Thanks @spaceninja! - Collapse the wide-viewport align-self/justify-self pair on Ground Nav's social area into the equivalent place-self shorthand. Computed styles are unchanged; only the two declarations in dist/standalone.css become one.

  • #2406 eb1bb81 Thanks @spaceninja! - Shrink the UMD bundles. Rollup 4 tree-shakes the generated d...

Read more

v17.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 23:29
3d8d2c8

Minor Changes

v17.0.1

Choose a tag to compare

@github-actions github-actions released this 19 May 17:23
55ee366

Patch Changes

  • #2275 6c45f6e Thanks @tylersticka! - Prevent visually-hidden language labels from breaking width of overflowing code blocks

v17.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Feb 17:29
b30ced7

Major Changes

  • #2225 7840dce9 Thanks @tylersticka! - Improved text wrapping for headings and subheadings with text-wrap. Removes the u-rescue-orphan utility, which is now redundant.

Patch Changes

v16.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Jan 22:24
42aef8b

Minor Changes

v16.4.0

Choose a tag to compare

@github-actions github-actions released this 13 Dec 18:41
0c2a59b

Minor Changes

Patch Changes

v16.3.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 23:08
42b9ca9

Patch Changes

  • #2209 d02e6be6 Thanks @tylersticka! - Prevent Buttons from feeling disconnected from Input Groups when :hover or :active states are applied

  • #2212 9dbe23a6 Thanks @tylersticka! - Disable calc optimization in minified stylesheet. This addresses a warning when calc included a clamp function, and very slightly reduces the size of the stylesheet when compressed.