From 791b7f6533e3f1c8826a3eb5139ccaedb8c00dd9 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Tue, 22 Sep 2026 11:57:16 +0200 Subject: [PATCH 1/4] Icons: Rebalance a few, add other new icons. --- packages/icons/src/library/comment.svg | 2 +- .../icons/src/library/fullscreen-exit.svg | 3 ++ .../src/library/justify-space-evenly.svg | 5 ++++ packages/icons/src/library/multimedia.svg | 8 ++++++ packages/icons/src/library/paintbrush.svg | 3 ++ packages/icons/src/library/plugins.svg | 2 +- packages/icons/src/library/reaction.svg | 6 ++++ packages/icons/src/manifest.json | 28 ++++++++++++++++++- 8 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 packages/icons/src/library/fullscreen-exit.svg create mode 100644 packages/icons/src/library/justify-space-evenly.svg create mode 100644 packages/icons/src/library/multimedia.svg create mode 100644 packages/icons/src/library/paintbrush.svg create mode 100644 packages/icons/src/library/reaction.svg diff --git a/packages/icons/src/library/comment.svg b/packages/icons/src/library/comment.svg index c1ce55d97e4c5a..8af9615203e250 100644 --- a/packages/icons/src/library/comment.svg +++ b/packages/icons/src/library/comment.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/fullscreen-exit.svg b/packages/icons/src/library/fullscreen-exit.svg new file mode 100644 index 00000000000000..8961e3ad07ec34 --- /dev/null +++ b/packages/icons/src/library/fullscreen-exit.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/icons/src/library/justify-space-evenly.svg b/packages/icons/src/library/justify-space-evenly.svg new file mode 100644 index 00000000000000..03c0cb1cfeed1a --- /dev/null +++ b/packages/icons/src/library/justify-space-evenly.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/icons/src/library/multimedia.svg b/packages/icons/src/library/multimedia.svg new file mode 100644 index 00000000000000..bd44218535f242 --- /dev/null +++ b/packages/icons/src/library/multimedia.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/icons/src/library/paintbrush.svg b/packages/icons/src/library/paintbrush.svg new file mode 100644 index 00000000000000..8920a58b75fddc --- /dev/null +++ b/packages/icons/src/library/paintbrush.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/icons/src/library/plugins.svg b/packages/icons/src/library/plugins.svg index 8813e1c1888b79..83d4ca92353d3f 100644 --- a/packages/icons/src/library/plugins.svg +++ b/packages/icons/src/library/plugins.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/icons/src/library/reaction.svg b/packages/icons/src/library/reaction.svg new file mode 100644 index 00000000000000..51142f035992fb --- /dev/null +++ b/packages/icons/src/library/reaction.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/icons/src/manifest.json b/packages/icons/src/manifest.json index 40f1c09e87be83..e4faf6388f16c0 100644 --- a/packages/icons/src/manifest.json +++ b/packages/icons/src/manifest.json @@ -1790,6 +1790,32 @@ { "slug": "wordpress", "label": "WordPress", - "filePath": "library/wordpress.svg" + "filePath": "library/wordpress.svg", + "public": false + }, + { + "slug": "fullscreen-exit", + "label": "Fullscreen Exit", + "filePath": "library/fullscreen-exit.svg" + }, + { + "slug": "justify-space-evenly", + "label": "Justify Space Evenly", + "filePath": "library/justify-space-evenly.svg" + }, + { + "slug": "paintbrush", + "label": "Paintbrush", + "filePath": "library/paintbrush.svg" + }, + { + "slug": "reaction", + "label": "Reaction", + "filePath": "library/reaction.svg" + }, + { + "slug": "multimedia", + "label": "Multimedia", + "filePath": "library/multimedia.svg" } ] From d836b67c3e6650b2cb4c8051fa7d64f8f3fd5082 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Tue, 22 Sep 2026 12:04:43 +0200 Subject: [PATCH 2/4] Update changelog. --- packages/icons/CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index bc0a4361c53441..707e1f6edd944c 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -6,12 +6,17 @@ - A further 236 icons are now stroke-based. Use CSS `color` rather than `fill` to recolor them. ([#82540](https://github.com/WordPress/gutenberg/pull/82540), [#82754](https://github.com/WordPress/gutenberg/pull/82754)) +### New Features + +- Add the `fullscreenExit`, `justifySpaceEvenly`, `multimedia`, `paintbrush` and `reaction` icons ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). + ### Enhancements - Redraw a further 236 icons as stroke-based for variable stroke-width support, following the convention introduced in [#78808](https://github.com/WordPress/gutenberg/pull/78808), and refine the already stroke-based `image` and `commentAuthorAvatar` drawings. Most retain their original footprint; the table icons, `capturePhoto`, and `image` are slightly smaller, and several drawings in the final batch change by design. ([#82540](https://github.com/WordPress/gutenberg/pull/82540), [#82754](https://github.com/WordPress/gutenberg/pull/82754)) - `manifest.json`: The `public` property is now a tri-state. Omitting it keeps an icon in the JS library only; `true` ships it to WordPress Core and exposes it through the icons REST API, making it selectable in the Icon block; `false` ships it and registers it in the `core` collection for server-side use via `wp_get_icon()`, while hiding it from the REST API and the Icon block. ([#82634](https://github.com/WordPress/gutenberg/pull/82634)) -- The `brush`, `dashboard`, `link`, `media`, `page`, `pin`, `plugins`, `sites`, `tool`, `update` and `wordpress` icons now ship to WordPress Core as non-public icons: they are registered in the `core` collection and stay available to server-side code via `wp_get_icon()`, but are not exposed through the icons REST API and are not selectable in the Icon block. ([#82634](https://github.com/WordPress/gutenberg/pull/82634), [#79451](https://github.com/WordPress/gutenberg/pull/79451)) - `manifest.json`: The `public` field now only controls whether an icon ships to WordPress Core ([#83277](https://github.com/WordPress/gutenberg/pull/83277)). +- The `brush`, `dashboard`, `link`, `media`, `page`, `pin`, `plugins`, `sites`, `tool`, `update` and `wordpress` icons now ship to WordPress Core as non-public icons: they are registered in the `core` collection and stay available to server-side code via `wp_get_icon()`, but are not exposed through the icons REST API and are not selectable in the Icon block. ([#82634](https://github.com/WordPress/gutenberg/pull/82634), [#79451](https://github.com/WordPress/gutenberg/pull/79451)) +- `comment` and `plugins`: redraw for better optical balance ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). ### Bug Fixes From 2c98ea495be88bf2de53321eb5982473e412dc9b Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Wed, 23 Sep 2026 09:55:41 +0200 Subject: [PATCH 3/4] Replace existing icons rather than add to the library. --- packages/icons/CHANGELOG.md | 3 ++- packages/icons/src/library/brush.svg | 4 +--- packages/icons/src/library/media.svg | 8 ++++++-- packages/icons/src/library/multimedia.svg | 8 -------- packages/icons/src/library/paintbrush.svg | 3 --- packages/icons/src/manifest.json | 13 +------------ 6 files changed, 10 insertions(+), 29 deletions(-) delete mode 100644 packages/icons/src/library/multimedia.svg delete mode 100644 packages/icons/src/library/paintbrush.svg diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index 707e1f6edd944c..0e7288c84fd0c9 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -8,7 +8,7 @@ ### New Features -- Add the `fullscreenExit`, `justifySpaceEvenly`, `multimedia`, `paintbrush` and `reaction` icons ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). +- Add the `fullscreenExit`, `justifySpaceEvenly` and `reaction` icons ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). ### Enhancements @@ -17,6 +17,7 @@ - `manifest.json`: The `public` field now only controls whether an icon ships to WordPress Core ([#83277](https://github.com/WordPress/gutenberg/pull/83277)). - The `brush`, `dashboard`, `link`, `media`, `page`, `pin`, `plugins`, `sites`, `tool`, `update` and `wordpress` icons now ship to WordPress Core as non-public icons: they are registered in the `core` collection and stay available to server-side code via `wp_get_icon()`, but are not exposed through the icons REST API and are not selectable in the Icon block. ([#82634](https://github.com/WordPress/gutenberg/pull/82634), [#79451](https://github.com/WordPress/gutenberg/pull/79451)) - `comment` and `plugins`: redraw for better optical balance ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). +- `brush` and `media`: redraw. `brush` becomes a wide paintbrush rather than a pencil, which the existing `pencil` icon already covers, and `media` becomes a camera with music notes so it is no longer easily confused with `image` ([#83338](https://github.com/WordPress/gutenberg/pull/83338)). ### Bug Fixes diff --git a/packages/icons/src/library/brush.svg b/packages/icons/src/library/brush.svg index baf04b633034ec..8920a58b75fddc 100644 --- a/packages/icons/src/library/brush.svg +++ b/packages/icons/src/library/brush.svg @@ -1,5 +1,3 @@ - - - + diff --git a/packages/icons/src/library/media.svg b/packages/icons/src/library/media.svg index a8d3736071c765..bd44218535f242 100644 --- a/packages/icons/src/library/media.svg +++ b/packages/icons/src/library/media.svg @@ -1,4 +1,8 @@ - - + + + + + + diff --git a/packages/icons/src/library/multimedia.svg b/packages/icons/src/library/multimedia.svg deleted file mode 100644 index bd44218535f242..00000000000000 --- a/packages/icons/src/library/multimedia.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/packages/icons/src/library/paintbrush.svg b/packages/icons/src/library/paintbrush.svg deleted file mode 100644 index 8920a58b75fddc..00000000000000 --- a/packages/icons/src/library/paintbrush.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/icons/src/manifest.json b/packages/icons/src/manifest.json index e4faf6388f16c0..cfd1eb8d777228 100644 --- a/packages/icons/src/manifest.json +++ b/packages/icons/src/manifest.json @@ -1790,8 +1790,7 @@ { "slug": "wordpress", "label": "WordPress", - "filePath": "library/wordpress.svg", - "public": false + "filePath": "library/wordpress.svg" }, { "slug": "fullscreen-exit", @@ -1803,19 +1802,9 @@ "label": "Justify Space Evenly", "filePath": "library/justify-space-evenly.svg" }, - { - "slug": "paintbrush", - "label": "Paintbrush", - "filePath": "library/paintbrush.svg" - }, { "slug": "reaction", "label": "Reaction", "filePath": "library/reaction.svg" - }, - { - "slug": "multimedia", - "label": "Multimedia", - "filePath": "library/multimedia.svg" } ] From d3b349a90d028b6a9bb428a527a021fe063348b0 Mon Sep 17 00:00:00 2001 From: "Joen A." Date: Wed, 23 Sep 2026 10:57:44 +0200 Subject: [PATCH 4/4] Alphabetise. --- packages/icons/src/manifest.json | 124 +++++++++++++++---------------- packages/icons/src/manifest.php | 16 ++-- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/packages/icons/src/manifest.json b/packages/icons/src/manifest.json index cfd1eb8d777228..00c82c34dc5025 100644 --- a/packages/icons/src/manifest.json +++ b/packages/icons/src/manifest.json @@ -59,6 +59,12 @@ "label": "Archive", "filePath": "library/archive.svg" }, + { + "slug": "arrow-down", + "label": "Arrow Down", + "filePath": "library/arrow-down.svg", + "public": true + }, { "slug": "arrow-down-left", "label": "Arrow Down Left", @@ -71,12 +77,6 @@ "filePath": "library/arrow-down-right.svg", "public": true }, - { - "slug": "arrow-down", - "label": "Arrow Down", - "filePath": "library/arrow-down.svg", - "public": true - }, { "slug": "arrow-left", "label": "Arrow Left", @@ -89,6 +89,12 @@ "filePath": "library/arrow-right.svg", "public": true }, + { + "slug": "arrow-up", + "label": "Arrow Up", + "filePath": "library/arrow-up.svg", + "public": true + }, { "slug": "arrow-up-left", "label": "Arrow Up Left", @@ -101,12 +107,6 @@ "filePath": "library/arrow-up-right.svg", "public": true }, - { - "slug": "arrow-up", - "label": "Arrow Up", - "filePath": "library/arrow-up.svg", - "public": true - }, { "slug": "aspect-ratio", "label": "Aspect Ratio", @@ -406,6 +406,11 @@ "label": "Connection", "filePath": "library/connection.svg" }, + { + "slug": "contents", + "label": "Contents", + "filePath": "library/contents.svg" + }, { "slug": "copy", "label": "Copy", @@ -453,11 +458,6 @@ "filePath": "library/create.svg", "public": true }, - { - "slug": "contents", - "label": "Contents", - "filePath": "library/contents.svg" - }, { "slug": "crop", "label": "Crop", @@ -671,6 +671,11 @@ "label": "Fullscreen", "filePath": "library/fullscreen.svg" }, + { + "slug": "fullscreen-exit", + "label": "Fullscreen Exit", + "filePath": "library/fullscreen-exit.svg" + }, { "slug": "funnel", "label": "Funnel", @@ -848,6 +853,11 @@ "label": "Justify Space Between Vertical", "filePath": "library/justify-space-between-vertical.svg" }, + { + "slug": "justify-space-evenly", + "label": "Justify Space Evenly", + "filePath": "library/justify-space-evenly.svg" + }, { "slug": "justify-stretch", "label": "Justify Stretch", @@ -1130,11 +1140,6 @@ "label": "Pin Small", "filePath": "library/pin-small.svg" }, - { - "slug": "plugins", - "label": "Plugins", - "filePath": "library/plugins.svg" - }, { "slug": "play", "label": "Play", @@ -1150,6 +1155,11 @@ "label": "Playlist Track", "filePath": "library/playlist-track.svg" }, + { + "slug": "plugins", + "label": "Plugins", + "filePath": "library/plugins.svg" + }, { "slug": "plus", "label": "Plus", @@ -1300,6 +1310,11 @@ "filePath": "library/quote.svg", "public": true }, + { + "slug": "reaction", + "label": "Reaction", + "filePath": "library/reaction.svg" + }, { "slug": "receipt", "label": "Receipt", @@ -1321,11 +1336,6 @@ "label": "Remove Submenu", "filePath": "library/remove-submenu.svg" }, - { - "slug": "replace", - "label": "Replace", - "filePath": "library/replace.svg" - }, { "slug": "repeat", "label": "Repeat", @@ -1336,6 +1346,11 @@ "label": "Repeat All", "filePath": "library/repeat-all.svg" }, + { + "slug": "replace", + "label": "Replace", + "filePath": "library/replace.svg" + }, { "slug": "replay", "label": "Replay", @@ -1489,16 +1504,6 @@ "label": "Sides Vertical", "filePath": "library/sides-vertical.svg" }, - { - "slug": "skip-back", - "label": "Skip Back", - "filePath": "library/skip-back.svg" - }, - { - "slug": "skip-forward", - "label": "Skip Forward", - "filePath": "library/skip-forward.svg" - }, { "slug": "site-logo", "label": "Site Logo", @@ -1509,6 +1514,16 @@ "label": "Sites", "filePath": "library/sites.svg" }, + { + "slug": "skip-back", + "label": "Skip Back", + "filePath": "library/skip-back.svg" + }, + { + "slug": "skip-forward", + "label": "Skip Forward", + "filePath": "library/skip-forward.svg" + }, { "slug": "square", "label": "Square", @@ -1586,6 +1601,16 @@ "filePath": "library/symbol-filled.svg", "public": true }, + { + "slug": "tab-list", + "label": "Tab List", + "filePath": "library/tab-list.svg" + }, + { + "slug": "tab-panel", + "label": "Tab Panel", + "filePath": "library/tab-panel.svg" + }, { "slug": "table", "label": "Table", @@ -1633,16 +1658,6 @@ "filePath": "library/tablet.svg", "public": true }, - { - "slug": "tab-list", - "label": "Tab List", - "filePath": "library/tab-list.svg" - }, - { - "slug": "tab-panel", - "label": "Tab Panel", - "filePath": "library/tab-panel.svg" - }, { "slug": "tabs", "label": "Tabs", @@ -1791,20 +1806,5 @@ "slug": "wordpress", "label": "WordPress", "filePath": "library/wordpress.svg" - }, - { - "slug": "fullscreen-exit", - "label": "Fullscreen Exit", - "filePath": "library/fullscreen-exit.svg" - }, - { - "slug": "justify-space-evenly", - "label": "Justify Space Evenly", - "filePath": "library/justify-space-evenly.svg" - }, - { - "slug": "reaction", - "label": "Reaction", - "filePath": "library/reaction.svg" } ] diff --git a/packages/icons/src/manifest.php b/packages/icons/src/manifest.php index d2eb04cff14e9f..d46fa9dd856896 100644 --- a/packages/icons/src/manifest.php +++ b/packages/icons/src/manifest.php @@ -5,6 +5,10 @@ } return array( + 'arrow-down' => array( + 'label' => _x( 'Arrow Down', 'icon label', 'gutenberg' ), + 'filePath' => 'library/arrow-down.svg', + ), 'arrow-down-left' => array( 'label' => _x( 'Arrow Down Left', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-down-left.svg', @@ -13,10 +17,6 @@ 'label' => _x( 'Arrow Down Right', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-down-right.svg', ), - 'arrow-down' => array( - 'label' => _x( 'Arrow Down', 'icon label', 'gutenberg' ), - 'filePath' => 'library/arrow-down.svg', - ), 'arrow-left' => array( 'label' => _x( 'Arrow Left', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-left.svg', @@ -25,6 +25,10 @@ 'label' => _x( 'Arrow Right', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-right.svg', ), + 'arrow-up' => array( + 'label' => _x( 'Arrow Up', 'icon label', 'gutenberg' ), + 'filePath' => 'library/arrow-up.svg', + ), 'arrow-up-left' => array( 'label' => _x( 'Arrow Up Left', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-up-left.svg', @@ -33,10 +37,6 @@ 'label' => _x( 'Arrow Up Right', 'icon label', 'gutenberg' ), 'filePath' => 'library/arrow-up-right.svg', ), - 'arrow-up' => array( - 'label' => _x( 'Arrow Up', 'icon label', 'gutenberg' ), - 'filePath' => 'library/arrow-up.svg', - ), 'at-symbol' => array( 'label' => _x( 'At Symbol (@)', 'icon label', 'gutenberg' ), 'filePath' => 'library/at-symbol.svg',