Skip to content
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

feat(icons): added squares-* operation icons #2585

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

Conversation

EthanHazel
Copy link
Contributor

@EthanHazel EthanHazel commented Nov 5, 2024

What is the purpose of this pull request?

  • New Icon
  • Bug fix
  • New Feature
  • Documentation update
  • Other:

Description

Icon use case

Icons are built for use with programs that use vector tools like the pathfinder tool (tasks like combining, dividing, and trimming shapes)

Alternative icon designs

merge-icons_intersect-alt merge-icons-black_intersect-alt
Alternate intersect

merge-icons_minus-alt merge-icons-black_minus-alt
Alternate minus

merge-icons_exclude-alt copy 3merge-icons_exclude-alt copy 2
Alternate Exclude 1

merge-icons_exclude-alt copymerge-icons_exclude-alt
Alternate Exclude 2

fdsbfsdbkfsquares-exclude
Alternate Exclude 3

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 @
  • I've based them on the following Lucide icons:
  • 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 Nov 5, 2024
Copy link

github-actions bot commented Nov 5, 2024

Added or changed icons

icons/squares-exclude.svgicons/squares-intersect.svgicons/squares-subtract.svgicons/squares-unite.svg

Preview cohesion icons/message-square-quote.svgicons/square-equal.svgicons/rotate-ccw-square.svgicons/square-parking.svg
icons/squares-exclude.svgicons/squares-intersect.svgicons/squares-subtract.svgicons/squares-unite.svg
icons/pin-off.svgicons/circle-chevron-up.svgicons/align-vertical-justify-center.svgicons/clock-3.svg
Preview stroke widths icons/squares-exclude.svgicons/squares-intersect.svgicons/squares-subtract.svgicons/squares-unite.svg
icons/squares-exclude.svgicons/squares-intersect.svgicons/squares-subtract.svgicons/squares-unite.svg
icons/squares-exclude.svgicons/squares-intersect.svgicons/squares-subtract.svgicons/squares-unite.svg
DPI Preview (24px) icons/squares-exclude.svg icons/squares-intersect.svg icons/squares-subtract.svg icons/squares-unite.svg
Icon X-rays icons/squares-exclude.svg icons/squares-intersect.svg icons/squares-subtract.svg icons/squares-unite.svg
Icon Diffs icons/squares-exclude.svg icons/squares-intersect.svg icons/squares-subtract.svg icons/squares-unite.svg
Icons as code

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

const SquaresExcludeIcon = createLucideIcon('SquaresExclude', [
  ["path",{"d":"M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0"}],
  ["path",{"d":"M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2"}]
])

const SquaresIntersectIcon = createLucideIcon('SquaresIntersect', [
  ["path",{"d":"M10 22a2 2 0 0 1-2-2"}],
  ["path",{"d":"M14 2a2 2 0 0 1 2 2"}],
  ["path",{"d":"M16 22h-2"}],
  ["path",{"d":"M2 10V8"}],
  ["path",{"d":"M2 4a2 2 0 0 1 2-2"}],
  ["path",{"d":"M20 8a2 2 0 0 1 2 2"}],
  ["path",{"d":"M22 14v2"}],
  ["path",{"d":"M22 20a2 2 0 0 1-2 2"}],
  ["path",{"d":"M4 16a2 2 0 0 1-2-2"}],
  ["path",{"d":"M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z"}],
  ["path",{"d":"M8 2h2"}]
])

const SquaresSubtractIcon = createLucideIcon('SquaresSubtract', [
  ["path",{"d":"M10 22a2 2 0 0 1-2-2"}],
  ["path",{"d":"M16 22h-2"}],
  ["path",{"d":"M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z"}],
  ["path",{"d":"M20 8a2 2 0 0 1 2 2"}],
  ["path",{"d":"M22 14v2"}],
  ["path",{"d":"M22 20a2 2 0 0 1-2 2"}]
])

const SquaresUniteIcon = createLucideIcon('SquaresUnite', [
  ["path",{"d":"M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z"}]
])

icons/shape-unite.svg Outdated Show resolved Hide resolved
icons/shape-exclude.svg Outdated Show resolved Hide resolved
icons/shape-intersect.svg Outdated Show resolved Hide resolved
Copy link
Member

@jguddas jguddas left a comment

Choose a reason for hiding this comment

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

I also think it should be squares-something.

@jguddas jguddas changed the title Added icons: pathfinder (unite, minus, exclude, intersect) feat(icons): added square-* operation icons Nov 5, 2024
icons/shape-subtraction.svg Outdated Show resolved Hide resolved
@jguddas jguddas changed the title feat(icons): added square-* operation icons feat(icons): added squares-* operation icons Nov 5, 2024
@jamiemlaw
Copy link
Contributor

Ultimately, really like these. I had a go at some designs a while back that all kind-of worked, but I think you've pretty much nailed it.

Two rather trivial matters:

  • I'd consider renaming squares-subtraction to squares-subtract to use the same naming convention as unite, intersect and exclude.
  • Some other potential keywords to add would be boolean and set.

But something else I noticed: at a distance, or when pixellated, the exclude icon reads to me like the unite icon but with diagonal lines in the squares.

exclude

Not sure if something like these would work better at low res?

image

icons
Open lucide studio

icons
Open lucide studio

@EthanHazel
Copy link
Contributor Author

Ultimately, really like these. I had a go at some designs a while back that all kind-of worked, but I think you've pretty much nailed it.

Two rather trivial matters:

  • I'd consider renaming squares-subtraction to squares-subtract to use the same naming convention as unite, intersect and exclude.
  • Some other potential keywords to add would be boolean and set.

But something else I noticed: at a distance, or when pixellated, the exclude icon reads to me like the unite icon but with diagonal lines in the squares.

exclude

Not sure if something like these would work better at low res?

image

iconsOpen lucide studio

iconsOpen lucide studio

These honestly look much better, I like the second one more imo but I'll add the other one to the alternate designs so if people end up preferring that one more I'll switch it out

Copy link
Member

@ericfennis ericfennis left a comment

Choose a reason for hiding this comment

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

Really well executed. Well done @EthanHazel !

@karsa-mistmere

This comment was marked as duplicate.

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.

These feel a bit too small for me, I think the optical volume is too far off square and circle, for me the bottom row feels much more balanced, not to mention more in line with our copy icons:

image

@EthanHazel
Copy link
Contributor Author

The redesigns you made look good, if you'd want I can commit those to the branch if you can link lucide studio

@EthanHazel
Copy link
Contributor Author

These feel a bit too small for me, I think the optical volume is too far off square and circle, for me the bottom row feels much more balanced, not to mention more in line with our copy icons:

image

Just went ahead and remade the icons you just sent and committed them! I added you as a contributor to all the icons. Let me know if there were any issues 👍

@karsa-mistmere
Copy link
Member

These feel a bit too small for me, I think the optical volume is too far off square and circle, for me the bottom row feels much more balanced, not to mention more in line with our copy icons:
image

Just went ahead and remade the icons you just sent and committed them! I added you as a contributor to all the icons. Let me know if there were any issues 👍

Great work, one final thing is that I think the highlighted corners would maybe make more sense with 1px radii, similar to intersect having distinct corners:

image

@karsa-mistmere
Copy link
Member

karsa-mistmere commented Dec 13, 2024

These feel a bit too small for me, I think the optical volume is too far off square and circle, for me the bottom row feels much more balanced, not to mention more in line with our copy icons:
image

Just went ahead and remade the icons you just sent and committed them! I added you as a contributor to all the icons. Let me know if there were any issues 👍

Great work, one final thing is that I think the highlighted corners would maybe make more sense with 1px radii, similar to intersect having distinct corners:

image

icons
Open lucide studio

@EthanHazel
Copy link
Contributor Author

@karsa-mistmere Just implemented your icon, I fixed an issue though where the left square was offset by a pixel. Should be all good now 👍

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.

5 participants