mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-10 13:18:25 +00:00
Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f94ac6b77 | ||
|
|
93dd84c0d0 | ||
|
|
feb9abc633 | ||
|
|
44438b8d8a | ||
|
|
a79b2d131d | ||
|
|
b998e2892b | ||
|
|
5da3ee357d | ||
|
|
6bbe5ddb07 | ||
|
|
4a26fa58e0 | ||
|
|
5d592a96aa |
@@ -298,11 +298,11 @@ Link text should describe the destination or concept.
|
||||
|
||||
**Do:**
|
||||
|
||||
> See the [Icon Design Specification](./specification) for exact dimensions and spacing requirements.
|
||||
> See the [Icon Design Guide](./design-principles) for exact dimensions and spacing requirements.
|
||||
|
||||
**Don't:**
|
||||
|
||||
> For more information, [click here](./specification).
|
||||
> For more information, [click here](./design-principles).
|
||||
|
||||
Avoid generic link text such as:
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ jobs:
|
||||
contents: write # Required to create the release and tag
|
||||
outputs:
|
||||
VERSION: ${{ steps.new-version.outputs.NEW_VERSION }}
|
||||
RELEASE_URL: ${{ steps.create-release.outputs.url }}
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
|
||||
@@ -102,6 +103,7 @@ jobs:
|
||||
echo '${{ steps.change-log.outputs.CHANGE_LOG }}'
|
||||
|
||||
- name: Create Release
|
||||
id: create-release
|
||||
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
|
||||
with:
|
||||
tag_name: ${{ steps.new-version.outputs.NEW_VERSION }}
|
||||
@@ -129,3 +131,30 @@ jobs:
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
tag: ${{ inputs.tag }}
|
||||
|
||||
post-release:
|
||||
name: Trigger post-release automation
|
||||
if: >-
|
||||
always() &&
|
||||
github.repository == 'lucide-icons/lucide' &&
|
||||
(needs.start-release.result == 'success' || needs.dispatch-release.result == 'success')
|
||||
needs: [create-release, start-release, dispatch-release]
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Dispatch post_release event
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.POST_RELEASE_TOKEN }}
|
||||
RELEASE_TAG: ${{ needs.create-release.outputs.VERSION || inputs.version }}
|
||||
RELEASE_URL: ${{ needs.create-release.outputs.RELEASE_URL }}
|
||||
run: |
|
||||
if [ -z "$RELEASE_URL" ]; then
|
||||
RELEASE_URL="https://github.com/lucide-icons/lucide/releases/tag/$RELEASE_TAG"
|
||||
fi
|
||||
|
||||
gh api \
|
||||
--method POST \
|
||||
repos/lucide-icons/post-release/dispatches \
|
||||
--field event_type=post_release \
|
||||
--field "client_payload[release_tag]=$RELEASE_TAG" \
|
||||
--field "client_payload[release_url]=$RELEASE_URL"
|
||||
|
||||
@@ -60,11 +60,6 @@ export const resourcesSidebar = [
|
||||
link: '/contribute/icons/design-principles',
|
||||
desc: 'Learn the visual principles that shape Lucide icons with side-by-side examples.',
|
||||
},
|
||||
{
|
||||
text: 'Design specification',
|
||||
link: '/contribute/icons/specification',
|
||||
desc: 'Review the technical requirements every Lucide icon must meet.',
|
||||
},
|
||||
{
|
||||
text: 'Naming conventions',
|
||||
link: '/contribute/icons/naming-conventions',
|
||||
|
||||
@@ -8,7 +8,9 @@ Lucide is a consistent icon set, not a collection of unrelated icons. Every icon
|
||||
|
||||
This guide explains the visual rules behind Lucide icons and how to use them when designing new icons.
|
||||
|
||||
For the full rule list, see the [icon design specification](./specification)
|
||||
::: info Requirement levels
|
||||
This guide uses normative terms such as **must**, **should**, and **may** as defined in [RFC 2119](https://www.rfc-editor.org/info/rfc2119/).
|
||||
:::
|
||||
|
||||
## 1. Use a 24 × 24-pixel canvas
|
||||
|
||||
@@ -94,7 +96,9 @@ Don't use **inside or outside** strokes. They change how line joins appear, crea
|
||||
|
||||
## 7. Use consistent corner radii
|
||||
|
||||
Almost every sharp corner **should** be rounded.
|
||||
Corner radius depends on the size and angle of the element.
|
||||
|
||||
### 7.1. Sharp corners **should** be rounded unless the geometry of the icon requires otherwise
|
||||
|
||||
:::: example
|
||||
::: do ../../images/border-radius-correct.svg?raw=true
|
||||
@@ -105,29 +109,44 @@ Don't use **sharp corners**.
|
||||
:::
|
||||
::::
|
||||
|
||||
Corner radius depends on the size of the element and the angle. For 90° angles:
|
||||
### 7.2. Elements at least 8 pixels wide or tall **should** use a 2-pixel corner radius for 90° corners
|
||||
|
||||
:::: example
|
||||
::: do ../../images/2px-border-radius.svg?raw=true
|
||||
Use a **2-pixel corner radius** for shapes that are at least 8 pixels wide or tall.
|
||||
:::
|
||||
::: do ../../images/1px-border-radius.svg?raw=true
|
||||
::::
|
||||
|
||||
### 7.3. Elements smaller than 8 pixels **should** use a 1-pixel corner radius for 90° corners
|
||||
|
||||
Use a **1-pixel corner radius** for shapes smaller than 8 pixels.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/1px-border-radius.svg?raw=true
|
||||
:::
|
||||
::::
|
||||
|
||||
There are exceptions:
|
||||
### 7.4. Diagonal lines meeting at a 90° angle **should** use a radius that preserves pixel-grid alignment
|
||||
|
||||
Diagonal lines that meet at a right angle usually need a **2.41 pixel** radius (1+√2) to stay aligned to the grid.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/border-radius-90deg.svg?raw=true
|
||||
Diagonal lines that meet at a right angle usually need a **2.41 pixel** radius (1+√2) to stay aligned to the grid.
|
||||
:::
|
||||
::: do ../../images/border-radius-arbitrary.svg?raw=true
|
||||
Even **very sharp corners** usually need a small amount of rounding. The exact amount depends on the shape.
|
||||
:::
|
||||
::::
|
||||
|
||||
Avoid rounding corners **where multiple lines meet**.
|
||||
### 7.5. Other acute corners **should** use an appropriate amount of rounding based on their geometry
|
||||
|
||||
Even **very sharp corners** usually need a small amount of rounding. The exact amount depends on the shape.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/border-radius-arbitrary.svg?raw=true
|
||||
:::
|
||||
::::
|
||||
|
||||
### 7.6. Corners where lines cross **must not** be rounded
|
||||
|
||||
Corners where multiple lines meet **must not** be rounded. Keep corners sharp where multiple lines meet so the icon scales well.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/border-radius-line-join.svg?raw=true
|
||||
@@ -138,9 +157,15 @@ Don't round corners where more than two lines meet. This can make the icon scale
|
||||
:::
|
||||
::::
|
||||
|
||||
### 7.7. Non-outlined arrows **must not** be rounded
|
||||
|
||||
Non-outlined arrows **must not** be rounded.
|
||||
|
||||
If the arrow is an outline shape, it **should** be rounded.
|
||||
|
||||
## 8. Keep at least 2 pixels between elements
|
||||
|
||||
Distinct elements **must** have at least 2 pixels of visual spacing between them.
|
||||
### 8.1. Distinct elements **must** have at least 2 pixels of visual spacing between them
|
||||
|
||||
:::: example
|
||||
::: do ../../images/2px-element-spacing.svg?raw=true
|
||||
@@ -151,7 +176,9 @@ Don't use gaps smaller than **2 pixels** between distinct elements.
|
||||
:::
|
||||
::::
|
||||
|
||||
This also applies inside shapes. Most inner gaps **should** be at least 2 pixels wide.
|
||||
### 8.2. Inner gaps **should** be at least 2 pixels wide
|
||||
|
||||
The 2-pixel gap rule also applies inside shapes. Most inner gaps **should** be at least 2 pixels wide.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/2px-inner-spacing.svg?raw=true
|
||||
@@ -173,7 +200,9 @@ If the circle **overlaps** the shape, the gap should be **wider**.
|
||||
:::
|
||||
::::
|
||||
|
||||
The 2 pixel spacing also applies when elements visually connect or intersect.
|
||||
### 8.3. Visual spacing **should** remain consistent when elements connect or intersect
|
||||
|
||||
Spacing **should** remain visually consistent where elements connect or intersect. Elements **must not** connect without keeping at least 2 pixels of spacing, and **should not** terminate with an abrupt cut.
|
||||
|
||||
:::: example
|
||||
::: dont ../../images/2px-element-spacing-connected.svg?raw=true
|
||||
@@ -184,9 +213,13 @@ Don't use **abrupt cuts** where one element meets another.
|
||||
:::
|
||||
::::
|
||||
|
||||
### 8.4. Off-variants **may** omit the 2-pixel gap rule
|
||||
|
||||
The `-off` variants have their own design language and **may** omit the 2-pixel gap rule.
|
||||
|
||||
## 9. Aim for consistent visual weight
|
||||
|
||||
Icons should have a similar visual weight when viewed alongside each other.
|
||||
Icons **should** have a similar visual weight when viewed alongside each other.
|
||||
|
||||
:::: example
|
||||
|
||||
@@ -208,7 +241,7 @@ Place your icon next to `circle` or `square`, then blur both icons. Your icon sh
|
||||
|
||||
## 10. Balance icons visually
|
||||
|
||||
Icons should look centered and balanced within the canvas.
|
||||
Icons **should** be visually centered within the canvas.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/visually-centered-do.svg?raw=true
|
||||
@@ -221,7 +254,7 @@ This icon feels shifted toward the top left.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/visually-centered-symmetrical-do.svg?raw=true
|
||||
Symmetrical icons should remain geometrically centered.
|
||||
Symmetrical icons **should** remain geometrically centered.
|
||||
:::
|
||||
::: dont ../../images/visually-centered-symmetrical-dont.svg?raw=true
|
||||
Don't place symmetrical icons off-center for no good reason.
|
||||
@@ -229,14 +262,14 @@ Don't place symmetrical icons off-center for no good reason.
|
||||
::::
|
||||
|
||||
::: tip
|
||||
Geometric centering does not always look centered. Asymmetrical shapes may need a small adjustment.
|
||||
Geometric centering does not always look centered. Asymmetrical icons **may** be moved slightly off center so they look visually centered.
|
||||
|
||||
Compare your icon with `circle` or `square` side by side and stacked vertically. If it looks shifted, adjust it.
|
||||
:::
|
||||
|
||||
## 11. Keep density low
|
||||
|
||||
Lucide icons should have a similar level of detail.
|
||||
Icons **should** have a level of detail similar to other Lucide icons.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/density-optimal.svg?raw=true
|
||||
@@ -257,7 +290,7 @@ View the icon at its intended size and blur it. Areas that turn dark may have to
|
||||
|
||||
## 12. Use smooth, simple curves
|
||||
|
||||
Curves should be smooth and as simple as the shape allows.
|
||||
Curves **should** be smooth and as simple as the shape allows. Arcs and quadratic Bézier curves **should** be preferred where possible. Cubic Bézier curves **may** be used where necessary.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/curvature-smooth.svg?raw=true
|
||||
@@ -276,7 +309,7 @@ Avoid extra control points. They make shapes harder to edit and can create small
|
||||
|
||||
## 13. Design for the pixel grid
|
||||
|
||||
Lucide icons should look sharp at small sizes, including on low-density displays.
|
||||
Lucide icons **should** look sharp at small sizes, including on low-density displays. Coordinates and centers of arcs and other geometric elements **should** align to the pixel grid where possible.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/pixel-perfection-ideal.svg?raw=true
|
||||
@@ -306,12 +339,14 @@ Avoid placing diagonal lines off-grid. They will appear blurry and optically wid
|
||||
::::
|
||||
|
||||
::: tip
|
||||
Pixel alignment should support the icon. Do not let it harm shape recognition, smooth curves, or visual balance.
|
||||
Pixel alignment **should** support the icon. Off-grid geometry **may** be used when required for visual balance, recognizable geometry, or smooth curvature. Pixel alignment **should not** take precedence over the visual quality of the icon.
|
||||
:::
|
||||
|
||||
## 14. Reuse established shapes
|
||||
|
||||
When creating a variant, keep the base icon geometry unless the new idea needs a change.
|
||||
### 14.1. Variants **should** preserve base icon geometry
|
||||
|
||||
When creating a variant, the base icon geometry, placement, and orientation **should** be preserved unless the new icon requires a change.
|
||||
|
||||
:::: example
|
||||
::: do ../../images/established-shapes-base-do.svg?raw=true
|
||||
@@ -322,7 +357,7 @@ Don't change the **geometry, placement, or orientation** of base shapes.
|
||||
:::
|
||||
::::
|
||||
|
||||
Related icons should share shapes and visual patterns when possible.
|
||||
### 14.2. Related icons **should** share shapes and visual patterns when possible
|
||||
|
||||
:::: example
|
||||
::: do ../../images/established-shapes-sub-do.svg?raw=true
|
||||
@@ -333,7 +368,7 @@ Don't redesign **existing elements**.
|
||||
:::
|
||||
::::
|
||||
|
||||
Common modifiers and elements should look consistent across the library.
|
||||
### 14.3. Common modifiers and elements **should** look consistent across the library
|
||||
|
||||
:::: example
|
||||
::: do ../../images/established-shapes-consistency-do.svg?raw=true
|
||||
@@ -347,7 +382,7 @@ Don't use **irregular placement or size** compared to existing icons.
|
||||
::: tip
|
||||
Preserving the base shape makes related icons work better when users switch between them.
|
||||
|
||||
Consistency with an existing icon should not override clarity, balance, or readability. Adjust the shape when needed.
|
||||
Existing geometry **may** be modified when necessary to satisfy other Lucide design language rules. Consistency with an existing icon **should not** override clarity, balance, or readability.
|
||||
:::
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
---
|
||||
description: Rules Lucide icons must follow.
|
||||
---
|
||||
|
||||
# Icon design specification
|
||||
|
||||
This page lists the rules Lucide icons must follow.
|
||||
|
||||
For examples and guidance, see the [Lucide design language](./design-principles).
|
||||
|
||||
## Requirement levels
|
||||
|
||||
These terms show how strictly each rule applies:
|
||||
|
||||
- **Must** and **must not** mark required rules.
|
||||
- **Should** and **should not** mark rules that can flex when needed to make a better icon.
|
||||
|
||||
Any exception should be intentional and fit the [Lucide design language](./design-principles).
|
||||
|
||||
## Canvas
|
||||
|
||||
1. Icons **must** use a 24 × 24-pixel canvas.
|
||||
2. The canvas **must** be square.
|
||||
3. Icon strokes **must** remain at least 1 pixel from the edge of the canvas.
|
||||
|
||||
## Strokes
|
||||
|
||||
1. Strokes **must** be 2 pixels wide.
|
||||
2. Strokes **must** use round line joins.
|
||||
3. Open paths **must** use round line caps.
|
||||
4. Strokes **must** be centered on their paths.
|
||||
|
||||
## Corners
|
||||
|
||||
1. Sharp corners **should** be rounded unless the geometry of the icon requires otherwise.
|
||||
2. Elements at least 8 pixels wide or tall **should** use a 2-pixel corner radius for 90° corners.
|
||||
3. Elements smaller than 8 pixels **should** use a 1-pixel corner radius for 90° corners.
|
||||
4. Diagonal lines meeting at a 90° angle **should** use a radius that preserves pixel-grid alignment. This radius is typically approximately 2.41 pixels.
|
||||
5. Acute corners **should** use an appropriate amount of rounding based on their geometry.
|
||||
6. Corners where multiple lines meet **should** remain sharp when rounding would cause the icon to render inconsistently at different sizes.
|
||||
|
||||
## Spacing
|
||||
|
||||
1. Distinct elements **must** have at least 2 pixels of visual separation.
|
||||
2. Gaps between distinct elements **must not** be smaller than 2 pixels.
|
||||
3. Inner gaps **should** be at least 2 pixels wide.
|
||||
4. Spacing **should** remain visually consistent where elements connect or intersect.
|
||||
5. Elements **should not** terminate with an abrupt cut where another element visually continues or intersects them.
|
||||
|
||||
## Visual weight
|
||||
|
||||
1. Icons **should** have a visual weight similar to the `circle` and `square` icons.
|
||||
2. Icons **should not** appear substantially larger, smaller, heavier, or lighter than comparable Lucide icons.
|
||||
|
||||
## Alignment and balance
|
||||
|
||||
1. Icons **should** be visually centered within the canvas.
|
||||
2. Asymmetrical icons **may** be moved slightly off center so they look visually centered.
|
||||
3. Symmetrical icons **should** be geometrically centered.
|
||||
|
||||
## Visual density
|
||||
|
||||
1. Icons **should** have a level of detail similar to other Lucide icons.
|
||||
2. Details **should** be simplified when they cause an icon to appear substantially denser than comparable icons.
|
||||
3. Details that are not necessary for recognition **should** be omitted.
|
||||
|
||||
## Curves
|
||||
|
||||
1. Continuous curves **should** have smooth curvature.
|
||||
2. Curves **should not** contain unintended or abrupt changes in curvature.
|
||||
3. Arcs and quadratic Bézier curves **should** be preferred where they can accurately represent the intended geometry.
|
||||
4. Cubic Bézier curves **may** be used where necessary.
|
||||
5. Control points of adjoining cubic Bézier curves **should** be aligned where required to maintain continuous curvature.
|
||||
6. Curves **should not** contain unnecessary control points.
|
||||
|
||||
## Pixel alignment
|
||||
|
||||
1. Coordinates **should** align to the pixel grid where possible.
|
||||
2. Centers of arcs and other geometric elements **should** align to the pixel grid where possible.
|
||||
3. Off-grid geometry **may** be used when required for visual balance, recognizable geometry, or smooth curvature.
|
||||
4. Pixel alignment **should not** take precedence over the visual quality of the icon.
|
||||
|
||||
## Shared geometry
|
||||
|
||||
1. Variants of an existing icon **should** preserve the geometry, placement, and orientation of the base icon.
|
||||
2. Elements that already exist in other Lucide icons **should** reuse established geometry where applicable.
|
||||
3. Related icons **should** use consistent representations of shared elements.
|
||||
4. Common modifiers and add-ons **should** use consistent geometry, size, and placement across related icons.
|
||||
5. Existing geometry **may** be modified when necessary to satisfy other Lucide design language rules.
|
||||
|
||||
## Priority of requirements
|
||||
|
||||
When two non-required rules conflict, choose visual clarity and consistency with the Lucide design language.
|
||||
|
||||
Rules marked **must** or **must not** can only be broken when the project defines an explicit exception.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"rrod497"
|
||||
],
|
||||
"use-cases": [
|
||||
"Labeling alto clef notation in sheet music editors",
|
||||
"Representing viola parts in music composition or practice apps",
|
||||
"Indicating C clef selection in notation software",
|
||||
"Supporting clef choices in MIDI editors, instrument emulators, or music education tools"
|
||||
],
|
||||
"tags": [
|
||||
"do",
|
||||
"c",
|
||||
"music",
|
||||
"note",
|
||||
"key",
|
||||
"soprano",
|
||||
"mezzo",
|
||||
"alto",
|
||||
"staff",
|
||||
"pitch",
|
||||
"baritone",
|
||||
"major",
|
||||
"scale"
|
||||
],
|
||||
"categories": [
|
||||
"multimedia"
|
||||
]
|
||||
}
|
||||
@@ -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 4v16" />
|
||||
<path d="M14 4.764a3 3 0 1 1-.152 4.327A4 4 0 0 1 10 12a4 4 0 0 1 3.848 2.909A3 3 0 1 1 14 19.236" />
|
||||
<path d="M6 4v16" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 359 B |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"rrod497"
|
||||
],
|
||||
"use-cases": [
|
||||
"Labeling bass clef notation in sheet music editors",
|
||||
"Representing bass, cello, trombone, tuba, or lower-pitched instrument parts",
|
||||
"Indicating left-hand piano notation in music learning apps",
|
||||
"Supporting clef choices in MIDI editors, instrument emulators, or music education tools"
|
||||
],
|
||||
"tags": [
|
||||
"fa",
|
||||
"f",
|
||||
"music",
|
||||
"note",
|
||||
"key",
|
||||
"baritone",
|
||||
"staff",
|
||||
"pitch",
|
||||
"bass",
|
||||
"subbass",
|
||||
"major",
|
||||
"scale"
|
||||
],
|
||||
"categories": [
|
||||
"multimedia"
|
||||
]
|
||||
}
|
||||
@@ -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="M19 11h.01" />
|
||||
<path d="M19 6h.01" />
|
||||
<path d="M5 8c0-4 4-4 4-4 6 0 6 6 6 6 0 7-10 11-10 11" />
|
||||
<circle cx="7" cy="8" r="2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 352 B |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"rrod497"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing music, songs, or audio content with a widely recognized symbol",
|
||||
"Labeling sheet music, notation tools, or music education resources",
|
||||
"Indicating melody, vocals, or higher-pitched instrument parts",
|
||||
"Representing music apps, playlists, concerts, or performance features"
|
||||
],
|
||||
"tags": [
|
||||
"sol",
|
||||
"g",
|
||||
"music",
|
||||
"note",
|
||||
"key",
|
||||
"treble",
|
||||
"staff",
|
||||
"pitch",
|
||||
"violin",
|
||||
"solfege",
|
||||
"major",
|
||||
"scale"
|
||||
],
|
||||
"categories": [
|
||||
"multimedia"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<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.586 21.414a2 2 0 0 0 3.378-1.791L11.036 4.377a2 2 0 1 1 3.378 1.037C12.414 7.414 7 8 7 13a5 5 0 0 0 5 5 5 4 0 0 0 5-4 3 3 0 0 0-3-3 3 2 0 0 0-3 2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 373 B |
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"colebemis",
|
||||
"csandman",
|
||||
"ericfennis",
|
||||
"AleksejDix"
|
||||
],
|
||||
"use-cases": [
|
||||
"Indicating global traffic in network monitoring dashboards",
|
||||
"Representing web development in developer tools"
|
||||
],
|
||||
"tags": [
|
||||
"website",
|
||||
"internet",
|
||||
"globe",
|
||||
"connection",
|
||||
"network",
|
||||
"digital",
|
||||
"access",
|
||||
"global",
|
||||
"link",
|
||||
"world",
|
||||
"browser",
|
||||
"language",
|
||||
"translate"
|
||||
],
|
||||
"categories": [
|
||||
"navigation",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
@@ -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="M15.5 10 13 7.5 15.5 5" />
|
||||
<path d="M15.861 14A14.5 14.5 0 0112 22a14.48 14.48 0 010-20 10 10 0 109.888 11.5" />
|
||||
<path d="M19.5 5 22 7.5 19.5 10" />
|
||||
<path d="M2 12h8.5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 397 B |
@@ -22,7 +22,7 @@
|
||||
"@vitest/browser-playwright": "4.1.10",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"vitest-browser-react": "2.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"@vitest/browser-playwright": "4.1.10",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"vitest-browser-react": "2.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"@vitest/browser-playwright": "4.1.10",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"vitest-browser-react": "2.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"@vitest/browser-playwright": "4.1.10",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"vitest-browser-react": "2.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"playwright": "1.58.2",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"vitest-browser-react": "2.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@
|
||||
"svgson": "^5.3.1",
|
||||
"typescript": "^6.0.3",
|
||||
"typescript-eslint": "^8.69.0",
|
||||
"vitest": "4.1.10",
|
||||
"vitest": "4.1.11",
|
||||
"yargs": "^18.1.0",
|
||||
"zod": "^4.5.4"
|
||||
},
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"prettier": "3.9.6",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10"
|
||||
"vitest": "4.1.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"astro": "^4 || ^5 || ^6 || ^7"
|
||||
|
||||
@@ -71,6 +71,6 @@
|
||||
"rollup-plugin-preserve-directives": "^0.4.0",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^7.3.6",
|
||||
"vitest": "4.1.10"
|
||||
"vitest": "4.1.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ export default defineExportTemplate(
|
||||
|
||||
return `
|
||||
import createLucideIcon from '../createLucideIcon';
|
||||
import type { LucideIconData } from '../types';
|
||||
import type { LucideIcon, LucideIconData } from '../types';
|
||||
|
||||
export const __iconData: LucideIconData = ${JSON.stringify(iconData)}
|
||||
|
||||
@@ -23,7 +23,7 @@ export const __iconData: LucideIconData = ${JSON.stringify(iconData)}
|
||||
* @returns {FunctionalComponent} Vue component
|
||||
* ${deprecated ? `@deprecated ${deprecationReason}` : ''}
|
||||
*/
|
||||
const ${componentName} = createLucideIcon(__iconData);
|
||||
const ${componentName}: LucideIcon = createLucideIcon(__iconData);
|
||||
|
||||
export default ${componentName};
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user