Skip to content

feat(icons): added layers-plus icon #3367

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

juanisidoro
Copy link

@juanisidoro juanisidoro commented Jun 26, 2025

What is the purpose of this pull request?

  • New Icon

Description

Added new layers-plus icon.

Icon use case

The layers-plus icon represents the action of adding a new layer, stacked item, or grouped variation in a UI context. It was originally designed for use in an eCommerce application to let users add product variations — but it can be applied to any situation where elements are layered, grouped, or duplicated dynamically.

This icon is ideal for:

  • Design or editing tools (like Figma, Photoshop, or 3D editors) that manage layers or grouped content
  • UIs with repeatable, stackable structures such as product options, dynamic form sections, or content blocks
  • Hierarchical interfaces where the user adds nested elements (e.g. components, variations, sub-steps)

It is based on the existing layers icon, with a visually integrated plus symbol to clearly communicate an addition or creation action.

Alternative icon designs

Icon Design Checklist

Concept

  • I have provided valid use cases for each icon.
  • I have not added any a brand or logo icon.
  • I have not used any hate symbols.
  • I have not included any religious or political imagery.

Author, credits & license

  • The icons are solely my own creation.
  • The icons were originally created in # by @colebemis
  • I've based them on the following Lucide icons: layers, plus
  • I've based them on the following design:

Naming

  • I've read and followed the naming conventions
  • I've named icons by what they are rather than their use case.
  • I've provided meta JSON files in icons/[iconName].json.

Design

  • I've read and followed the icon design guidelines
  • I've made sure that the icons look sharp on low DPI displays.
  • I've made sure that the icons look consistent with the icon set in size, optical volume and density.
  • I've made sure that the icons are visually centered.
  • I've correctly optimized all icons to three points of precision.

Before Submitting

@github-actions github-actions bot added 🎨 icon About new icons 🫧 metadata Improved metadata labels Jun 26, 2025
@juanisidoro
Copy link
Author

Thanks for reviewing this contribution! Let me know if there’s anything I should improve.

Copy link

github-actions bot commented Jun 26, 2025

Added or changed icons

icons/layers-plus.svg

Preview cohesion icons/square-chevron-up.svg
icons/layers-plus.svg
icons/philippine-peso.svg
Preview stroke widths icons/layers-plus.svg
icons/layers-plus.svg
icons/layers-plus.svg
DPI Preview

16px (shadcn/ui)

icons/layers-plus.svg

24px (default)

icons/layers-plus.svg

32px (shadcn/ui + retina)

icons/layers-plus.svg

48px (default + retina)

icons/layers-plus.svg
Icon X-rays icons/layers-plus.svg
Icon Diffs icons/layers-plus.svg
Icons as code

Works for: lucide-react, lucide-react-native, lucide-preact, lucide-vue-next

const LayersPlusIcon = createLucideIcon('LayersPlus', [
  ["path",{"d":"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z"}],
  ["path",{"d":"M16 17h6"}],
  ["path",{"d":"M19 14v6"}],
  ["path",{"d":"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178"}],
  ["path",{"d":"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962"}]
])

Copy link
Member

@karsa-mistmere karsa-mistmere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @juanisidoro,

The plus itself is too small, we normally use a 6by6 or 8by8 plus sign in these scenarios.

The icon also has gap guideline violations next to the plus sign:
image

@juanisidoro
Copy link
Author

Hi @karsa-mistmere,
Thank you very much for your detailed feedback and for pointing out the guidelines on plus size and spacing — it’s super helpful! 🙏
I’ll review the icon again and adjust the plus sign to fit the 6×6 or 8×8 standard, and also correct the spacing issues.
I'll update the PR as soon as I have the improvements ready.

Thanks again for your time and support!

@juanisidoro
Copy link
Author

Hi @karsa-mistmere,

I've just updated the icon and pushed the fix 🚀

For consistency, I used the plus symbol from the package-plus icon as a reference
Additionally, I reviewed the spacing to ensure it respects the safe area and doesn’t overlap with surrounding gaps.

Let me know if there’s anything else you'd recommend! Thanks again for the feedback and support 🙌

Comment on lines 14 to 15
<path d="M 16 16.5 L 22 16.5" />
<path d="M 19 13.5 L 19 19.5" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plus is now off-grid, resulting in blurry lines:
image

@juanisidoro
Copy link
Author

Hi @karsa-mistmere,

I’ve just pushed a fix that adjusts the alignment and slope of the plus sign. It should now be properly on-grid to avoid the blurry rendering issue.

My apologies for the back and forth — this is actually my first time contributing to an open source project, so I'm still getting used to the workflow. Really appreciate your patience and the guidance throughout 🙏

If there’s anything else that needs improvement, I’m on it!
Thanks again!

@@ -10,7 +10,7 @@
stroke-linejoin="round"
>
<path d="M 11.18 21.82 A2 2 0 0 0 12.83 21.82" />
<path d="M 12.83 21.82 L 15 20.5" />
<path d="M 12.83 21.82 L 15 20.83" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still off-grid, I'm afraid. And the gaps are now too large.

Here's an optimized version:

icons
Open lucide studio

@juanisidoro
Copy link
Author

Thanks so much @karsa-mistmere! 🙏
I’ve just replaced my version with the one you kindly optimized. It looks much cleaner and on-point now.
Really appreciate your support and guidance — I’ve learned a lot through this process.

Let me know if there's anything else! ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎨 icon About new icons 🫧 metadata Improved metadata
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants