From ae9bda52c93a51d39fafdaff47520c24eacf9b59 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Fri, 29 May 2026 12:24:21 +0200 Subject: [PATCH 1/7] Icons: Redraw 34 prominent icons to strokes --- packages/icons/src/library/add-card.svg | 4 ++-- packages/icons/src/library/add-template.svg | 4 ++-- packages/icons/src/library/cancel-circle-filled.svg | 5 +++-- packages/icons/src/library/caution-filled.svg | 5 +++-- packages/icons/src/library/caution.svg | 4 ++-- packages/icons/src/library/code.svg | 4 ++-- .../icons/src/library/comment-author-avatar.svg | 6 ++++-- packages/icons/src/library/cover.svg | 6 ++++-- packages/icons/src/library/currency-dollar.svg | 5 +++-- packages/icons/src/library/currency-euro.svg | 5 +++-- packages/icons/src/library/currency-pound.svg | 5 +++-- packages/icons/src/library/drafts.svg | 5 +++-- packages/icons/src/library/help-filled.svg | 5 +++-- packages/icons/src/library/help.svg | 5 +++-- packages/icons/src/library/image.svg | 4 ++-- packages/icons/src/library/info.svg | 4 ++-- packages/icons/src/library/lifesaver.svg | 13 +++++++++++-- packages/icons/src/library/link-off.svg | 4 ++-- packages/icons/src/library/link.svg | 4 ++-- packages/icons/src/library/navigation.svg | 5 +++-- packages/icons/src/library/not-allowed.svg | 4 ++-- packages/icons/src/library/paragraph.svg | 5 +++-- packages/icons/src/library/pending.svg | 5 +++-- packages/icons/src/library/plus-circle-filled.svg | 5 +++-- packages/icons/src/library/plus-circle.svg | 5 +++-- packages/icons/src/library/published.svg | 5 +++-- packages/icons/src/library/scheduled.svg | 5 +++-- packages/icons/src/library/site-logo.svg | 4 ++-- packages/icons/src/library/star-empty.svg | 4 ++-- packages/icons/src/library/star-filled.svg | 4 ++-- packages/icons/src/library/star-half.svg | 5 +++-- packages/icons/src/library/styles.svg | 5 +++-- packages/icons/src/library/time.svg | 5 +++-- packages/icons/src/library/tip.svg | 4 ++-- 34 files changed, 99 insertions(+), 68 deletions(-) diff --git a/packages/icons/src/library/add-card.svg b/packages/icons/src/library/add-card.svg index 91a4565df69349..0ba2d32bd558b7 100644 --- a/packages/icons/src/library/add-card.svg +++ b/packages/icons/src/library/add-card.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/add-template.svg b/packages/icons/src/library/add-template.svg index 31b6107afcb629..2a4e381bb5d46b 100644 --- a/packages/icons/src/library/add-template.svg +++ b/packages/icons/src/library/add-template.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/cancel-circle-filled.svg b/packages/icons/src/library/cancel-circle-filled.svg index 63dce97f380000..fdcd219d6347e6 100644 --- a/packages/icons/src/library/cancel-circle-filled.svg +++ b/packages/icons/src/library/cancel-circle-filled.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/caution-filled.svg b/packages/icons/src/library/caution-filled.svg index 6b35a8ea4d0221..6510052dadc0bc 100644 --- a/packages/icons/src/library/caution-filled.svg +++ b/packages/icons/src/library/caution-filled.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/caution.svg b/packages/icons/src/library/caution.svg index 3e6c70c263b9ad..cdd641faeccb73 100644 --- a/packages/icons/src/library/caution.svg +++ b/packages/icons/src/library/caution.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/code.svg b/packages/icons/src/library/code.svg index 24d4bdccbd5a27..56d2aabde075ea 100644 --- a/packages/icons/src/library/code.svg +++ b/packages/icons/src/library/code.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/comment-author-avatar.svg b/packages/icons/src/library/comment-author-avatar.svg index d26ae18218da43..f508d514c7171b 100644 --- a/packages/icons/src/library/comment-author-avatar.svg +++ b/packages/icons/src/library/comment-author-avatar.svg @@ -1,3 +1,5 @@ - - + + + + diff --git a/packages/icons/src/library/cover.svg b/packages/icons/src/library/cover.svg index d625a018cda7f2..b44a763bc0506a 100644 --- a/packages/icons/src/library/cover.svg +++ b/packages/icons/src/library/cover.svg @@ -1,3 +1,5 @@ - - + + + + diff --git a/packages/icons/src/library/currency-dollar.svg b/packages/icons/src/library/currency-dollar.svg index 80089d8d68c355..140431419e13a3 100644 --- a/packages/icons/src/library/currency-dollar.svg +++ b/packages/icons/src/library/currency-dollar.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/currency-euro.svg b/packages/icons/src/library/currency-euro.svg index 2e57f3726ec9e9..7090c91ddcca91 100644 --- a/packages/icons/src/library/currency-euro.svg +++ b/packages/icons/src/library/currency-euro.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/currency-pound.svg b/packages/icons/src/library/currency-pound.svg index 5a86fa25075e9e..7ef9c7ce5a9693 100644 --- a/packages/icons/src/library/currency-pound.svg +++ b/packages/icons/src/library/currency-pound.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/drafts.svg b/packages/icons/src/library/drafts.svg index 4cd55eee757b59..7768d1957c0f3c 100644 --- a/packages/icons/src/library/drafts.svg +++ b/packages/icons/src/library/drafts.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/help-filled.svg b/packages/icons/src/library/help-filled.svg index 9c8cf7e6b5c07c..1b7cc6e2e64ad8 100644 --- a/packages/icons/src/library/help-filled.svg +++ b/packages/icons/src/library/help-filled.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/help.svg b/packages/icons/src/library/help.svg index ae2167edb7ce50..170cbba77326c2 100644 --- a/packages/icons/src/library/help.svg +++ b/packages/icons/src/library/help.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/image.svg b/packages/icons/src/library/image.svg index e14678e2cf4abe..eab979054cb0fa 100644 --- a/packages/icons/src/library/image.svg +++ b/packages/icons/src/library/image.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/info.svg b/packages/icons/src/library/info.svg index 9d7afc85fae839..68af7a15fe9c51 100644 --- a/packages/icons/src/library/info.svg +++ b/packages/icons/src/library/info.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/lifesaver.svg b/packages/icons/src/library/lifesaver.svg index 766784ed531bdf..190ed516ce289c 100644 --- a/packages/icons/src/library/lifesaver.svg +++ b/packages/icons/src/library/lifesaver.svg @@ -1,3 +1,12 @@ - - + + + + + + + + + + + diff --git a/packages/icons/src/library/link-off.svg b/packages/icons/src/library/link-off.svg index bb22938f6522af..96768caf4e96f1 100644 --- a/packages/icons/src/library/link-off.svg +++ b/packages/icons/src/library/link-off.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/link.svg b/packages/icons/src/library/link.svg index 5be28f494efe5a..8140c3b43cf40f 100644 --- a/packages/icons/src/library/link.svg +++ b/packages/icons/src/library/link.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/navigation.svg b/packages/icons/src/library/navigation.svg index 9897b55a119271..fc0054bfea701d 100644 --- a/packages/icons/src/library/navigation.svg +++ b/packages/icons/src/library/navigation.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/not-allowed.svg b/packages/icons/src/library/not-allowed.svg index 4550385ac2e3af..c159620dc0285a 100644 --- a/packages/icons/src/library/not-allowed.svg +++ b/packages/icons/src/library/not-allowed.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/paragraph.svg b/packages/icons/src/library/paragraph.svg index a5945a65500e6b..8afdcd0a31a561 100644 --- a/packages/icons/src/library/paragraph.svg +++ b/packages/icons/src/library/paragraph.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/pending.svg b/packages/icons/src/library/pending.svg index ef3b154b2240fc..9fdcd93e82bf14 100644 --- a/packages/icons/src/library/pending.svg +++ b/packages/icons/src/library/pending.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/plus-circle-filled.svg b/packages/icons/src/library/plus-circle-filled.svg index e46a7e178e589a..a38a456e4b7385 100644 --- a/packages/icons/src/library/plus-circle-filled.svg +++ b/packages/icons/src/library/plus-circle-filled.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/plus-circle.svg b/packages/icons/src/library/plus-circle.svg index 9ab6d1bbd7fee7..5ea70744971658 100644 --- a/packages/icons/src/library/plus-circle.svg +++ b/packages/icons/src/library/plus-circle.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/published.svg b/packages/icons/src/library/published.svg index 13dfc4bb181645..91ab5ec4e7f2e0 100644 --- a/packages/icons/src/library/published.svg +++ b/packages/icons/src/library/published.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/scheduled.svg b/packages/icons/src/library/scheduled.svg index 1a1e769092211f..46b4d766f77a12 100644 --- a/packages/icons/src/library/scheduled.svg +++ b/packages/icons/src/library/scheduled.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/site-logo.svg b/packages/icons/src/library/site-logo.svg index 26b6cfb4ce689b..37f2a2b317fc45 100644 --- a/packages/icons/src/library/site-logo.svg +++ b/packages/icons/src/library/site-logo.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/star-empty.svg b/packages/icons/src/library/star-empty.svg index 75cd0e122d458c..0733c0e02a23fa 100644 --- a/packages/icons/src/library/star-empty.svg +++ b/packages/icons/src/library/star-empty.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/star-filled.svg b/packages/icons/src/library/star-filled.svg index 2b32a6424776ad..185010a6748101 100644 --- a/packages/icons/src/library/star-filled.svg +++ b/packages/icons/src/library/star-filled.svg @@ -1,3 +1,3 @@ - - + + diff --git a/packages/icons/src/library/star-half.svg b/packages/icons/src/library/star-half.svg index fe0f1b5ca0b163..6f02909d5c5448 100644 --- a/packages/icons/src/library/star-half.svg +++ b/packages/icons/src/library/star-half.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/styles.svg b/packages/icons/src/library/styles.svg index 377fa2e6bb4580..209ef2d5665fc8 100644 --- a/packages/icons/src/library/styles.svg +++ b/packages/icons/src/library/styles.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/time.svg b/packages/icons/src/library/time.svg index fd368c5e4fc808..e9d590dbc76772 100644 --- a/packages/icons/src/library/time.svg +++ b/packages/icons/src/library/time.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/packages/icons/src/library/tip.svg b/packages/icons/src/library/tip.svg index 212885ca47e506..64e24a8751676b 100644 --- a/packages/icons/src/library/tip.svg +++ b/packages/icons/src/library/tip.svg @@ -1,3 +1,3 @@ - - + + From c84fa9203c319718a4ea1e369f2750764c801e14 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Fri, 29 May 2026 12:46:38 +0200 Subject: [PATCH 2/7] Update changelog. --- packages/icons/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index d22b11a599e641..eaa8b8b0ad5545 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Enhancements + +- Redraw 34 icons as stroke-based for variable stroke-width support (per [#78774](https://github.com/WordPress/gutenberg/pull/78774)): `addCard`, `addTemplate`, `cancelCircleFilled`, `caution`, `cautionFilled`, `code`, `commentAuthorAvatar`, `cover`, `currencyDollar`, `currencyEuro`, `currencyPound`, `drafts`, `help`, `helpFilled`, `image`, `info`, `lifesaver`, `link`, `linkOff`, `navigation`, `notAllowed`, `paragraph`, `pending`, `plusCircle`, `plusCircleFilled`, `published`, `scheduled`, `siteLogo`, `starEmpty`, `starFilled`, `starHalf`, `styles`, `square`, `timeToRead`, `tip`. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) + ### Breaking Changes - Rename `timeToRead` icon to `time`. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) From 54b290a9e18927676d3c48941dbd2ea4ac4a0497 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Fri, 29 May 2026 15:41:43 +0200 Subject: [PATCH 3/7] Fix issues with path overrides. --- packages/components/CHANGELOG.md | 4 +++ packages/components/src/item-group/styles.ts | 3 +-- packages/edit-site/CHANGELOG.md | 4 +++ .../sidebar-navigation-item/index.js | 8 +----- packages/icons/CHANGELOG.md | 1 + packages/icons/lib/generate-library.cjs | 25 +++++++++++++++++++ packages/icons/src/library/add-card.svg | 2 +- packages/icons/src/library/add-template.svg | 2 +- .../src/library/cancel-circle-filled.svg | 2 +- packages/icons/src/library/caution-filled.svg | 2 +- packages/icons/src/library/caution.svg | 2 +- packages/icons/src/library/code.svg | 2 +- .../src/library/comment-author-avatar.svg | 2 +- packages/icons/src/library/cover.svg | 2 +- .../icons/src/library/currency-dollar.svg | 2 +- packages/icons/src/library/currency-euro.svg | 2 +- packages/icons/src/library/currency-pound.svg | 2 +- packages/icons/src/library/drafts.svg | 2 +- packages/icons/src/library/help-filled.svg | 2 +- packages/icons/src/library/help.svg | 2 +- packages/icons/src/library/image.svg | 2 +- packages/icons/src/library/info.svg | 2 +- packages/icons/src/library/lifesaver.svg | 2 +- packages/icons/src/library/link-off.svg | 2 +- packages/icons/src/library/link.svg | 2 +- packages/icons/src/library/navigation.svg | 2 +- packages/icons/src/library/not-allowed.svg | 2 +- packages/icons/src/library/paragraph.svg | 2 +- packages/icons/src/library/pending.svg | 2 +- .../icons/src/library/plus-circle-filled.svg | 2 +- packages/icons/src/library/plus-circle.svg | 2 +- packages/icons/src/library/published.svg | 2 +- packages/icons/src/library/scheduled.svg | 2 +- packages/icons/src/library/site-logo.svg | 2 +- packages/icons/src/library/square.svg | 2 +- packages/icons/src/library/star-empty.svg | 2 +- packages/icons/src/library/star-filled.svg | 2 +- packages/icons/src/library/star-half.svg | 2 +- packages/icons/src/library/styles.svg | 2 +- packages/icons/src/library/time.svg | 2 +- packages/icons/src/library/tip.svg | 2 +- 41 files changed, 71 insertions(+), 44 deletions(-) diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 1944bb69f68478..86f7d49a836c7c 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Bug Fixes + +- `ItemGroup`: Drop the blanket `path { fill: currentColor }` rule that was overriding stroke-based icons' intended fill via inheritance bypass. Old fill-based icons remain coloured via the surrounding `svg { fill: currentColor }` rule plus normal SVG inheritance. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) + ## 34.0.0 (2026-05-27) ### Breaking Changes diff --git a/packages/components/src/item-group/styles.ts b/packages/components/src/item-group/styles.ts index e40598d383baf7..6b8b60f4337732 100644 --- a/packages/components/src/item-group/styles.ts +++ b/packages/components/src/item-group/styles.ts @@ -19,8 +19,7 @@ export const unstyledButton = ( as: 'a' | 'button' ) => { text-align: start; text-decoration: ${ as === 'a' ? 'none' : undefined }; - svg, - path { + svg { fill: currentColor; } diff --git a/packages/edit-site/CHANGELOG.md b/packages/edit-site/CHANGELOG.md index 433d4bccc4dbd1..d8a23cbd0ab55e 100644 --- a/packages/edit-site/CHANGELOG.md +++ b/packages/edit-site/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Bug Fixes + +- `SidebarNavigationItem`: Stop forcing `style={ { fill: 'currentcolor' } }` on the icon. The explicit override was clobbering stroke-based icons' intrinsic styling. Colour is inherited via CSS `color` and the icon's own declared fills/strokes. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) + ## 6.47.0 (2026-05-27) ## 6.46.0 (2026-05-14) diff --git a/packages/edit-site/src/components/sidebar-navigation-item/index.js b/packages/edit-site/src/components/sidebar-navigation-item/index.js index 4bde94dcbbeb4d..388ccf513c439b 100644 --- a/packages/edit-site/src/components/sidebar-navigation-item/index.js +++ b/packages/edit-site/src/components/sidebar-navigation-item/index.js @@ -63,13 +63,7 @@ export default function SidebarNavigationItem( { { ...props } > - { icon && ( - - ) } + { icon && } { children } { withChevron && ( ` instead of the `fill` attribute, so the source's intent survives ordinary 3rd-party CSS overrides like `.foo svg { fill: currentColor }` without using `!important`. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) ## 13.2.0 (2026-05-27) diff --git a/packages/icons/lib/generate-library.cjs b/packages/icons/lib/generate-library.cjs index 2c7568dd08f3b6..bdbc4ebfe645df 100644 --- a/packages/icons/lib/generate-library.cjs +++ b/packages/icons/lib/generate-library.cjs @@ -262,6 +262,31 @@ function svgToTsx( svgContent ) { } ); + // Convert CSS-string style attributes (e.g. `style="fill: none"`) into JSX + // style object syntax (e.g. `style={ { fill: 'none' } }`). Source SVGs use + // the CSS-string form so they remain valid SVG when read by non-React + // renderers (the PHP path, webpack SVG loaders, raw file preview). + jsxContent = jsxContent.replace( + /\sstyle="([^"]*)"/g, + ( _, cssString ) => { + const declarations = cssString + .split( ';' ) + .map( ( decl ) => decl.trim() ) + .filter( Boolean ) + .map( ( decl ) => { + const colonIndex = decl.indexOf( ':' ); + const key = decl.slice( 0, colonIndex ).trim(); + const value = decl.slice( colonIndex + 1 ).trim(); + const camelKey = key.replace( /-([a-z])/g, ( _m, c ) => + c.toUpperCase() + ); + return `${ camelKey }: '${ value }'`; + } ) + .join( ', ' ); + return ` style={ { ${ declarations } } }`; + } + ); + // Tags that ought to be converted to WordPress primitives when converting // SVGs to React elements const primitives = { diff --git a/packages/icons/src/library/add-card.svg b/packages/icons/src/library/add-card.svg index 0ba2d32bd558b7..7bc774b83e0f41 100644 --- a/packages/icons/src/library/add-card.svg +++ b/packages/icons/src/library/add-card.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/add-template.svg b/packages/icons/src/library/add-template.svg index 2a4e381bb5d46b..6fdd6d46f17ae9 100644 --- a/packages/icons/src/library/add-template.svg +++ b/packages/icons/src/library/add-template.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/cancel-circle-filled.svg b/packages/icons/src/library/cancel-circle-filled.svg index fdcd219d6347e6..b3340ef8537b49 100644 --- a/packages/icons/src/library/cancel-circle-filled.svg +++ b/packages/icons/src/library/cancel-circle-filled.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/caution-filled.svg b/packages/icons/src/library/caution-filled.svg index 6510052dadc0bc..71c72044ab2d4f 100644 --- a/packages/icons/src/library/caution-filled.svg +++ b/packages/icons/src/library/caution-filled.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/caution.svg b/packages/icons/src/library/caution.svg index cdd641faeccb73..11ec7b1df426f8 100644 --- a/packages/icons/src/library/caution.svg +++ b/packages/icons/src/library/caution.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/code.svg b/packages/icons/src/library/code.svg index 56d2aabde075ea..65b1f5fd069d3d 100644 --- a/packages/icons/src/library/code.svg +++ b/packages/icons/src/library/code.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/comment-author-avatar.svg b/packages/icons/src/library/comment-author-avatar.svg index f508d514c7171b..ff2e183d9ac01d 100644 --- a/packages/icons/src/library/comment-author-avatar.svg +++ b/packages/icons/src/library/comment-author-avatar.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/cover.svg b/packages/icons/src/library/cover.svg index b44a763bc0506a..e8bba8300fb471 100644 --- a/packages/icons/src/library/cover.svg +++ b/packages/icons/src/library/cover.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/currency-dollar.svg b/packages/icons/src/library/currency-dollar.svg index 140431419e13a3..26c7e2728d80d7 100644 --- a/packages/icons/src/library/currency-dollar.svg +++ b/packages/icons/src/library/currency-dollar.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/currency-euro.svg b/packages/icons/src/library/currency-euro.svg index 7090c91ddcca91..0f34f13dfe3274 100644 --- a/packages/icons/src/library/currency-euro.svg +++ b/packages/icons/src/library/currency-euro.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/currency-pound.svg b/packages/icons/src/library/currency-pound.svg index 7ef9c7ce5a9693..373a87b54819bf 100644 --- a/packages/icons/src/library/currency-pound.svg +++ b/packages/icons/src/library/currency-pound.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/drafts.svg b/packages/icons/src/library/drafts.svg index 7768d1957c0f3c..38370cc6ece1ff 100644 --- a/packages/icons/src/library/drafts.svg +++ b/packages/icons/src/library/drafts.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/help-filled.svg b/packages/icons/src/library/help-filled.svg index 1b7cc6e2e64ad8..e8364992522364 100644 --- a/packages/icons/src/library/help-filled.svg +++ b/packages/icons/src/library/help-filled.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/help.svg b/packages/icons/src/library/help.svg index 170cbba77326c2..85d465377f0d06 100644 --- a/packages/icons/src/library/help.svg +++ b/packages/icons/src/library/help.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/image.svg b/packages/icons/src/library/image.svg index eab979054cb0fa..36aa667cdb6e18 100644 --- a/packages/icons/src/library/image.svg +++ b/packages/icons/src/library/image.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/info.svg b/packages/icons/src/library/info.svg index 68af7a15fe9c51..ebd757078da72f 100644 --- a/packages/icons/src/library/info.svg +++ b/packages/icons/src/library/info.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/lifesaver.svg b/packages/icons/src/library/lifesaver.svg index 190ed516ce289c..55a9675f3c9351 100644 --- a/packages/icons/src/library/lifesaver.svg +++ b/packages/icons/src/library/lifesaver.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/link-off.svg b/packages/icons/src/library/link-off.svg index 96768caf4e96f1..0114cfc0423985 100644 --- a/packages/icons/src/library/link-off.svg +++ b/packages/icons/src/library/link-off.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/link.svg b/packages/icons/src/library/link.svg index 8140c3b43cf40f..3b26817bab185b 100644 --- a/packages/icons/src/library/link.svg +++ b/packages/icons/src/library/link.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/navigation.svg b/packages/icons/src/library/navigation.svg index fc0054bfea701d..ef6001c9dcb932 100644 --- a/packages/icons/src/library/navigation.svg +++ b/packages/icons/src/library/navigation.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/not-allowed.svg b/packages/icons/src/library/not-allowed.svg index c159620dc0285a..fa41012112a8b9 100644 --- a/packages/icons/src/library/not-allowed.svg +++ b/packages/icons/src/library/not-allowed.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/paragraph.svg b/packages/icons/src/library/paragraph.svg index 8afdcd0a31a561..b76197865e9d70 100644 --- a/packages/icons/src/library/paragraph.svg +++ b/packages/icons/src/library/paragraph.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/pending.svg b/packages/icons/src/library/pending.svg index 9fdcd93e82bf14..88af35d308d692 100644 --- a/packages/icons/src/library/pending.svg +++ b/packages/icons/src/library/pending.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/plus-circle-filled.svg b/packages/icons/src/library/plus-circle-filled.svg index a38a456e4b7385..c93af2a131c3c8 100644 --- a/packages/icons/src/library/plus-circle-filled.svg +++ b/packages/icons/src/library/plus-circle-filled.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/plus-circle.svg b/packages/icons/src/library/plus-circle.svg index 5ea70744971658..c03320908c329e 100644 --- a/packages/icons/src/library/plus-circle.svg +++ b/packages/icons/src/library/plus-circle.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/published.svg b/packages/icons/src/library/published.svg index 91ab5ec4e7f2e0..534c6282f33a97 100644 --- a/packages/icons/src/library/published.svg +++ b/packages/icons/src/library/published.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/scheduled.svg b/packages/icons/src/library/scheduled.svg index 46b4d766f77a12..d2b32b43f7de85 100644 --- a/packages/icons/src/library/scheduled.svg +++ b/packages/icons/src/library/scheduled.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/site-logo.svg b/packages/icons/src/library/site-logo.svg index 37f2a2b317fc45..7af55495dcbfa5 100644 --- a/packages/icons/src/library/site-logo.svg +++ b/packages/icons/src/library/site-logo.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/square.svg b/packages/icons/src/library/square.svg index 3b66d51854cb1b..88fee6de268fee 100644 --- a/packages/icons/src/library/square.svg +++ b/packages/icons/src/library/square.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/star-empty.svg b/packages/icons/src/library/star-empty.svg index 0733c0e02a23fa..8137f625c22f98 100644 --- a/packages/icons/src/library/star-empty.svg +++ b/packages/icons/src/library/star-empty.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/star-filled.svg b/packages/icons/src/library/star-filled.svg index 185010a6748101..4c407ff2cc1eab 100644 --- a/packages/icons/src/library/star-filled.svg +++ b/packages/icons/src/library/star-filled.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/star-half.svg b/packages/icons/src/library/star-half.svg index 6f02909d5c5448..391acb64a74921 100644 --- a/packages/icons/src/library/star-half.svg +++ b/packages/icons/src/library/star-half.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/styles.svg b/packages/icons/src/library/styles.svg index 209ef2d5665fc8..e3d2906a27248b 100644 --- a/packages/icons/src/library/styles.svg +++ b/packages/icons/src/library/styles.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/time.svg b/packages/icons/src/library/time.svg index e9d590dbc76772..ca2d8b952c5a39 100644 --- a/packages/icons/src/library/time.svg +++ b/packages/icons/src/library/time.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/icons/src/library/tip.svg b/packages/icons/src/library/tip.svg index 64e24a8751676b..c698691bbeaa40 100644 --- a/packages/icons/src/library/tip.svg +++ b/packages/icons/src/library/tip.svg @@ -1,3 +1,3 @@ - + From cdf0908b2132a00248f289793648ad0576f85e53 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Fri, 29 May 2026 15:56:21 +0200 Subject: [PATCH 4/7] Fix CI: prettier formatting and item-group snapshots Co-Authored-By: Claude Opus 4.7 --- .../test/__snapshots__/index.js.snap | 30 +++++++-------- packages/icons/lib/generate-library.cjs | 37 +++++++++---------- 2 files changed, 32 insertions(+), 35 deletions(-) diff --git a/packages/components/src/item-group/test/__snapshots__/index.js.snap b/packages/components/src/item-group/test/__snapshots__/index.js.snap index a37644ae7773c8..5889885750615c 100644 --- a/packages/components/src/item-group/test/__snapshots__/index.js.snap +++ b/packages/components/src/item-group/test/__snapshots__/index.js.snap @@ -11,8 +11,8 @@ Snapshot Diff: role="listitem" >
@@ -24,8 +24,8 @@ Snapshot Diff: role="listitem" >
@@ -44,8 +44,8 @@ Snapshot Diff: role="listitem" >
@@ -114,8 +114,8 @@ Snapshot Diff: @@ -1,18 +1,18 @@
@@ -142,8 +142,8 @@ Snapshot Diff: @@ -1,18 +1,18 @@
@@ -170,7 +170,7 @@ Snapshot Diff: @@ -1,8 +1,8 @@
{ - const declarations = cssString - .split( ';' ) - .map( ( decl ) => decl.trim() ) - .filter( Boolean ) - .map( ( decl ) => { - const colonIndex = decl.indexOf( ':' ); - const key = decl.slice( 0, colonIndex ).trim(); - const value = decl.slice( colonIndex + 1 ).trim(); - const camelKey = key.replace( /-([a-z])/g, ( _m, c ) => - c.toUpperCase() - ); - return `${ camelKey }: '${ value }'`; - } ) - .join( ', ' ); - return ` style={ { ${ declarations } } }`; - } - ); + jsxContent = jsxContent.replace( /\sstyle="([^"]*)"/g, ( _, cssString ) => { + const declarations = cssString + .split( ';' ) + .map( ( decl ) => decl.trim() ) + .filter( Boolean ) + .map( ( decl ) => { + const colonIndex = decl.indexOf( ':' ); + const key = decl.slice( 0, colonIndex ).trim(); + const value = decl.slice( colonIndex + 1 ).trim(); + const camelKey = key.replace( /-([a-z])/g, ( _m, c ) => + c.toUpperCase() + ); + return `${ camelKey }: '${ value }'`; + } ) + .join( ', ' ); + return ` style={ { ${ declarations } } }`; + } ); // Tags that ought to be converted to WordPress primitives when converting // SVGs to React elements From 5d1065382355cb4bdfc94f8837632d90b9155eb3 Mon Sep 17 00:00:00 2001 From: "Joen A." <1204802+jasmussen@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:05:39 +0200 Subject: [PATCH 5/7] Update packages/components/CHANGELOG.md Co-authored-by: Lena Morita --- packages/components/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 86f7d49a836c7c..a90781260ddde8 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -4,7 +4,7 @@ ### Bug Fixes -- `ItemGroup`: Drop the blanket `path { fill: currentColor }` rule that was overriding stroke-based icons' intended fill via inheritance bypass. Old fill-based icons remain coloured via the surrounding `svg { fill: currentColor }` rule plus normal SVG inheritance. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) +- `ItemGroup`: Drop the blanket `path { fill: currentColor }` rule that was overriding stroke-based icons' intended fill via inheritance bypass. Old fill-based icons remain coloured via the surrounding `svg { fill: currentColor }` rule plus normal SVG inheritance. ([#78808](https://github.com/WordPress/gutenberg/pull/78808)) ## 34.0.0 (2026-05-27) From 2f06e2022fc60cd80155e3ebb7a6753c10488622 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Mon, 1 Jun 2026 14:51:10 +0200 Subject: [PATCH 6/7] Update Square, update changelog. --- packages/icons/CHANGELOG.md | 2 +- packages/icons/src/library/square.svg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index ba2efd4f4077e9..4d90efd59180b7 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -4,7 +4,7 @@ ### Enhancements -- Redraw 34 icons as stroke-based for variable stroke-width support (per [#78774](https://github.com/WordPress/gutenberg/pull/78774)): `addCard`, `addTemplate`, `cancelCircleFilled`, `caution`, `cautionFilled`, `code`, `commentAuthorAvatar`, `cover`, `currencyDollar`, `currencyEuro`, `currencyPound`, `drafts`, `help`, `helpFilled`, `image`, `info`, `lifesaver`, `link`, `linkOff`, `navigation`, `notAllowed`, `paragraph`, `pending`, `plusCircle`, `plusCircleFilled`, `published`, `scheduled`, `siteLogo`, `starEmpty`, `starFilled`, `starHalf`, `styles`, `square`, `timeToRead`, `tip`. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) +- Redraw 35 icons as stroke-based for variable stroke-width support, and introduce the `vector-effect="non-scaling-stroke"` convention so stroke weight stays consistent across icon sizes (originally landed in [#78774](https://github.com/WordPress/gutenberg/pull/78774), reverted in [#78854](https://github.com/WordPress/gutenberg/pull/78854) due to CSS-override regressions, re-introduced here with the resilience fix): `addCard`, `addTemplate`, `cancelCircleFilled`, `caution`, `cautionFilled`, `code`, `commentAuthorAvatar`, `cover`, `currencyDollar`, `currencyEuro`, `currencyPound`, `drafts`, `help`, `helpFilled`, `image`, `info`, `lifesaver`, `link`, `linkOff`, `navigation`, `notAllowed`, `paragraph`, `pending`, `plusCircle`, `plusCircleFilled`, `published`, `scheduled`, `siteLogo`, `square`, `starEmpty`, `starFilled`, `starHalf`, `styles`, `time`, `tip`. ([#78804](https://github.com/WordPress/gutenberg/pull/78804)) ### Breaking Changes diff --git a/packages/icons/src/library/square.svg b/packages/icons/src/library/square.svg index 88fee6de268fee..a75233a7e42a3e 100644 --- a/packages/icons/src/library/square.svg +++ b/packages/icons/src/library/square.svg @@ -1,3 +1,3 @@ - + From ae0f27496d594712e22754ea3ad0be9e554bc20c Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Mon, 1 Jun 2026 15:13:36 +0200 Subject: [PATCH 7/7] Update block-icon snapshot for redrawn image icon Co-Authored-By: Claude Opus 4.7 --- .../components/block-icon/test/__snapshots__/index.js.snap | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/block-editor/src/components/block-icon/test/__snapshots__/index.js.snap b/packages/block-editor/src/components/block-icon/test/__snapshots__/index.js.snap index 977b1d1a5f6c82..2f36e6e3267910 100644 --- a/packages/block-editor/src/components/block-icon/test/__snapshots__/index.js.snap +++ b/packages/block-editor/src/components/block-icon/test/__snapshots__/index.js.snap @@ -9,12 +9,17 @@ exports[`BlockIcon renders a Icon 1`] = ` aria-hidden="true" focusable="false" height="24" + stroke="currentColor" + stroke-width="1.5" + style="fill: none;" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" >