Compare commits

..
Author SHA1 Message Date
Karsa ec3c3906f7 feat(scripts): added icon usage script 2026-08-31 17:54:23 +02:00
eb3c04d059 feat(icons): Add polygon icon (#3007)
* Add icons/polygon.svg

* Applied code from jguddas

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* extended metadata in polygon.json

* Rename polygon.json to vector-polygon.json

* Rename polygon.svg to vector-polygon.svg

* Update icons/vector-polygon.svg

* Update vector-square.svg

---------

Co-authored-by: timmy471 <timilehin.ayantunji@etranzact.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-31 09:15:36 +02:00
Amenitigithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Karsa
796dad298f feat(icons): added credit-card-plus icon (#4441)
* Added icons/credit-card-plus.svg

* Added icons/credit-card-plus.json

* Update icons/credit-card-plus.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update credit-card-plus.svg

updated + sub as used in other icons

* Update credit-card-plus.svg

* Update credit-card-plus.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-29 09:13:34 +02:00
Amenitigithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Karsa
3f4a337c5d feat(icons): added credit-card-minus icon (#4440)
* Added icons/credit-card-minus.svg

* Added icons/credit-card-minus.json

* Update icons/credit-card-minus.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update credit-card-minus.json

* Update credit-card-minus.json

Changed contributors based on credit-card

* Update credit-card-minus.svg

Updated to use "-" based of other icons using minus sign.

* Update credit-card-minus.svg

* Update credit-card-minus.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-29 09:13:23 +02:00
Karsa 47ad47f321 feat(icons): added credit-card-x & credit-card-check icon (#4763)
* Added icons/credit-card-x.svg

* Added icons/credit-card-x.json

* Added icons/credit-card-check.svg

* Added icons/credit-card-check.json

* Update credit-card-x.json

* Update credit-card-check.json
2026-08-29 09:13:22 +02:00
Karsa c967b3225c fix(icons): changed piano icon (#4766)
* Updated icons/piano.svg

* Updated icons/piano.json

* Update piano.json
2026-08-28 22:23:07 +02:00
Ali Yasir Naçgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Jakob GuddasKarsa
0516a35c56 feat(icons): added message-circle-dashed-check icon (#3678)
* Added icons/message-circle-tick-dashed.svg

* Added icons/message-circle-tick-dashed.json

* Update icons/message-circle-tick-dashed.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* renamed file names

* Update message-circle-dashed-check.svg

* Update message-circle-dashed-check.svg

replaces paths to use the exact same ones as in `message-circle-dashed`

* Update message-circle-dashed-check.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 15:01:56 +02:00
KarsaandEric Fennis 48fb4d0079 fix(icons): unify check, cross and plus sizes across icons (#3875)
* fix(icons): unify check, cross and plus sizes across icons

* fix(icons): fix minor gap issues

* fix(icons): shrink x in git-merge-conflict

* fix(icons): adjust x to be aligned with matching plus in book-x, grid-2x2-x and user-round-x

* fix(icons): update checkmark in message-circle-check.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-08-28 15:01:54 +02:00
Jakob Guddasgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Karsa
672d891a6b fix(icons): changed asterisk icon (#3906)
* Updated icons/asterisk.svg

* Updated icons/asterisk.json

* Updated icons/asterisk.svg

* Update icons/asterisk.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Updated icons/asterisk.svg

* Updated icons/asterisk.json

* Update asterisk.json

* Refactor SVG paths in asterisk icon

* Update paths in asterisk.svg for new design

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 14:22:36 +02:00
Jakob Guddas d8a7841d33 fix(icons): changed square-split-vertical icon (#3939)
* Updated icons/square-split-horizontal.svg

* Updated icons/square-split-horizontal.json

* Updated icons/square-split-vertical.svg

* Updated icons/square-split-vertical.json
2026-08-28 14:22:08 +02:00
716ae6d4e9 fix(icons): rotate key icon (#3111)
* Updated icons/key.svg

* Updated icons/key.json

* Update icons/key.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

* Add space before close key.svg

* Updated icons/key.svg

* Updated icons/key.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 14:17:48 +02:00
Jakob Guddas cd6ee554c8 fix(icons): rotate blend icon (#3105)
* Updated icons/blend.svg

* Updated icons/blend.json

* Updated icons/blend.json
2026-08-28 14:17:15 +02:00
Jakob Guddas be0956479b fix(icons): changed panda icon (#3187)
* Updated icons/panda.svg

* Updated icons/panda.json

* Updated icons/panda.svg
2026-08-28 12:36:34 +02:00
Jakob GuddasandKarsa 9f3692dee3 chore(tags): added music disc related tags to circle-dot (#3909)
* Updated icons/circle-dot.svg

* Updated icons/circle-dot.json

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 12:25:29 +02:00
Jakob Guddasdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
af82050077 fix(icons): changed beef icon (#3457)
* ci: Improve build speeds (#2778)

* Revert sync to async functions

* Replace more sync fs functions

* Format files

* Fix build svelte package

* build(deps): bump esbuild from 0.19.12 to 0.25.0 (#2791)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.19.12 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.19.12...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump vite from 5.1.8 to 5.4.12 (#2786)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.8 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump vite from 5.4.12 to 5.4.13 (#2798)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.12 to 5.4.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.13/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Add await to checkIconsAndCategories script

* fix(lucide-react): Revert exports property package.json, fixing edge worker environments. (#2814)

* Revert exports prop

* Adjust export

* Adjust export path

* Add to gitignore

* Adjust build process

* Update .gitignore and add dynamicIconImports module

* Formatting

* refactor: Optimize readAllMetadata function to use Promise.all for concurrent metadata reading

* refactor(scripts): Formatting in readAllMetadata

* Updated icons/beef.svg

* Updated icons/beef.svg

* Updated icons/beef.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-28 12:21:38 +02:00
50de1605e1 feat(icons): add playing-card, playing-cards, and playing-cards-fan (#4258)
* Added icons `playing-card`, `playing-cards`, `playing-cards-2`

* updated playing card icons according to @karsa-mistmere

* updated playing card icons according to @karsa-mistmere

* added `playing-cards-fan` icon from @karsa-mistmere

* fix(metadata): add missing use-cases for playing card icons

* Update playing-card.json

* Update playing-cards-fan.json

* Update playing-cards.json

* Update playing-cards.svg

* Update playing-cards-fan.svg

* Update playing-card.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 11:29:51 +02:00
TFJandKarsa 56b50bba8a docs(icon-description): added old and empty tags/use case for ghost (#4762)
* chore: added old and empty tags/use case for ghost

* chore: added dead use-case

Co-authored-by: Karsa <contact@karsa.org>

* chore: applied tags

Co-authored-by: Karsa <contact@karsa.org>

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 10:47:13 +02:00
bd4cdc5f39 fix(icons): changed shopping-cart icon (#2909)
* Updated icons/shopping-cart.svg

* Updated icons/shopping-cart.json

* Updated icons/shopping-cart.svg

* Update icons/shopping-cart.svg

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 09:16:41 +02:00
Jakob GuddasandKarsa fb617bfd6e fix(icons): changed swords icon (#4707)
* Updated icons/swords.svg

* Updated icons/swords.json

* Update swords.json

* Updated icons/swords.svg

* Updated icons/swords.json

* Update swords.json

* Update sword.svg

* Update sword.json

* Update swords.json

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 09:11:17 +02:00
Karsa 50eacd724a feat(icons): make face-angry yet more angry (#4708) 2026-08-28 09:09:18 +02:00
Benjamin HaubeandKarsa 06e26d6ff1 feat(icons): added 'robot-vacuum' icon (#4599)
* add icons/robot-vacuum

* fix(icons): changed 'robot-vacuum' icon

* Update robot-vacuum.json

* Update robot-vacuum.svg

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 09:07:35 +02:00
ZoharandKarsa a79d711591 feat(icons): added robot-arm icon (#4447)
* Added icons/robot-arm svg and json

* Update robot-arm.json

fixed metadata, removed incorrect tags, fixed categories

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 09:01:04 +02:00
Jakob Guddasgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
1bcad8fccb fix(icons): changed ghost icon (#3533)
* Updated icons/ghost.svg

* Updated icons/ghost.json

* Update icons/ghost.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update ghost.svg

* Apply suggestion from @karsa-mistmere

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-08-28 08:50:31 +02:00
HoJin KIM 8d8b8744d1 fix(icons): correct "operater" typo to "operator" in equal-approximately (#4760) 2026-08-28 07:46:02 +02:00
Rajnish Kumargithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Rajnish MehtaEric Fennis
23f9abc4ed feat(lab): added bat icon to lab (#3914)
* Added icons/bat.svg

* Added icons/bat.json

* Username change

* Update icons/bat.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update bat.svg

* Modify SVG path data for bat icon

* Add use cases to bat.json

Added use cases for night mode and related themes.

* Update bat.svg

* Move bat icon

---------

Co-authored-by: Rajnish Mehta <172272341+KnarliX@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-08-24 12:13:25 +02:00
Karsaandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> bc0e5d1929 feat(icons): added galaxy icon (#4715)
* Added icons/galaxy.svg

* Added icons/galaxy.json

* feat(icons): added metadata to galaxy.json

* Update icons/galaxy.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/galaxy.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-24 12:06:36 +02:00
ce14971fa6 feat(icons): added trailer icon (#4405)
* Added icons/trailer.svg

* Added icons/trailer.json

* Update trailer.svg

* Apply suggestion from @ericfennis

* Update icons/trailer.svg

* Update trailer.json

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-24 12:03:07 +02:00
Louisandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> f68bec5ad1 feat(icons): added ship-cargo icon (#4706)
* added icon

* guidelines

* Update icons/ship-cargo.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/ship-cargo.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* edites icons

* added contributors from `ship` icon

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-24 12:01:14 +02:00
Eric Fennisandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 1a60fd28ed feat(icons): added mail-clock icon (#4722)
* Added icons/mail-clock.svg

* Added icons/mail-clock.json

* Add use cases to mail-clock.json

Added use cases for mail-clock icon.

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-24 11:59:03 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c42aba062d chore(deps-dev): bump the preact-deps group with 2 updates (#4738)
Bumps the preact-deps group with 2 updates: [@preact/preset-vite](https://github.com/preactjs/preset-vite) and [preact](https://github.com/preactjs/preact).


Updates `@preact/preset-vite` from 2.10.5 to 2.10.6
- [Release notes](https://github.com/preactjs/preset-vite/releases)
- [Changelog](https://github.com/preactjs/preset-vite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/preactjs/preset-vite/commits)

Updates `preact` from 10.29.7 to 10.29.8
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.29.7...10.29.8)

---
updated-dependencies:
- dependency-name: "@preact/preset-vite"
  dependency-version: 2.10.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: preact-deps
- dependency-name: preact
  dependency-version: 10.29.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: preact-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-24 11:39:46 +02:00
Jakob GuddasandEric Fennis 33a44aa8b0 fix: update icon design discussion template (#4726)
* fix: update icon design discussion template

Remove name and description fields from icon design template

* Add title field to icon design discussion template

* Add description for icon request template

Added a description field for icon requests.

* Update icon-design.yml

* Format code

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-08-20 14:49:31 +02:00
82 changed files with 2335 additions and 135 deletions
+1 -2
View File
@@ -1,5 +1,4 @@
name: Icon request
description: Suggest a new icon for this project
title: 'Icon Request: '
body:
- type: markdown
attributes:
+1 -1
View File
@@ -3,7 +3,7 @@
.next
.obsidian
.now
.idea
.cache
.env
node_modules
dist
+12 -1
View File
@@ -2,10 +2,21 @@
"$schema": "../icon.schema.json",
"contributors": [
"mittalyashu",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [],
"tags": [
"symbol",
"sterisk",
"mark",
"pointer",
"pencil",
"sign",
"alert",
"notification",
"indicator",
"symbolic",
"reference",
"times",
"multiply",
+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6v12" />
<path d="M17.196 9 6.804 15" />
<path d="m6.804 9 10.392 6" />
<path d="M12 5v14" />
<path d="m18.065 8.496-12.125 7" />
<path d="m5.94 8.504 12.125 7" />
</svg>

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 306 B

+1 -1
View File
@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z" />
<path d="m9 12 2 2 4-4" />
<path d="m16 9-5.5 5.5L8 12" />
</svg>

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 417 B

+2 -1
View File
@@ -3,7 +3,8 @@
"contributors": [
"kemie",
"ericfennis",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [
+1 -1
View File
@@ -10,6 +10,6 @@
stroke-linejoin="round"
>
<path d="M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3" />
<path d="m18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5" />
<path d="m18.5 6 1.754 3.5a6.48 6.48 0 0 1-1.854 8.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5" />
<circle cx="12.5" cy="8.5" r="2.5" />
</svg>

Before

Width:  |  Height:  |  Size: 468 B

After

Width:  |  Height:  |  Size: 470 B

+7 -2
View File
@@ -1,7 +1,8 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"jguddas"
],
"use-cases": [],
"tags": [
@@ -22,7 +23,11 @@
"brightness",
"overlap",
"colors",
"colours"
"colours",
"marriage",
"rings",
"couple",
"connection"
],
"categories": [
"design",
+2 -2
View File
@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="9" cy="9" r="7" />
<circle cx="15" cy="15" r="7" />
<circle cx="15" cy="9" r="7" />
<circle cx="9" cy="15" r="7" />
</svg>

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 276 B

+2 -2
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m14.5 7-5 5" />
<path d="m14.5 7.5-5 5" />
<path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20" />
<path d="m9.5 7 5 5" />
<path d="m9.5 7.5 5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 363 B

After

Width:  |  Height:  |  Size: 367 B

+1 -1
View File
@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="m9 12 2 2 4-4" />
<path d="m16 9-5.5 5.5L8 12" />
</svg>

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 278 B

+19 -1
View File
@@ -14,7 +14,25 @@
"version control",
"choices",
"multiple choice",
"choose"
"choose",
"album",
"music",
"songs",
"format",
"cd",
"dvd",
"vinyl",
"sleeve",
"cover",
"platinum",
"compilation",
"ep",
"recording",
"playback",
"spin",
"rotate",
"rpm",
"dj"
],
"categories": [
"development",
+1 -1
View File
@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<circle cx="12" cy="12" r="1" />
<circle cx="12" cy="12" r="10" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

+2 -2
View File
@@ -11,6 +11,6 @@
>
<rect width="8" height="4" x="8" y="2" rx="1" ry="1" />
<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2" />
<path d="m15 11-6 6" />
<path d="m9 11 6 6" />
<path d="m14.5 11.5-5 5" />
<path d="m9.5 11.5 5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 413 B

+2 -2
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21.95 13a10 10 0 1 0-8.685 8.92" />
<path d="M12 6v6l4 2" />
<path d="M22 12a10 10 0 1 0-11 9.95" />
<path d="m22 16-5.5 5.5L14 19" />
<path d="m16 19 2 2 4-4" />
</svg>

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 313 B

+4 -4
View File
@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="12" x2="18" y1="12" y2="18" />
<line x1="12" x2="18" y1="18" y2="12" />
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
<path d="M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2" />
<rect x="8" y="8" width="14" height="14" rx="2" />
<path d="m12.5 12.5 5 5" />
<path d="m12.5 17.5 5-5" />
</svg>

Before

Width:  |  Height:  |  Size: 425 B

After

Width:  |  Height:  |  Size: 389 B

+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"ericfennis",
"karsa-mistmere"
],
"use-cases": [
"Confirming a saved payment card is valid",
"Indicating an approved card payment during checkout",
"Verifying a payment method in billing settings",
"Showing successful card authorization in banking apps"
],
"tags": [
"debit",
"payment",
"banking",
"finance",
"transaction",
"wallet",
"purchase",
"checkout",
"billing",
"account",
"cardholder",
"verified",
"approved",
"authorized",
"valid",
"success",
"complete",
"check",
"bank",
"cc"
],
"categories": [
"account",
"finance",
"shopping"
]
}
+15
View File
@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.5 19H4a2 2 0 01-2-2V7a2 2 0 012-2h16a2 2 0 012 2v4" />
<path d="m16 17 2 2 4-4" />
<path d="M2 10h20" />
</svg>

After

Width:  |  Height:  |  Size: 332 B

+42
View File
@@ -0,0 +1,42 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"ericfennis",
"karsa-mistmere",
"ameniti-mx"
],
"use-cases": [
"Removing a saved payment card from an account",
"Unlinking a payment method in billing settings",
"Revoking card access in banking apps",
"Indicating a declined or canceled card payment"
],
"tags": [
"debit",
"payment",
"remove",
"delete",
"unlink",
"revoke",
"decline",
"canceled",
"banking",
"finance",
"wallet",
"transaction",
"billing",
"account",
"purchase",
"checkout",
"subtract",
"minus",
"bank",
"cc"
],
"categories": [
"account",
"finance",
"shopping"
]
}
+15
View File
@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 17h6" />
<path d="M22 10H2" />
<path d="M22 13V7a2 2 0 00-2-2H4a2 2 0 00-2 2v10a2 2 0 002 2h8.536" />
</svg>

After

Width:  |  Height:  |  Size: 329 B

+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"ericfennis",
"karsa-mistmere",
"ameniti-mx"
],
"use-cases": [
"Adding a payment card during checkout",
"Saving a new payment method in billing settings",
"Linking a card to a customer account",
"Requesting an additional card in banking apps"
],
"tags": [
"debit",
"payment",
"banking",
"finance",
"transaction",
"wallet",
"purchase",
"checkout",
"billing",
"account",
"cardholder",
"add",
"new",
"link",
"save",
"method",
"plastic",
"bank",
"cc"
],
"categories": [
"account",
"finance",
"shopping"
]
}
+16
View File
@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 17h6" />
<path d="M19 14v6" />
<path d="M22 10H2" />
<path d="M22 11.354V7a2 2 0 00-2-2H4a2 2 0 00-2 2v10a2 2 0 002 2h8.536" />
</svg>

After

Width:  |  Height:  |  Size: 357 B

+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"ericfennis",
"karsa-mistmere"
],
"use-cases": [
"Indicating a declined card payment during checkout",
"Marking an invalid payment card in billing settings",
"Showing failed card authorization in banking apps",
"Canceling a card payment before submission"
],
"tags": [
"debit",
"payment",
"banking",
"finance",
"transaction",
"wallet",
"purchase",
"checkout",
"billing",
"account",
"cardholder",
"declined",
"rejected",
"failed",
"invalid",
"canceled",
"error",
"cancel",
"bank",
"cc"
],
"categories": [
"account",
"finance",
"shopping"
]
}
+16
View File
@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.5 19H4a2 2 0 01-2-2V7a2 2 0 012-2h16a2 2 0 012 2v3.5" />
<path d="m16.5 14.5 5 5" />
<path d="M2 10h20" />
<path d="m21.5 14.5-5 5" />
</svg>

After

Width:  |  Height:  |  Size: 364 B

+1 -1
View File
@@ -8,7 +8,7 @@
"about",
"calculate",
"math",
"operater"
"operator"
],
"categories": [
"math"
+5 -5
View File
@@ -9,10 +9,10 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 11V9.416" />
<path d="M17 9a5 5 0 00-3 1" />
<path d="M7 9a5 5 0 013 1" />
<path d="M9 11V9.416" />
<path d="M9 16a5 5 0 016.001 0" />
<path d="M15 12v-1.584" />
<path d="M17 10a5 5 0 00-3 1" />
<path d="M7 10a5 5 0 013 1" />
<path d="M9 12v-1.584" />
<path d="M9 17a5 5 0 016.001 0" />
<circle cx="12" cy="12" r="10" />
</svg>

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 406 B

+35
View File
@@ -0,0 +1,35 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere"
],
"use-cases": [
"representing galaxies, stars, or deep space in astronomy content",
"visualizing the universe or cosmos in science education",
"marking space exploration, stargazing, or observatory features",
"identifying star chart or constellation map features",
"signifying interstellar or sci-fi travel sections in apps",
"branding planetarium events or astronomy clubs",
"decorative element in space-themed user interfaces or games",
"marking cosmic discoveries or research in science publications"
],
"tags": [
"astronomy",
"space",
"stars",
"cosmos",
"universe",
"spiral",
"milky way",
"nebula",
"cosmology",
"interstellar",
"celestial",
"constellation",
"stargazing",
"spaceflight"
],
"categories": [
"science"
]
}
+17
View File
@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16.005 15.108a5.041 6.52 28.25 00-8.008-6.217 5.041 6.52 28.25 008.008 6.217A11.884 7.288-60.76 014.029 7.001" />
<path d="M17 21h.01" />
<path d="M7 3h.01" />
<path d="M7.997 8.891a11.885 7.288-60.756 0111.977 8.107" />
<circle cx="12" cy="12" r="1" fill="currentColor" />
</svg>

After

Width:  |  Height:  |  Size: 502 B

+28 -3
View File
@@ -2,12 +2,37 @@
"$schema": "../icon.schema.json",
"contributors": [
"mittalyashu",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [
"Representing Halloween themes in seasonal content",
"Indicating spooky or haunted themes",
"Marking invisible or hidden states in playful UIs",
"Indicating dead links or obsolete content",
"Showing ghosts or spirits in arcade-style games"
],
"use-cases": [],
"tags": [
"spirit",
"haunt",
"specter",
"apparition",
"wraith",
"shade",
"phantom",
"entity",
"shadow",
"silhouette",
"pac-man",
"spooky"
"spooky",
"halloween",
"haunted",
"invisible",
"hidden",
"empty",
"dead",
"obsolete",
"outdated"
],
"categories": [
"gaming"
+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 10h.01" />
<path d="M15 10h.01" />
<path d="M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z" />
<path d="M15 10v1" />
<path d="M7.528 20.472a1.6 1.6 0 012.277 0l1.057 1.056a1.6 1.6 0 002.276 0l1.057-1.056a1.6 1.6 0 012.277 0l1.114 1.114a1.4 1.4 0 002.414-1V10a8 8 0 00-16 0v10.586a1.4 1.4 0 002.414 1z" />
<path d="M9 10v1" />
</svg>

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 445 B

+2 -2
View File
@@ -11,7 +11,7 @@
>
<path d="M12 6h4a2 2 0 0 1 2 2v7" />
<path d="M6 12v9" />
<path d="M9 3 3 9" />
<path d="M9 9 3 3" />
<path d="m8.5 3.5-5 5" />
<path d="m8.5 8.5-5-5" />
<circle cx="18" cy="18" r="3" />
</svg>

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 361 B

+4 -4
View File
@@ -9,10 +9,10 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="6" cy="6" r="3" />
<path d="m15.5 3.5 5 5" />
<path d="m15.5 8.5 5-5" />
<path d="M18 11.62V15" />
<path d="M6 9v12" />
<path d="m21 3-6 6" />
<path d="m21 9-6-6" />
<path d="M18 11.5V15" />
<circle cx="18" cy="18" r="3" />
<circle cx="6" cy="6" r="3" />
</svg>

Before

Width:  |  Height:  |  Size: 376 B

After

Width:  |  Height:  |  Size: 385 B

+2 -2
View File
@@ -10,6 +10,6 @@
stroke-linejoin="round"
>
<path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3" />
<path d="m16 16 5 5" />
<path d="m16 21 5-5" />
<path d="m16.5 16.5 5 5" />
<path d="m16.5 21.5 5-5" />
</svg>

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 373 B

+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4" />
<path d="m21 2-9.6 9.6" />
<circle cx="7.5" cy="15.5" r="5.5" />
<path d="m2 21 9.6-9.6" />
<path d="m7.5 15.5 2.3 2.3a1 1 0 0 1 0 1.4l-2.1 2.1a1 1 0 0 1-1.4 0L4 19" />
<circle cx="15.5" cy="7.5" r="5.5" />
</svg>

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 356 B

+36
View File
@@ -0,0 +1,36 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"karsa-mistmere",
"ericfennis"
],
"use-cases": [
"Represents scheduled communication",
"Represents send later icons",
"Indication scheduled mail",
"Indication delayed delivery features in messaging, email, and productivity tools"
],
"tags": [
"email",
"message",
"letter",
"unread",
"scheduled",
"delayed",
"sendlater",
"delivery",
"reminder",
"pending",
"outgoing",
"timer"
],
"categories": [
"text",
"account",
"mail",
"time",
"notifications",
"communication"
]
}
+17
View File
@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 14v2.2l1.6 1" />
<path d="m22 7-.759.484" />
<path d="M6.835 20H4a2 2 0 01-2-2V6a2 2 0 012-2h16a2 2 0 012 2v2" />
<path d="M7.605 10.567 2 7" />
<circle cx="16" cy="16" r="6" />
</svg>

After

Width:  |  Height:  |  Size: 409 B

+4 -4
View File
@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9" />
<path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" />
<path d="m17 17 4 4" />
<path d="m21 17-4 4" />
<path d="M22 12.532V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8.792" />
<path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7" />
<path d="m16.5 16.5 5 5" />
<path d="m21.5 16.5-5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 404 B

+1 -1
View File
@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719" />
<path d="m9 12 2 2 4-4" />
<path d="m16 9-5.5 5.5L8 12" />
</svg>

Before

Width:  |  Height:  |  Size: 376 B

After

Width:  |  Height:  |  Size: 381 B

+42
View File
@@ -0,0 +1,42 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"ericfennis",
"jguddas",
"karsa-mistmere",
"aliyasirnac"
],
"use-cases": [
"Confirming a draft message is ready",
"Marking pending feedback as resolved",
"Indicating provisional approval in conversation threads",
"Showing completed review status for comments"
],
"tags": [
"comment",
"chat",
"conversation",
"dialog",
"feedback",
"speech bubble",
"draft",
"pending",
"provisional",
"verification",
"confirmation",
"success",
"status",
"check",
"approval",
"moderate",
"resolved",
"done",
"complete"
],
"categories": [
"social",
"account"
]
}
+21
View File
@@ -0,0 +1,21 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10.1 2.182a10 10 0 013.8 0" />
<path d="M13.9 21.818a10 10 0 01-3.8 0" />
<path d="M17.609 3.72a10 10 0 012.69 2.7" />
<path d="M2.182 13.9a10 10 0 010-3.8" />
<path d="M20.28 17.61a10 10 0 01-2.7 2.69" />
<path d="M21.818 10.1a10 10 0 010 3.8" />
<path d="M3.721 6.391a10 10 0 012.7-2.69" />
<path d="m6.163 21.117-2.906.85a1 1 0 01-1.236-1.169l.965-2.98" />
<path d="m16 9-5.5 5.5L8 12" />
</svg>

After

Width:  |  Height:  |  Size: 628 B

+2 -1
View File
@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"chessurisme",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [
+3 -3
View File
@@ -11,8 +11,8 @@
>
<path d="M11.25 17.25h1.5L12 18z" />
<path d="m15 12 2 2" />
<path d="M18 6.5a.5.5 0 0 0-.5-.5" />
<path d="M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83" />
<path d="M6 6.5a.495.495 0 0 1 .5-.5" />
<path d="M17.902 6.599a8 8 0 0 0-.5-.5" />
<path d="M2 14.5C2 19.47 6.48 22 12 22s10-2.53 10-7.5a10 10 0 0 0-1.3-4.83 4.5 4.5 0 1 0-7.05-5.5 8 8 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5A10 10 0 0 0 2 14.5" />
<path d="M6.099 6.599a8 8 0 0 1 .5-.5" />
<path d="m9 12-2 2" />
</svg>

Before

Width:  |  Height:  |  Size: 562 B

After

Width:  |  Height:  |  Size: 549 B

+6 -6
View File
@@ -9,10 +9,10 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8" />
<path d="M2 14h20" />
<path d="M6 14v4" />
<path d="M10 14v4" />
<path d="M14 14v4" />
<path d="M18 14v4" />
<path d="M10 13v4" />
<path d="M14 13v4" />
<path d="M18 13v4" />
<path d="M2 13h20" />
<path d="M22 11.5A3.5 3.5 0 0018.5 8a3.52 3.52 0 01-3.173-2A7 7 0 002 9v10a2 2 0 002 2h16a2 2 0 002-2z" />
<path d="M6 13v4" />
</svg>

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 436 B

+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"Barakudum",
"jamiemlaw",
"karsa-mistmere"
],
"use-cases": [
"Representing a single card in tabletop games",
"Showing flashcards in learning interfaces",
"Marking prompts in icebreaker activities",
"Indicating chance-based actions or random selection"
],
"tags": [
"deck",
"draw",
"deal",
"shuffle",
"chance",
"random",
"selection",
"tabletop",
"flashcard",
"study",
"learning",
"prompt",
"icebreaker",
"conversation",
"collectible",
"trading",
"poker",
"casino",
"game",
"gambling",
"suit"
],
"categories": [
"gaming",
"development"
]
}
+14
View File
@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.832 8.445a1 1 0 00-1.589-.098l-2.075 3.098a1 1 0 000 1.11l2 3a1 1 0 001.664 0l2-3a1 1 0 000-1.11z" />
<rect x="5" y="2" width="14" height="20" rx="2" />
</svg>

After

Width:  |  Height:  |  Size: 378 B

+45
View File
@@ -0,0 +1,45 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"Barakudum",
"karsa-mistmere"
],
"use-cases": [
"Representing a player's hand in card games",
"Showing planning poker estimates in agile tools",
"Displaying icebreaker prompts in conversation apps",
"Marking spread or revealed collectible cards"
],
"tags": [
"deck",
"fan",
"spread",
"hand",
"deal",
"dealt",
"draw",
"shuffle",
"tabletop",
"planning poker",
"scrum",
"agile",
"estimation",
"estimate",
"prompt",
"icebreaker",
"conversation",
"collectible",
"collection",
"trading",
"poker",
"casino",
"game",
"gambling",
"suit"
],
"categories": [
"gaming",
"development",
"social"
]
}
+15
View File
@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.65 7.65a2 2 0 012.629-1.046l5.51 2.374a2 2 0 011.046 2.628l-3.957 9.184a2 2 0 01-2.628 1.046l-5.51-2.374a2 2 0 01-1.046-2.628z" />
<path d="M18 7.777V4a2 2 0 00-2-2h-6a2 2 0 00-2 2v10a2 2 0 001.137 1.805" />
<path d="m8 4.389-4.364.809a2 2 0 00-1.602 2.33l1.822 9.833a2 2 0 002.331 1.602l2.542-.47" />
</svg>

After

Width:  |  Height:  |  Size: 529 B

+43
View File
@@ -0,0 +1,43 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"Barakudum",
"jamiemlaw",
"karsa-mistmere"
],
"use-cases": [
"Representing decks in tabletop games",
"Showing planning poker cards in agile tools",
"Organizing flashcard sets in learning apps",
"Marking collectible card collections in inventories"
],
"tags": [
"deck",
"stack",
"shuffle",
"deal",
"draw",
"hand",
"tabletop",
"planning poker",
"scrum",
"agile",
"estimation",
"estimate",
"flashcards",
"study",
"learning",
"collectible",
"collection",
"trading",
"poker",
"casino",
"game",
"gambling",
"suit"
],
"categories": [
"gaming",
"development"
]
}
+15
View File
@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14.832 8.445a1 1 0 00-1.589-.098l-2.075 3.098a1 1 0 000 1.11l2 3a1 1 0 001.664 0l2-3a1 1 0 000-1.11z" />
<path d="m7.18 20.827-5-11a2 2 0 01.993-2.647L7 5.44" />
<rect x="7" y="2" width="14" height="20" rx="2" />
</svg>

After

Width:  |  Height:  |  Size: 437 B

+29
View File
@@ -0,0 +1,29 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"zoharma",
"karsa-mistmere"
],
"use-cases": [
"Representing industrial automation and robotics",
"Showing automated assembly or fabrication processes",
"Controlling robotic equipment in manufacturing apps",
"Monitoring assembly line operations in factory dashboards",
"Indicating automated production tasks in workflow tools"
],
"tags": [
"mechanical",
"automation",
"factory",
"manufacture",
"technology",
"cyborg",
"industrial",
"hardware",
"machinery"
],
"categories": [
"science",
"tools"
]
}
+18
View File
@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 21 7.5 8.322" />
<path d="m14 7 1.75-3.767a.5.5 0 0 1 .662-.172L20 5.005" />
<path d="m20 8.998-3.588 1.944a.5.5 0 0 1-.662-.172L14 7H8" />
<path d="M3.486 21h10" />
<path d="M5 21V8.732" />
<circle cx="6" cy="7" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 455 B

+39
View File
@@ -0,0 +1,39 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"benhaube",
"karsa-mistmere"
],
"use-cases": [
"Representing automated floor cleaning on a smart home app control panel",
"Displaying as a device icon on a local network clients list",
"Controlling robotic cleaning devices from connected home dashboards",
"Scheduling recurring vacuum runs in housekeeping apps",
"Monitoring cleaning progress on mapped floor plans"
],
"tags": [
"appliance",
"cleaning",
"household",
"housekeeping",
"tool",
"maintenance",
"smarthome",
"sweeping",
"hygiene",
"chores",
"automation",
"smart home",
"device",
"floor",
"dust",
"debris",
"navigation",
"sensor"
],
"categories": [
"devices",
"home",
"tools"
]
}
+20
View File
@@ -0,0 +1,20 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M11 17h2" />
<path d="M12 12h.01" />
<path d="M17 12a5 5 0 00-10 0" />
<path d="M19 2v2.8" />
<path d="M2 5h2.8" />
<path d="M22 5h-2.8" />
<path d="M5 2v2.8" />
<circle cx="12" cy="12" r="10" />
</svg>

After

Width:  |  Height:  |  Size: 429 B

+45
View File
@@ -0,0 +1,45 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"l0uisgrange",
"karsa-mistmere",
"jguddas"
],
"use-cases": [
"representing maritime freight or cargo shipments",
"indicating seaborne logistics in supply chain dashboards",
"marking ports, terminals, or dock operations on maps",
"showing import or export status in trade apps",
"offering a shipping option in e-commerce or order tracking",
"illustrating cargo capacity or vessel type in transport apps",
"denoting bulk or container shipping routes"
],
"tags": [
"boat",
"knots",
"nautical mile",
"maritime",
"sailing",
"cruise",
"ocean liner",
"tanker",
"vessel",
"navy",
"cargo",
"container",
"freighter",
"freight",
"shipping",
"port",
"harbor",
"dock",
"logistics",
"import",
"export"
],
"categories": [
"transportation",
"navigation",
"travel"
]
}
+17
View File
@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 15v-3" />
<path d="M12 2v2" />
<path d="M16.5 12V9a1 1 0 011-1h1a1 1 0 001-1V5a1 1 0 00-1-1h-13a1 1 0 00-1 1v2a1 1 0 001 1h1a1 1 0 011 1v3" />
<path d="M19.38 19c1.076-1.815 1.636-4.89 1.628-6.008a1 1 0 00-1-.992H3.984a1 1 0 00-1 .984c-.03 1.86.97 5.621 2.826 7.776" />
<path d="M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1" />
</svg>

After

Width:  |  Height:  |  Size: 617 B

+5 -5
View File
@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 10.189V14" />
<path d="M12 2v3" />
<path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6" />
<path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76" />
<path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1" />
<path d="M12 2v2" />
<path d="M12 9.189V13" />
<path d="M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6" />
<path d="M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76" />
<path d="M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1" />
</svg>

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 539 B

+2 -1
View File
@@ -4,7 +4,8 @@
"colebemis",
"csandman",
"ericfennis",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [
+4 -3
View File
@@ -9,7 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="8" cy="21" r="1" />
<circle cx="19" cy="21" r="1" />
<path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12" />
<path d="m2.05 2.05 1.099-.028a1 1 0 0 1 1.008.815l2.69 14.347A1 1 0 0 0 7.83 18H18" />
<path d="M4.563 5h16.435a1 1 0 0 1 .981 1.204l-1.026 6.226A2 2 0 0 1 18.962 14H6.25" />
<circle cx="18" cy="20" r="2" />
<circle cx="8" cy="20" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 457 B

+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m6 16 6-12 6 12" />
<path d="M8 12h8" />
<path d="m16 20 2 2 4-4" />
<path d="m20 15-5.5 5.5L12 18" />
<path d="m4 16 6-12 5.115 10.23" />
<path d="M6 12h8" />
</svg>

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 305 B

+1 -1
View File
@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="m9 12 2 2 4-4" />
<path d="m16 9-5.5 5.5L8 12" />
</svg>

Before

Width:  |  Height:  |  Size: 290 B

After

Width:  |  Height:  |  Size: 295 B

+2 -1
View File
@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"Patchethium",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [],
"tags": [
+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3" />
<path d="M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3" />
<line x1="12" x2="12" y1="4" y2="20" />
<path d="M12 2v20" />
<path d="M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3" />
<path d="M8 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3" />
</svg>

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 344 B

+2 -1
View File
@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"Patchethium",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [],
"tags": [
+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3" />
<path d="M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3" />
<line x1="4" x2="20" y1="12" y2="12" />
<path d="M2 12h20" />
<path d="M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3" />
<path d="M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3" />
</svg>

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 344 B

+17 -2
View File
@@ -5,13 +5,28 @@
"jguddas",
"ericfennis"
],
"use-cases": [],
"use-cases": [
"Representing weapons or melee attacks in games",
"Indicating combat abilities in character interfaces",
"Showing fantasy or medieval equipment in inventories",
"Marking offensive actions in strategy tools"
],
"tags": [
"battle",
"challenge",
"combat",
"duel",
"fantasy",
"game",
"knight",
"melee",
"medieval",
"offense",
"rpg",
"sharp",
"weapon",
"war",
"weapon"
"warrior"
],
"categories": [
"gaming",
+1 -1
View File
@@ -12,5 +12,5 @@
<path d="m11 19-6-6" />
<path d="m5 21-2-2" />
<path d="m8 16-4 4" />
<path d="M9.5 17.5 21 6V3h-3L6.5 14.5" />
<path d="M9.5 17.5 20.414 6.586A2 2 0 0021 5.172V3h-2.172a2 2 0 00-1.414.586L6.5 14.5" />
</svg>

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 376 B

+22 -3
View File
@@ -2,15 +2,34 @@
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [
"Representing battles or duels in games",
"Indicating player-versus-player combat modes",
"Showing opposing factions in strategy interfaces",
"Marking conflict or rivalry in competition brackets"
],
"use-cases": [],
"tags": [
"battle",
"challenge",
"combat",
"conflict",
"crossed",
"duel",
"faction",
"fantasy",
"game",
"melee",
"medieval",
"opponent",
"rivalry",
"rpg",
"versus",
"weapon",
"war",
"weapon"
"warrior"
],
"categories": [
"gaming",
+8 -8
View File
@@ -9,12 +9,12 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="14.5 17.5 3 6 3 3 6 3 17.5 14.5" />
<line x1="13" x2="19" y1="19" y2="13" />
<line x1="16" x2="20" y1="16" y2="20" />
<line x1="19" x2="21" y1="21" y2="19" />
<polyline points="14.5 6.5 18 3 21 3 21 6 17.5 9.5" />
<line x1="5" x2="9" y1="14" y2="18" />
<line x1="7" x2="4" y1="17" y2="20" />
<line x1="3" x2="5" y1="19" y2="21" />
<path d="m13 19 6-6" />
<path d="M14.5 17.5 3.586 6.586A2 2 0 013 5.172V3h2.172a2 2 0 011.414.586L17.5 14.5" />
<path d="m14.828 6.172 2.586-2.586A2 2 0 0118.828 3H21v2.172a2 2 0 01-.586 1.414l-2.586 2.586" />
<path d="m16 16 4 4" />
<path d="m19 21 2-2" />
<path d="m5 14 4 4" />
<path d="m5 21-2-2" />
<path d="M7.5 16.5 4 20" />
</svg>

Before

Width:  |  Height:  |  Size: 573 B

After

Width:  |  Height:  |  Size: 556 B

+25
View File
@@ -0,0 +1,25 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"MadsMadsDk",
"karsa-mistmere"
],
"use-cases": [
"Ecommerce (self pick-up options for large items)",
"Trailer lending services",
"Map markers",
"Asset tracking systems in construction"
],
"tags": [
"tow",
"shipping",
"delivery",
"haulage",
"vehicle",
"equipment",
"freight"
],
"categories": [
"transportation"
]
}
+18
View File
@@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 11.341V10" />
<path d="M14 13v-3" />
<path d="M18 17V8a2 2 0 00-2-2H4a2 2 0 00-2 2v7a2 2 0 002 2h2" />
<path d="M22 15v1a1 1 0 01-1 1H10" />
<path d="M6 11.341V10" />
<circle cx="8" cy="17" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 432 B

+3 -3
View File
@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 21a8 8 0 0 1 11.873-7" />
<path d="m16.5 16.5 5 5" />
<path d="M2 21a8 8 0 0 1 11.531-7.18" />
<path d="m21.5 16.5-5 5" />
<circle cx="10" cy="8" r="5" />
<path d="m17 17 5 5" />
<path d="m22 17-5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 345 B

+38
View File
@@ -0,0 +1,38 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"daboudii",
"timmy471",
"karsa-mistmere"
],
"use-cases": [
"Representing polygon geometry in drawing tools",
"Indicating area boundaries on maps",
"Editing vector shapes in design software",
"Working with GIS regions or coordinate data"
],
"tags": [
"map",
"vector",
"geometry",
"coordinates",
"shape",
"location",
"boundary",
"area",
"region",
"gis",
"geospatial",
"vertices",
"points",
"outline",
"drawing",
"design",
"math"
],
"categories": [
"design",
"math",
"shapes"
]
}
+20
View File
@@ -0,0 +1,20 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m12.828 4.813 5.344 2.375" />
<path d="m15.769 18.153 3.461-8.306" />
<path d="m5.687 14.074 7.625 4.852" />
<path d="M9.772 5.579 5.228 11.42" />
<circle cx="11" cy="4" r="2" />
<circle cx="15" cy="20" r="2" />
<circle cx="20" cy="8" r="2" />
<circle cx="4" cy="13" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 509 B

+8 -8
View File
@@ -9,12 +9,12 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.5 7a24 24 0 0 1 0 10" />
<path d="M4.5 7a24 24 0 0 0 0 10" />
<path d="M7 19.5a24 24 0 0 0 10 0" />
<path d="M7 4.5a24 24 0 0 1 10 0" />
<rect x="17" y="17" width="5" height="5" rx="1" />
<rect x="17" y="2" width="5" height="5" rx="1" />
<rect x="2" y="17" width="5" height="5" rx="1" />
<rect x="2" y="2" width="5" height="5" rx="1" />
<path d="M17.055 4.533a24 24 0 00-10.11 0" />
<path d="M19.467 17.055a24 24 0 000-10.11" />
<path d="M4.533 6.945a24 24 0 000 10.11" />
<path d="M6.945 19.467a24 24 0 0010.11 0" />
<circle cx="19" cy="19" r="2" />
<circle cx="19" cy="5" r="2" />
<circle cx="5" cy="19" r="2" />
<circle cx="5" cy="5" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 533 B

+3 -3
View File
@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z" />
<line x1="22" x2="16" y1="9" y2="15" />
<line x1="16" x2="22" y1="9" y2="15" />
<path d="M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z" />
<path d="m16.5 14.5 5-5" />
<path d="m16.5 9.5 5 5" />
</svg>

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 443 B

+38
View File
@@ -0,0 +1,38 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"RajnishKMehta"
],
"use-cases": [
"night mode",
"nocturnal wildlife",
"cave exploration",
"halloween theme",
"spooky content",
"horror category",
"wildlife tracking",
"animal identification",
"dark themed event",
"vampire themed content"
],
"tags": [
"nocturnal",
"vampire",
"winged",
"creature",
"nocturne",
"flying",
"bat",
"animal",
"mammal",
"wildlife",
"cave",
"halloween",
"wings",
"night",
"chamgadar"
],
"categories": [
"animals"
]
}
+14
View File
@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 20c1.1-2.8 2.9-4.8 5-4 .8-2 2.6-3.4 5-3-.2-2.4.1-5-2-7.2-1.6 2.3-3.3 2.4-5 2.3-2.4-4.8 3.8-5.8-3-2-6.8-3.8-.6-2.8-3 2-1.7.1-3.4 0-5-2.3C1.9 8 2.2 10.6 2 13c2.4-.4 4.2 1 5 3 2.1-.8 3.9 1.2 5 4" />
<path d="M9 8a3 3 0 006 0" />
</svg>

After

Width:  |  Height:  |  Size: 451 B

+1
View File
@@ -26,6 +26,7 @@
"generate:sponsors": "node scripts/updateSponsors.mts",
"generate:contributors": "node ./scripts/updateContributors.mts icons/*.svg",
"generate:nextJSAliases": "node ./scripts/generateNextJSAliases.mts",
"icon-usage": "node ./scripts/iconUsage.mts",
"suggest:metadata": "node ./scripts/suggestMetaData.mts",
"suggest:metadata:watch": "node --env-file .env --watch ./scripts/suggestMetaData.mts",
"postinstall": "husky install",
+2 -2
View File
@@ -50,11 +50,11 @@
"@lucide/build-icons": "workspace:*",
"@lucide/rollup-plugins": "workspace:*",
"@lucide/shared": "workspace:*",
"@preact/preset-vite": "^2.10.5",
"@preact/preset-vite": "^2.10.6",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/preact": "^3.2.4",
"jest-serializer-html": "^7.1.0",
"preact": "^10.29.7",
"preact": "^10.29.8",
"rollup": "^4.62.2",
"rollup-plugin-dts": "^6.4.1",
"typescript": "^5.9.3",
+29 -19
View File
@@ -458,20 +458,20 @@ importers:
specifier: workspace:*
version: link:../shared
'@preact/preset-vite':
specifier: ^2.10.5
version: 2.10.5(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.7)(rollup@4.62.2)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))
specifier: ^2.10.6
version: 2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.8)(rollup@4.62.2)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))
'@testing-library/jest-dom':
specifier: ^6.9.1
version: 6.9.1
'@testing-library/preact':
specifier: ^3.2.4
version: 3.2.4(preact@10.29.7)
version: 3.2.4(preact@10.29.8)
jest-serializer-html:
specifier: ^7.1.0
version: 7.1.0
preact:
specifier: ^10.29.7
version: 10.29.7
specifier: ^10.29.8
version: 10.29.8
rollup:
specifier: ^4.62.2
version: 4.62.2
@@ -3958,8 +3958,8 @@ packages:
'@poppinss/exception@1.2.3':
resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==}
'@preact/preset-vite@2.10.5':
resolution: {integrity: sha512-p0vJpxiVO7KWWazWny3LUZ+saXyZKWv6Ju0bYMWNJRp2YveufRPgSUB1C4MTqGJfz07EehMgfN+AJNwQy+w6Iw==}
'@preact/preset-vite@2.10.6':
resolution: {integrity: sha512-ZZ5RIT2ZVXg8UxRA8VZpoT8CdpDG7RFIqOT4bELqNBp85+HKvQBbgmh3gsoW1UOQXx26TLe+ZRNKI7q281Kckw==}
peerDependencies:
'@babel/core': 7.x
vite: ^7.3.6
@@ -9258,6 +9258,14 @@ packages:
preact-render-to-string:
optional: true
preact@10.29.8:
resolution: {integrity: sha512-ej2aVZ+vZ8WO7tvlQWRM9N63A0KzF9q4mWJfDUHgYaIofWY9hu74QdnQrjoPMmZi2/nZ5gN0bJCQF49xQqx09Q==}
peerDependencies:
preact-render-to-string: '>=5'
peerDependenciesMeta:
preact-render-to-string:
optional: true
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -11990,7 +11998,7 @@ snapshots:
'@babel/helper-annotate-as-pure@7.29.7':
dependencies:
'@babel/types': 7.29.7
'@babel/types': 7.29.8
'@babel/helper-compilation-targets@7.29.7':
dependencies:
@@ -12042,7 +12050,7 @@ snapshots:
'@babel/helper-module-imports@7.18.6':
dependencies:
'@babel/types': 7.29.7
'@babel/types': 7.29.8
'@babel/helper-module-imports@7.29.7(supports-color@10.2.2)':
dependencies:
@@ -12609,7 +12617,7 @@ snapshots:
'@babel/helper-module-imports': 7.29.7(supports-color@10.2.2)
'@babel/helper-plugin-utils': 7.29.7
'@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))
'@babel/types': 7.29.7
'@babel/types': 7.29.8
transitivePeerDependencies:
- supports-color
@@ -14707,12 +14715,12 @@ snapshots:
'@poppinss/exception@1.2.3': {}
'@preact/preset-vite@2.10.5(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.7)(rollup@4.62.2)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))':
'@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@10.29.8)(rollup@4.62.2)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))':
dependencies:
'@babel/core': 7.29.7(supports-color@10.2.2)
'@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
'@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
'@prefresh/vite': 2.4.12(preact@10.29.7)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))
'@prefresh/vite': 2.4.12(preact@10.29.8)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))
'@rollup/pluginutils': 5.4.0(rollup@4.62.2)
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7(supports-color@10.2.2))
debug: 4.4.3(supports-color@10.2.2)
@@ -14728,20 +14736,20 @@ snapshots:
'@prefresh/babel-plugin@0.5.3': {}
'@prefresh/core@1.5.10(preact@10.29.7)':
'@prefresh/core@1.5.10(preact@10.29.8)':
dependencies:
preact: 10.29.7
preact: 10.29.8
'@prefresh/utils@1.2.1': {}
'@prefresh/vite@2.4.12(preact@10.29.7)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))':
'@prefresh/vite@2.4.12(preact@10.29.8)(supports-color@10.2.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))':
dependencies:
'@babel/core': 7.29.7(supports-color@10.2.2)
'@prefresh/babel-plugin': 0.5.3
'@prefresh/core': 1.5.10(preact@10.29.7)
'@prefresh/core': 1.5.10(preact@10.29.8)
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
preact: 10.29.7
preact: 10.29.8
vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)
transitivePeerDependencies:
- supports-color
@@ -15473,10 +15481,10 @@ snapshots:
picocolors: 1.1.1
redent: 3.0.0
'@testing-library/preact@3.2.4(preact@10.29.7)':
'@testing-library/preact@3.2.4(preact@10.29.8)':
dependencies:
'@testing-library/dom': 8.20.1
preact: 10.29.7
preact: 10.29.8
'@testing-library/react@14.3.1(@types/react@18.3.31)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
@@ -21095,6 +21103,8 @@ snapshots:
preact@10.29.7: {}
preact@10.29.8: {}
prelude-ls@1.2.1: {}
prettier-plugin-astro@0.14.1:
+41
View File
@@ -0,0 +1,41 @@
# Lucide Icon Usage Estimator
Run with:
```sh
pnpm icon-usage trash trash-2
```
The default is a bounded first pass over `lucide-react`, with two GitHub search pages and up to 200 candidate files validated per query slice. Use `--all-packages` to include every supported package, or `--thorough` for the previous broader limits of 10 pages and 1,000 candidate files per query slice.
GitHub code search requires authentication, so set `GITHUB_TOKEN` or pass `--token-env <NAME>`.
Use `--verbose` or `-v` to print detailed progress logs to stderr, including queries, pages, cache hits, retries, content validation, and matches.
## Method
The script uses GitHub REST `GET /search/code` with package-scoped, code-extension-scoped queries, then fetches each returned file and validates common Lucide import styles before counting a repository. Counts are deduplicated by `owner/repository`.
Output includes overall repository counts and per-package statistics. Per-package statistics are computed from validated matches for that package, so a repository using `trash` via `lucide-react` and `trash-2` via another package is represented correctly in both the overall totals and each package section.
Supported packages are `lucide-react`, `@lucide/vue`, `@lucide/svelte`, `@lucide/angular`, `@lucide/astro`, `lucide-preact`, `lucide-solid`, `lucide`, and `@lucide/lab`. The default package is `lucide-react` because all packages plus file-scope slicing is slow for broad icons; use `--all-packages` when that broader sample is needed.
Searches are split across relevant implementation file scopes using REST code search qualifiers such as `language:typescript`, `language:javascript`, `extension:vue`, and `extension:svelte`. Returned paths are still filtered by expected extensions before content is fetched, so Markdown and prompt/spec files are intentionally excluded by default because they frequently contain examples or generated implementation notes rather than live package usage.
By default, queries exclude forks, archived repositories, generated files, and vendored files using GitHub code search qualifiers. Use `--include-forks`, `--include-archived`, `--include-generated`, or `--include-vendored` to include them.
## GitHub API Limits
GitHub REST code search is authenticated and rate-limited to 10 requests per minute. Each query can return at most 1,000 results, with up to 100 results per page. Search only covers default branches and files smaller than 384 KB.
`total_count` and `incomplete_results` come from GitHub search and are recorded in JSON metadata. If a query exceeds the 1,000-result cap or returns `incomplete_results: true`, the script reports a warning and the result should be treated as incomplete rather than exhaustive.
GitHub's newer code search syntax is usable for public code search queries and supports qualifiers such as `NOT is:fork`, `NOT is:archived`, `NOT is:generated`, and `NOT is:vendored`, but the documented REST code search endpoint remains capped for result retrieval.
## Practical Strategy For Broad Icons
For common icons that hit search caps, use the script output as lower-bound or sampled evidence. The most defensible follow-up is to narrow query slices and cite them separately, for example by package, language/path, or repository cohorts, while preserving the JSON metadata for every query performed.
## Known Biases
Only public GitHub repositories visible to the token are observable. Private repositories and consumers outside GitHub are absent. GitHub is not representative of every Lucide consumer. Framework/package usage can differ materially. GitHub indexing may be incomplete or delayed. Generated or vendored code can still create false positives when GitHub does not identify it. Very common icons may exceed GitHub search-result caps.
File diff suppressed because it is too large Load Diff