Skip to content

feat(icons): add waves-vertical icon#3867

Open
jamiemlaw wants to merge 5 commits intolucide-icons:mainfrom
jamiemlaw:waves
Open

feat(icons): add waves-vertical icon#3867
jamiemlaw wants to merge 5 commits intolucide-icons:mainfrom
jamiemlaw:waves

Conversation

@jamiemlaw
Copy link
Copy Markdown
Contributor

Description

Following on from discussion in #3849, this PR adds waves-vertical and renames waves to waves-horizontal.

I have taken the liberty of optimising the curves to quadratic béziers in the process.

Icon use case

  • Representing heat or geothermal energy in a weather app
  • Indicating smell or aroma

Icon Design Checklist

Concept

  • I have provided valid use cases for each icon.
  • I have not added any brand or logo icon.
  • I have not used any hate symbols.
  • I have not included any religious, war/violence related 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: waves
  • 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 Dec 9, 2025
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🤖 ChatGPT Tags suggestions ✨

I've asked ChatGPT for some suggestions for tags.

"ericfennis",
"jamiemlaw"
],
"tags": [
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggestions for the waves-horizontal icon.
Try asking it your self if you want more suggestions. Open ChatGPT
Here are the suggestions:

Suggested change
"tags": [
"tags": [
"waves",
"horizontal",
"surf",
"surfing",
"fluid",
"abstract",
"nature",

Comment thread icons/waves-vertical.json
"ericfennis",
"jamiemlaw"
],
"tags": [
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggestions for the waves-vertical icon.
Try asking it your self if you want more suggestions. Open ChatGPT
Here are the suggestions:

Suggested change
"tags": [
"tags": [
"waves",
"vertical",
"sea",
"ocean",
"water",
"surf",
"marine",
"liquid",
"crest",
"trend",

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 9, 2025

Added or changed icons

waves-horizontalwaves-vertical

Preview cohesion square-mmessage-square-reply
waves-horizontalwaves-vertical
receipt-indian-rupeemove-down-left
Preview stroke widths waves-horizontalwaves-vertical
waves-horizontalwaves-vertical
waves-horizontalwaves-vertical
DPI Preview

16px (shadcn/ui)

waves-horizontal waves-vertical

24px (default)

waves-horizontal waves-vertical

32px (shadcn/ui + retina)

waves-horizontal waves-vertical

48px (default + retina)

waves-horizontal waves-vertical
Icon X-rays waves-horizontal waves-vertical
Icon Diffs waves-horizontal waves-vertical
Icon Symmetry

Flip Horizontal

waves-horizontal waves-vertical

Flip Vertical

waves-horizontal waves-vertical

Flip Diagonal

waves-horizontal waves-vertical

Rotate 180°

waves-horizontal waves-vertical
Icons as code

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

const WavesHorizontalIcon = createLucideIcon('WavesHorizontal', [
  ["path",{"d":"M2 12q2.5 2 5 0t5 0 5 0 5 0"}],
  ["path",{"d":"M2 19q2.5 2 5 0t5 0 5 0 5 0"}],
  ["path",{"d":"M2 5q2.5 2 5 0t5 0 5 0 5 0"}]
])

const WavesVerticalIcon = createLucideIcon('WavesVertical', [
  ["path",{"d":"M12 2q2 2.5 0 5t0 5 0 5 0 5"}],
  ["path",{"d":"M19 2q2 2.5 0 5t0 5 0 5 0 5"}],
  ["path",{"d":"M5 2q2 2.5 0 5t0 5 0 5 0 5"}]
])

@karsa-mistmere
Copy link
Copy Markdown
Member

Amazing work, @jamiemlaw!

One thing I'm still pondering about is whether we should increase the gap between waves to bring the optical volume closer to square and circle, similar to how it was done for various list/text icons in #3568

icons
Open lucide studio

icons
Open lucide studio

image

Comment thread icons/waves-vertical.json Outdated
Comment thread icons/waves-horizontal.json
jamiemlaw and others added 2 commits December 10, 2025 13:31
Co-authored-by: Karsa <contact@karsa.org>
@jguddas
Copy link
Copy Markdown
Member

jguddas commented Dec 21, 2025

What about using arcs instead of quadratic curves?
icons
Open lucide studio

@jamiemlaw
Copy link
Copy Markdown
Contributor Author

What about using arcs instead of quadratic curves?

When I first opened the icon to edit it, that was my thought too: why aren't these arcs? I have a version where they are arcs, but I discovered the radii had to be 3.625 in order for them to perfectly kiss the pixel boundaries.

icons
Open lucide studio

Something about quadratic béziers appealed just because of the huge character savings, but I am happy with either approach.

@jguddas
Copy link
Copy Markdown
Member

jguddas commented Dec 21, 2025

My bit is for using arcs whenever possible.

@karsa-mistmere
Copy link
Copy Markdown
Member

What about using arcs instead of quadratic curves?

When I first opened the icon to edit it, that was my thought too: why aren't these arcs? I have a version where they are arcs, but I discovered the radii had to be 3.625 in order for them to perfectly kiss the pixel boundaries.

iconsOpen lucide studio

Something about quadratic béziers appealed just because of the huge character savings, but I am happy with either approach.

Dunno, technically quadratic Béziers do have better curvature.

@github-actions
Copy link
Copy Markdown
Contributor

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions Bot added the Stale label Jan 21, 2026
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 Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants