Merge branch 'main' into rename/test-tube-diagonal-to-test-tube

This commit is contained in:
Jakob Guddas
2026-08-28 14:36:16 +02:00
committed by GitHub
58 changed files with 1021 additions and 137 deletions

View File

@@ -1,5 +1,4 @@
name: Icon request
description: Suggest a new icon for this project
title: 'Icon Request: '
body:
- type: markdown
attributes:

View File

@@ -3,6 +3,8 @@ name: Close Icon Requests with Brand Terms
on:
issues:
types: [opened]
discussion:
types: [created]
permissions: {}
@@ -16,12 +18,13 @@ jobs:
permissions:
contents: read
issues: write
discussions: write
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Load stopwords from JSON & check issue title & body
if: contains(github.event.issue.labels.*.name, '🙌 icon request')
if: github.event_name == 'issues' && contains(github.event.issue.labels.*.name, '🙌 icon request')
run: |
ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH")
ISSUE_BODY=$(jq -r '.issue.body // ""' "$GITHUB_EVENT_PATH")
@@ -34,6 +37,8 @@ jobs:
if echo "$ISSUE_TITLE" | grep -iqE "$SAFE_KEY|$SAFE_VALUE" || \
{ [ -n "$ICON_NAME_SECTION" ] && echo "$ICON_NAME_SECTION" | grep -iqE "$SAFE_KEY|$SAFE_VALUE"; }; then
URL_ENCODED_VALUE=$(jq -rn --arg val "$VALUE" '$val|@uri')
gh issue close ${{ github.event.issue.number }} \
--reason "not planned" \
--comment "It looks like this request is about **${VALUE}**, which is a brand logo.
@@ -42,7 +47,7 @@ jobs:
[Click here to read our official statement about brand logos in Lucide.](https://github.com/lucide-icons/lucide/blob/main/BRAND_LOGOS_STATEMENT.md)
You can [search for similar issues.](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+${VALUE})
You can [search for similar issues.](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+${URL_ENCODED_VALUE})
Were always happy to help on [Discord](https://discord.gg/EH6nSts)."
@@ -50,3 +55,56 @@ jobs:
exit 0
fi
done
- name: Load stopwords from JSON & check discussion title & body
if: github.event_name == 'discussion' && github.event.discussion.category.slug == 'icon-design'
run: |
DISCUSSION_TITLE=$(jq -r '.discussion.title' "$GITHUB_EVENT_PATH")
DISCUSSION_BODY=$(jq -r '.discussion.body // ""' "$GITHUB_EVENT_PATH")
ICON_NAME_SECTION=$(printf '%s\n' "$DISCUSSION_BODY" | awk '/### Icon name/{flag=1; next} /^### /{flag=0} flag')
jq -r 'to_entries[] | "\(.key) \(.value)"' brand-stopwords.json | while read -r KEY VALUE; do
SAFE_KEY=$(printf '%s\n' "$KEY" | sed 's/[][\.^$*]/\\&/g')
SAFE_VALUE=$(printf '%s\n' "$VALUE" | sed 's/[][\.^$*]/\\&/g')
if echo "$DISCUSSION_TITLE" | grep -iqE "$SAFE_KEY|$SAFE_VALUE" || \
{ [ -n "$ICON_NAME_SECTION" ] && echo "$ICON_NAME_SECTION" | grep -iqE "$SAFE_KEY|$SAFE_VALUE"; }; then
URL_ENCODED_VALUE=$(jq -rn --arg val "$VALUE" '$val|@uri')
DISCUSSION_NODE_ID=$(jq -r '.discussion.node_id' "$GITHUB_EVENT_PATH")
COMMENT_BODY="It looks like this request is about **${VALUE}**, which is a brand logo.
Lucide **does not accept** brand logos, and we do not plan to add them in the future. This is due to a combination of **legal restrictions**, **design consistency concerns**, and **practical maintenance reasons**.
[Click here to read our official statement about brand logos in Lucide.](https://github.com/lucide-icons/lucide/blob/main/BRAND_LOGOS_STATEMENT.md)
You can [search for similar discussions.](https://github.com/lucide-icons/lucide/discussions/categories/icon-design?discussions_q=category%253A%22Icon+design%22+${URL_ENCODED_VALUE})
Were always happy to help on [Discord](https://discord.gg/EH6nSts)."
# Add comment to discussion
gh api graphql -f query='
mutation($discussionId: ID!, $body: String!) {
addDiscussionComment(input: {discussionId: $discussionId, body: $body}) {
comment { id }
}
}' -f discussionId="$DISCUSSION_NODE_ID" -f body="$COMMENT_BODY"
# Close discussion
gh api graphql -f query='
mutation($discussionId: ID!) {
closeDiscussion(input: {discussionId: $discussionId}) {
discussion { closed }
}
}' -f discussionId="$DISCUSSION_NODE_ID"
# Lock discussion
gh api graphql -f query='
mutation($lockableId: ID!, $reason: LockReason) {
lockLockable(input: {lockableId: $lockableId, lockReason: $reason}) {
lockedRecord { locked }
}
}' -f lockableId="$DISCUSSION_NODE_ID" -f reason="SPAM"
exit 0
fi
done

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",

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

View File

@@ -3,7 +3,8 @@
"contributors": [
"kemie",
"ericfennis",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [

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

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",

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

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",

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

View File

@@ -8,7 +8,7 @@
"about",
"calculate",
"math",
"operater"
"operator"
],
"categories": [
"math"

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
icons/galaxy.json Normal file
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
icons/galaxy.svg Normal file
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

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"

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

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
icons/mail-clock.json Normal file
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
icons/mail-clock.svg Normal file
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

37
icons/midi-port.json Normal file
View File

@@ -0,0 +1,37 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"simoncoudeville",
"karsa-mistmere"
],
"use-cases": [
"Representing MIDI connections and ports in music production software",
"Indicating MIDI input and output on synthesizers, keyboards, and controllers",
"Showing MIDI device connectivity in audio and hardware configuration interfaces",
"Representing MIDI routing, patching, and signal flow",
"Identifying 5-pin DIN MIDI connectors in technical diagrams and device documentation"
],
"tags": [
"musical instrument digital interface",
"port",
"connector",
"socket",
"jack",
"din",
"5-pin",
"audio",
"music",
"synthesizer",
"keyboard",
"controller",
"interface",
"input",
"output",
"io"
],
"categories": [
"multimedia",
"connectivity",
"devices"
]
}

19
icons/midi-port.svg Normal file
View File

@@ -0,0 +1,19 @@
<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 18h.01" />
<path d="M15 2.458V5a1 1 0 01-1 1h-4a1 1 0 01-1-1V2.458" />
<path d="M16 16h.01" />
<path d="M18 12h.01" />
<path d="M6 12h.01" />
<path d="M8 16h.01" />
<circle cx="12" cy="12" r="10" />
</svg>

After

Width:  |  Height:  |  Size: 434 B

38
icons/mop-sparkles.json Normal file
View File

@@ -0,0 +1,38 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere"
],
"use-cases": [
"representing AI-assisted cleaning or automation features",
"indicating spotless or freshly cleaned surfaces",
"showing magical cleanup actions in smart home apps"
],
"tags": [
"cleaning",
"scrubbing",
"sweeping",
"ai",
"magic",
"sparkle",
"smart",
"automation",
"housekeeping",
"hygiene",
"sanitation",
"chores",
"swab",
"tidy",
"floor",
"spotless",
"pristine",
"polish",
"sanitize",
"disinfect"
],
"categories": [
"home",
"tools",
"design"
]
}

22
icons/mop-sparkles.svg Normal file
View File

@@ -0,0 +1,22 @@
<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 22a3 3 0 01-3-3" />
<path d="M10 22c2.761 0 5-1.79 5-4-4.42 0-4.08-5-8.5-5a4.501 4.501 0 000 9z" />
<path d="M10 3H8" />
<path d="M12.5 11.5 22 2" />
<path d="M20 13v4" />
<path d="M22 15h-4" />
<path d="M4 5v4" />
<path d="M6 7H2" />
<path d="m6.98 13.02 2.665-2.664a1.21 1.21 0 011.71 0l2.29 2.288a1.21 1.21 0 010 1.712l-2.088 2.087" />
<path d="M9 2v2" />
</svg>

After

Width:  |  Height:  |  Size: 600 B

39
icons/mop.json Normal file
View File

@@ -0,0 +1,39 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere"
],
"use-cases": [
"representing floor cleaning and housekeeping tasks",
"indicating janitorial or sanitation services",
"showing cleaning supplies in home maintenance apps",
"showing cleaning-in-progress or wet floor warnings",
"representing cleaning supplies in ecommerce listings",
"adding housekeeping requests in hotel apps",
"scheduling recurring floor maintenance tasks",
"labeling janitorial services on property management dashboards"
],
"tags": [
"cleaning",
"sweeping",
"scrubbing",
"housekeeping",
"hygiene",
"sanitation",
"chores",
"swab",
"tidy",
"floor",
"janitor",
"maintenance",
"wash",
"wipe",
"spotless",
"pristine",
"disinfect"
],
"categories": [
"home",
"tools"
]
}

15
icons/mop.svg Normal file
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="M10 22c2.761 0 5-1.79 5-4-4.42 0-4.08-5-8.5-5a1 1 0 100 9za3 3 0 01-3-3" />
<path d="M12.5 11.5 22 2" />
<path d="m6.98 13.02 2.665-2.664a1.21 1.21 0 011.71 0l2.29 2.288a1.21 1.21 0 010 1.712l-2.088 2.087" />
</svg>

After

Width:  |  Height:  |  Size: 432 B

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"chessurisme",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [

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

41
icons/playing-card.json Normal file
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
icons/playing-card.svg Normal file
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

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"
]
}

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
icons/playing-cards.json Normal file
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
icons/playing-cards.svg Normal file
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
icons/robot-arm.json Normal file
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
icons/robot-arm.svg Normal file
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
icons/robot-vacuum.json Normal file
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
icons/robot-vacuum.svg Normal file
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
icons/ship-cargo.json Normal file
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
icons/ship-cargo.svg Normal file
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

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

View File

@@ -4,7 +4,8 @@
"colebemis",
"csandman",
"ericfennis",
"karsa-mistmere"
"karsa-mistmere",
"jguddas"
],
"use-cases": [],
"tags": [

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

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"Patchethium",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [],
"tags": [

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

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"Patchethium",
"ericfennis"
"ericfennis",
"jguddas"
],
"use-cases": [],
"tags": [

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

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",

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

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",

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
icons/trailer.json Normal file
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
icons/trailer.svg Normal file
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

38
lab/bat.json Normal file
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
lab/bat.svg Normal file
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

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",

View File

@@ -61,14 +61,14 @@
"@lucide/build-icons": "workspace:*",
"@lucide/helpers": "workspace:*",
"@sveltejs/package": "^2.5.8",
"@sveltejs/vite-plugin-svelte": "^7.2.0",
"@sveltejs/vite-plugin-svelte": "^7.3.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/svelte": "^5.4.2",
"@tsconfig/svelte": "^5.0.8",
"jest-serializer-html": "^7.1.0",
"jsdom": "^27.4.0",
"svelte": "^5.56.8",
"svelte-check": "^4.7.4",
"svelte": "^5.56.9",
"svelte-check": "^4.7.6",
"svelte-preprocess": "^6.0.5",
"typescript": "^5.9.3",
"vite": "^7.3.6"

147
pnpm-lock.yaml generated
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
@@ -687,16 +687,16 @@ importers:
version: link:../../tools/build-helpers
'@sveltejs/package':
specifier: ^2.5.8
version: 2.5.8(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)
version: 2.5.8(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^7.2.0
version: 7.2.0(svelte@5.56.8(@typescript-eslint/types@8.64.0))(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: ^7.3.0
version: 7.3.0(svelte@5.56.9(@typescript-eslint/types@8.66.0))(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/svelte':
specifier: ^5.4.2
version: 5.4.2(svelte@5.56.8(@typescript-eslint/types@8.64.0))(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))(vitest@4.1.10)
version: 5.4.2(svelte@5.56.9(@typescript-eslint/types@8.66.0))(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))(vitest@4.1.10)
'@tsconfig/svelte':
specifier: ^5.0.8
version: 5.0.8
@@ -707,14 +707,14 @@ importers:
specifier: ^27.4.0
version: 27.4.0(supports-color@10.2.2)
svelte:
specifier: ^5.56.8
version: 5.56.8(@typescript-eslint/types@8.64.0)
specifier: ^5.56.9
version: 5.56.9(@typescript-eslint/types@8.66.0)
svelte-check:
specifier: ^4.7.4
version: 4.7.4(picomatch@4.0.5)(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)
specifier: ^4.7.6
version: 4.7.6(picomatch@4.0.5)(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3)
svelte-preprocess:
specifier: ^6.0.5
version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)
version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3)
typescript:
specifier: ^5.9.3
version: 5.9.3
@@ -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
@@ -4596,13 +4596,13 @@ packages:
'@stitches/core@1.2.8':
resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==}
'@sveltejs/acorn-typescript@1.0.11':
resolution: {integrity: sha512-LFuZUkjJ9iF7JZye/aG5XM0SFcQ5VyL0oVX4WJ9dc0Va3R3s0OauX1BESVCb+YN/ol8TAfqGDDAQsTG627Y5kw==}
'@sveltejs/acorn-typescript@1.0.13':
resolution: {integrity: sha512-wgKggnhZVL9Bfx1OaKKTrYY9BFRk6C8UAkQNUcIv1+llzYrIqy+RZm5HPKzn0NpEBvTVhTqB4kQyllZywsRBRQ==}
peerDependencies:
acorn: ^8.9.0
'@sveltejs/load-config@0.2.1':
resolution: {integrity: sha512-5m3B2cbqQ4TbwW6Xkh66Ntw6dD7gNc77cCxABTTesWcq9jxIzMgTk97pZx5vEtvQx8iokgi7GIphqZe+PGwcZA==}
'@sveltejs/load-config@0.2.3':
resolution: {integrity: sha512-VT3qmUb8pRV2QrZjd8iAmtg8lf4W0TIjZbvXtz5MKei/q96teWZgGJyyidJzOjzZzvdq616eSRVeMYIQChUTAQ==}
engines: {node: '>= 18.0.0'}
'@sveltejs/package@2.5.8':
@@ -4612,8 +4612,8 @@ packages:
peerDependencies:
svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
'@sveltejs/vite-plugin-svelte@7.2.0':
resolution: {integrity: sha512-1SpkuMSRLfugrVX+IrKfE1RUegzo8AQzKQ6qQPfVzbcWi5IhuTPaKb5ZrLpucleFznkc4/RTeSPoRnGWFxX+EQ==}
'@sveltejs/vite-plugin-svelte@7.3.0':
resolution: {integrity: sha512-QbRoJyD92e9R0ufeQIWRHrCC0ObcqSv/aBDdrQMoU+sypav3cDx5wytdQ6GLdXjEMO6xjrXGzfkUygng8JMv0A==}
engines: {node: ^20.19 || ^22.12 || >=24}
peerDependencies:
svelte: ^5.46.4
@@ -6927,8 +6927,8 @@ packages:
resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
esrap@2.3.0:
resolution: {integrity: sha512-GQ/7RN8uOtEfNpzZzBMTzW9JBcX42oaSVtPzdF+6cEL8pqIL094iUpr9jzYGn4O4P/1S60dJ6izyT8F4LYARng==}
esrap@2.3.4:
resolution: {integrity: sha512-CHnJXZDfBeOAjLIGNy/0BEsmDu5+irHgUXRW9pGptxCbO3uyjJ98crilzFgiBqizW94UodjX3GAPLg/dhEnUfA==}
peerDependencies:
'@typescript-eslint/types': ^8.2.0
peerDependenciesMeta:
@@ -8235,6 +8235,9 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
magic-string@1.2.0:
resolution: {integrity: sha512-ptco+HFxTLgjafSLim2LojBSwfg5feBjd+SqyiwdGkzC38UPdZy3zgrHMI2CoTf5fJL38tbHMYWVzIH8BxGqJw==}
magicast@0.5.3:
resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==}
@@ -9255,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'}
@@ -10176,8 +10187,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
svelte-check@4.7.4:
resolution: {integrity: sha512-IW9ot9YqAoyv8FvyN+eb4ZTe8zgcKZrJLNYU6dzSKkGwEBsSPc4K7lmQ8bKn8W2YMXM6WDfZSSVOaGtekyUfOQ==}
svelte-check@4.7.6:
resolution: {integrity: sha512-t2scM//ZuVbSY/T2w6FSBw1v9s2NEmh/g+sy1lqtosW5ylBV5AF4wFb1Ts9Kf3MbfPDUDJDZ9L436YT0SPTdvw==}
engines: {node: '>= 18.0.0'}
hasBin: true
peerDependencies:
@@ -10227,8 +10238,8 @@ packages:
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
typescript: ^4.9.4 || ^5.0.0 || ^6.0.0
svelte@5.56.8:
resolution: {integrity: sha512-PY8LOw7xP6c8IOiVqdo0sbbZVYhXRSfklOQLAUyGBKqjTX0wx/z4l/9J+PmBpmlLnxzEb1NqltxQ5/wZme/Cmg==}
svelte@5.56.9:
resolution: {integrity: sha512-VT8kSnlEg8069w7AiCcAk3Yf5xvMnrGTagVOmU/OpOLHaHnNqXhWZCH/4EVga/bT/HtWhvE6/fHrXLErx7OnJA==}
engines: {node: '>=18'}
svg-path-commander@2.2.1:
@@ -11987,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:
@@ -12039,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:
@@ -12606,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
@@ -14704,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)
@@ -14725,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
@@ -15334,29 +15345,29 @@ snapshots:
'@stitches/core@1.2.8': {}
'@sveltejs/acorn-typescript@1.0.11(acorn@8.18.0)':
'@sveltejs/acorn-typescript@1.0.13(acorn@8.18.0)':
dependencies:
acorn: 8.18.0
'@sveltejs/load-config@0.2.1': {}
'@sveltejs/load-config@0.2.3': {}
'@sveltejs/package@2.5.8(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)':
'@sveltejs/package@2.5.8(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3)':
dependencies:
chokidar: 5.0.0
kleur: 4.1.5
sade: 1.8.1
semver: 7.8.5
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte2tsx: 0.7.57(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
svelte2tsx: 0.7.57(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3)
transitivePeerDependencies:
- typescript
'@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8(@typescript-eslint/types@8.64.0))(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))':
'@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.66.0))(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:
deepmerge: 4.3.1
magic-string: 0.30.21
magic-string: 1.2.0
obug: 2.1.4
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
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)
vitefu: 1.1.3(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))
@@ -15470,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:
@@ -15495,15 +15506,15 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
'@testing-library/svelte-core@1.1.3(svelte@5.56.8(@typescript-eslint/types@8.64.0))':
'@testing-library/svelte-core@1.1.3(svelte@5.56.9(@typescript-eslint/types@8.66.0))':
dependencies:
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
'@testing-library/svelte@5.4.2(svelte@5.56.8(@typescript-eslint/types@8.64.0))(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))(vitest@4.1.10)':
'@testing-library/svelte@5.4.2(svelte@5.56.9(@typescript-eslint/types@8.66.0))(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))(vitest@4.1.10)':
dependencies:
'@testing-library/dom': 10.4.1
'@testing-library/svelte-core': 1.1.3(svelte@5.56.8(@typescript-eslint/types@8.64.0))
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
'@testing-library/svelte-core': 1.1.3(svelte@5.56.9(@typescript-eslint/types@8.66.0))
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
optionalDependencies:
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)
vitest: 4.1.10(@types/node@26.1.1)(@vitest/browser-playwright@4.1.10)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(jsdom@27.4.0(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))
@@ -18195,11 +18206,11 @@ snapshots:
dependencies:
estraverse: 5.3.0
esrap@2.3.0(@typescript-eslint/types@8.64.0):
esrap@2.3.4(@typescript-eslint/types@8.66.0):
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
optionalDependencies:
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/types': 8.66.0
esrecurse@4.3.0:
dependencies:
@@ -19684,6 +19695,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
magic-string@1.2.0:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
magicast@0.5.3:
dependencies:
'@babel/parser': 7.29.7
@@ -21088,6 +21103,8 @@ snapshots:
preact@10.29.7: {}
preact@10.29.8: {}
prelude-ls@1.2.1: {}
prettier-plugin-astro@0.14.1:
@@ -22320,22 +22337,22 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
svelte-check@4.7.4(picomatch@4.0.5)(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3):
svelte-check@4.7.6(picomatch@4.0.5)(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@sveltejs/load-config': 0.2.1
'@sveltejs/load-config': 0.2.3
chokidar: 4.0.3
fdir: 6.5.0(picomatch@4.0.5)
picocolors: 1.1.1
sade: 1.8.1
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
typescript: 5.9.3
transitivePeerDependencies:
- picomatch
svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3):
svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3):
dependencies:
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
optionalDependencies:
'@babel/core': 7.29.7(supports-color@10.2.2)
less: 4.6.7
@@ -22344,18 +22361,18 @@ snapshots:
stylus: 0.56.0(supports-color@10.2.2)
typescript: 5.9.3
svelte2tsx@0.7.57(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3):
svelte2tsx@0.7.57(svelte@5.56.9(@typescript-eslint/types@8.66.0))(typescript@5.9.3):
dependencies:
dedent-js: 1.0.1
scule: 1.3.0
svelte: 5.56.8(@typescript-eslint/types@8.64.0)
svelte: 5.56.9(@typescript-eslint/types@8.66.0)
typescript: 5.9.3
svelte@5.56.8(@typescript-eslint/types@8.64.0):
svelte@5.56.9(@typescript-eslint/types@8.66.0):
dependencies:
'@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5
'@sveltejs/acorn-typescript': 1.0.11(acorn@8.18.0)
'@sveltejs/acorn-typescript': 1.0.13(acorn@8.18.0)
'@types/estree': 1.0.9
'@types/trusted-types': 2.0.7
acorn: 8.18.0
@@ -22364,7 +22381,7 @@ snapshots:
clsx: 2.1.1
devalue: 5.9.0
esm-env: 1.2.2
esrap: 2.3.0(@typescript-eslint/types@8.64.0)
esrap: 2.3.4(@typescript-eslint/types@8.66.0)
is-reference: 3.0.3
locate-character: 3.0.0
magic-string: 0.30.21

View File

@@ -14,7 +14,7 @@ for (const file of readdirSync(path.join(import.meta.dirname, '../docs/images'))
[
groupOpeningTag,
...readFileSync(path.join(import.meta.dirname, `../icons/${iconName}.svg`), 'utf8')
.replace(/(<svg)([^>]|\n)*>|<\/svg>/g, '')
.replace(/(<svg)[^>]*>|<\/svg>/g, '')
.split('\n'),
]
.map((val) => val.trimEnd())