mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-10 13:18:25 +00:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f94ac6b77 | ||
|
|
93dd84c0d0 | ||
|
|
feb9abc633 | ||
|
|
44438b8d8a |
@@ -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:
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"colebemis",
|
||||
"ericfennis",
|
||||
"danielbayley",
|
||||
"jguddas",
|
||||
"karsa-mistmere"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing desktop computer setups",
|
||||
"Showing workstation or gaming PC devices",
|
||||
"Identifying personal computers in device lists",
|
||||
"Managing computer hardware in IT dashboards"
|
||||
],
|
||||
"tags": [
|
||||
"personal computer",
|
||||
"desktop",
|
||||
"screen",
|
||||
"display",
|
||||
"workstation",
|
||||
"tower",
|
||||
"chassis",
|
||||
"hardware",
|
||||
"setup",
|
||||
"gaming"
|
||||
],
|
||||
"categories": [
|
||||
"devices",
|
||||
"development",
|
||||
"gaming"
|
||||
]
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<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 15H4a2 2 0 01-2-2V7a2 2 0 012-2h6" />
|
||||
<path d="M10 19H5" />
|
||||
<path d="M14 11h8" />
|
||||
<path d="M14 7h8" />
|
||||
<path d="M18 17h.01" />
|
||||
<path d="M9 19v-4" />
|
||||
<rect x="14" y="3" width="8" height="18" rx="1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 435 B |
@@ -52,7 +52,7 @@
|
||||
"@lucide/build-icons": "workspace:*",
|
||||
"@testing-library/dom": "^10.4.1",
|
||||
"@testing-library/jest-dom": "^7.0.1",
|
||||
"astro": "^7.3.2",
|
||||
"astro": "^7.3.0",
|
||||
"jest-serializer-html": "^7.1.0",
|
||||
"linkedom": "^0.18.13",
|
||||
"prettier": "3.9.6",
|
||||
|
||||
Generated
+37
-75
@@ -550,8 +550,8 @@ importers:
|
||||
specifier: ^7.0.1
|
||||
version: 7.0.1(@testing-library/dom@10.4.1)(vitest@4.1.10)
|
||||
astro:
|
||||
specifier: ^7.3.2
|
||||
version: 7.3.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@26.4.1)(@vercel/blob@2.8.0)(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)
|
||||
specifier: ^7.3.0
|
||||
version: 7.3.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@26.4.1)(@vercel/blob@2.8.0)(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)
|
||||
jest-serializer-html:
|
||||
specifier: ^7.1.0
|
||||
version: 7.1.0
|
||||
@@ -1462,8 +1462,8 @@ packages:
|
||||
'@astrojs/internal-helpers@0.11.0':
|
||||
resolution: {integrity: sha512-3rzxJ+xbo0+8YyqOzLziIN32wmsHdCjEVz2sGOpRxJ+Ben/KiLph4ItxBy1abEL+E8fkRzqjg0rfXmaHJGw9JA==}
|
||||
|
||||
'@astrojs/markdown-satteri@0.4.1':
|
||||
resolution: {integrity: sha512-EniHbFNa6SQHDih7JnpPos3NWXO6hdt4raBcOosfGmlfc3gP9CI/sESA3VOf1PgJZ7SFfewlZW9Livn0JugEZg==}
|
||||
'@astrojs/markdown-satteri@0.4.0':
|
||||
resolution: {integrity: sha512-wykOOW9KsUVcZweOpY/CeXpdKcCKZy6fQbdcteWFuI75+sQCiqxYM7VKsGa5b+aGl3cYQscFY37rsbbyal5MRw==}
|
||||
|
||||
'@astrojs/prism@4.0.2':
|
||||
resolution: {integrity: sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==}
|
||||
@@ -2312,12 +2312,12 @@ packages:
|
||||
resolution: {integrity: sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@clack/core@1.5.0':
|
||||
resolution: {integrity: sha512-zNikCcd8BbcEvzzG1sbXFrRHFk5kHPrpwZwksPvf9qyQO1Teb7JaXaOAxXZei9nZLDW0gaZawiuTCji88bTBhw==}
|
||||
'@clack/core@1.4.3':
|
||||
resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==}
|
||||
engines: {node: '>= 20.12.0'}
|
||||
|
||||
'@clack/prompts@1.8.0':
|
||||
resolution: {integrity: sha512-PXzLZ8N34rxmuo4dJg3xtOXhcBse94qGjDqsteoEYrFrrZ5FSjIGwMAuOcv64ln8rHVBBD06XeVGr+/JX+plcA==}
|
||||
'@clack/prompts@1.7.0':
|
||||
resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==}
|
||||
engines: {node: '>= 20.12.0'}
|
||||
|
||||
'@cloudflare/kv-asset-handler@0.4.2':
|
||||
@@ -3793,13 +3793,6 @@ packages:
|
||||
'@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
|
||||
'@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.4':
|
||||
resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==}
|
||||
engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
|
||||
peerDependencies:
|
||||
'@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
|
||||
'@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
|
||||
|
||||
'@next/env@16.3.4':
|
||||
resolution: {integrity: sha512-cjWZnUUa6jZq2kFaNe/ZyJdZonOZ/QoN0Zka2nz/FLOrfx14pQuM9c5RaSVkWMqgdt4ksgPAMWPyHSs/CyV48Q==}
|
||||
|
||||
@@ -6138,8 +6131,8 @@ packages:
|
||||
ast-v8-to-istanbul@1.0.5:
|
||||
resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==}
|
||||
|
||||
astro@7.3.2:
|
||||
resolution: {integrity: sha512-ysTcdpGP61XZpHoMRYC/CK19DQ94qkBvzXMtXEo0gEqPNkmOU/Tv++CtWmzaI4nF2Ck8RXFdiWvdlTWa2oOr9w==}
|
||||
astro@7.3.0:
|
||||
resolution: {integrity: sha512-P7gtN3rZO62chxRslBxxLLRpwIfKUxx4B4dRMyTHZiW4B0uJyjxmzRr1fIqB7AOCA1JhyeRKoYgQQBLK/inQ/A==}
|
||||
engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@@ -8808,9 +8801,6 @@ packages:
|
||||
magic-string@1.2.3:
|
||||
resolution: {integrity: sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==}
|
||||
|
||||
magic-string@1.3.1:
|
||||
resolution: {integrity: sha512-rm91zr2Ou+XueDTohjQQjdQEcYM6zVi8KVUCG8Ec3vHwUEKrhSdCNyfuIywkA6hcCAteIn0ZOtAHA6eGpiX+Pg==}
|
||||
|
||||
magicast@0.5.4:
|
||||
resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==}
|
||||
|
||||
@@ -9442,10 +9432,6 @@ packages:
|
||||
resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
||||
obug@2.2.1:
|
||||
resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
||||
ofetch@1.5.1:
|
||||
resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
|
||||
|
||||
@@ -11188,10 +11174,6 @@ packages:
|
||||
resolution: {integrity: sha512-YQ3WlbqjYMmNpdvDH64jAgLjxuAR9+649calDWhbshYaeQGO2bR4nI94ORJmwI3J9YhoKQnpyGOK+0zlWS5N5Q==}
|
||||
engines: {node: '>=22.19.0'}
|
||||
|
||||
undici@8.10.2:
|
||||
resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==}
|
||||
engines: {node: '>=22.19.0'}
|
||||
|
||||
unenv@2.0.0-rc.24:
|
||||
resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==}
|
||||
|
||||
@@ -11929,9 +11911,6 @@ packages:
|
||||
zod@4.5.4:
|
||||
resolution: {integrity: sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA==}
|
||||
|
||||
zod@4.6.1:
|
||||
resolution: {integrity: sha512-341aRWQsve0rvronKNTqZpjmzdbUDlFuzHaI/XLg/Ej82qffDJRRfBTCuv7+9q/rMjB6LSLyEBnW4InJeMtt/Q==}
|
||||
|
||||
zwitch@2.0.4:
|
||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||
|
||||
@@ -12367,7 +12346,7 @@ snapshots:
|
||||
|
||||
'@astrojs/compiler-binding-wasm32-wasi@0.4.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)':
|
||||
dependencies:
|
||||
'@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)
|
||||
'@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)
|
||||
transitivePeerDependencies:
|
||||
- '@emnapi/core'
|
||||
- '@emnapi/runtime'
|
||||
@@ -12414,7 +12393,7 @@ snapshots:
|
||||
smol-toml: 1.8.0
|
||||
unified: 11.0.5
|
||||
|
||||
'@astrojs/markdown-satteri@0.4.1':
|
||||
'@astrojs/markdown-satteri@0.4.0':
|
||||
dependencies:
|
||||
'@astrojs/internal-helpers': 0.11.0
|
||||
'@astrojs/prism': 4.0.2
|
||||
@@ -12505,7 +12484,7 @@ snapshots:
|
||||
gensync: 1.0.0-beta.2
|
||||
import-meta-resolve: 4.2.0
|
||||
json5: 2.2.3
|
||||
obug: 2.2.1
|
||||
obug: 2.1.4
|
||||
semver: 7.8.5
|
||||
|
||||
'@babel/generator@7.29.8':
|
||||
@@ -13410,7 +13389,7 @@ snapshots:
|
||||
'@babel/parser': 8.0.4
|
||||
'@babel/template': 8.0.0
|
||||
'@babel/types': 8.0.4
|
||||
obug: 2.2.1
|
||||
obug: 2.1.4
|
||||
|
||||
'@babel/types@7.29.8':
|
||||
dependencies:
|
||||
@@ -13452,7 +13431,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.1
|
||||
'@emnapi/runtime': 1.11.1
|
||||
'@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
|
||||
'@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
|
||||
optional: true
|
||||
|
||||
'@bruits/satteri-win32-arm64-msvc@0.10.5':
|
||||
@@ -13465,14 +13444,14 @@ snapshots:
|
||||
dependencies:
|
||||
fontkitten: 1.0.3
|
||||
|
||||
'@clack/core@1.5.0':
|
||||
'@clack/core@1.4.3':
|
||||
dependencies:
|
||||
fast-wrap-ansi: 0.2.2
|
||||
sisteransi: 1.0.5
|
||||
|
||||
'@clack/prompts@1.8.0':
|
||||
'@clack/prompts@1.7.0':
|
||||
dependencies:
|
||||
'@clack/core': 1.5.0
|
||||
'@clack/core': 1.4.3
|
||||
fast-string-width: 3.0.2
|
||||
fast-wrap-ansi: 0.2.2
|
||||
sisteransi: 1.0.5
|
||||
@@ -14916,6 +14895,13 @@ snapshots:
|
||||
'@tybys/wasm-util': 0.10.3
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.1
|
||||
'@emnapi/runtime': 1.11.1
|
||||
'@tybys/wasm-util': 0.10.3
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.2
|
||||
@@ -14923,21 +14909,7 @@ snapshots:
|
||||
'@tybys/wasm-util': 0.10.3
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.1
|
||||
'@emnapi/runtime': 1.11.1
|
||||
'@tybys/wasm-util': 0.10.3
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.2
|
||||
'@emnapi/runtime': 1.11.2
|
||||
'@tybys/wasm-util': 0.10.3
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)':
|
||||
'@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.2
|
||||
'@emnapi/runtime': 1.11.3
|
||||
@@ -15140,7 +15112,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@emnapi/core': 1.11.2
|
||||
'@emnapi/runtime': 1.11.2
|
||||
'@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
|
||||
'@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
|
||||
optional: true
|
||||
|
||||
'@oxc-parser/binding-win32-arm64-msvc@0.142.0':
|
||||
@@ -16115,7 +16087,7 @@ snapshots:
|
||||
jiti: 2.7.0
|
||||
magic-string: 0.30.21
|
||||
prettier: 3.9.6
|
||||
zod: 4.6.1
|
||||
zod: 4.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -16187,7 +16159,7 @@ snapshots:
|
||||
ufo: 1.6.4
|
||||
vitefu: 1.1.3(vite@7.3.6(@types/node@26.4.1)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))
|
||||
xmlbuilder2: 4.0.3
|
||||
zod: 4.6.1
|
||||
zod: 4.5.4
|
||||
optionalDependencies:
|
||||
vite: 7.3.6(@types/node@26.4.1)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)
|
||||
transitivePeerDependencies:
|
||||
@@ -17300,14 +17272,14 @@ snapshots:
|
||||
estree-walker: 3.0.3
|
||||
js-tokens: 10.0.0
|
||||
|
||||
astro@7.3.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@26.4.1)(@vercel/blob@2.8.0)(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0):
|
||||
astro@7.3.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@26.4.1)(@vercel/blob@2.8.0)(db0@0.3.4)(ioredis@5.11.1(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0):
|
||||
dependencies:
|
||||
'@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)
|
||||
'@astrojs/internal-helpers': 0.11.0
|
||||
'@astrojs/markdown-satteri': 0.4.1
|
||||
'@astrojs/markdown-satteri': 0.4.0
|
||||
'@astrojs/telemetry': 3.3.3
|
||||
'@capsizecss/unpack': 4.0.1
|
||||
'@clack/prompts': 1.8.0
|
||||
'@clack/prompts': 1.7.0
|
||||
'@oslojs/encoding': 1.1.0
|
||||
am-i-vibing: 0.4.0
|
||||
aria-query: 5.3.2
|
||||
@@ -17330,11 +17302,11 @@ snapshots:
|
||||
http-cache-semantics: 4.2.0
|
||||
js-yaml: 4.3.2
|
||||
jsonc-parser: 3.3.1
|
||||
magic-string: 1.3.1
|
||||
magic-string: 1.2.3
|
||||
magicast: 0.5.4
|
||||
mrmime: 2.0.1
|
||||
neotraverse: 1.0.1
|
||||
obug: 2.2.1
|
||||
obug: 2.1.4
|
||||
p-limit: 7.3.2
|
||||
p-queue: 9.3.3
|
||||
package-manager-detector: 1.8.0
|
||||
@@ -17354,7 +17326,7 @@ snapshots:
|
||||
vitefu: 1.1.3(vite@7.3.6(@types/node@26.4.1)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))
|
||||
xxhash-wasm: 1.1.0
|
||||
yargs-parser: 22.0.0
|
||||
zod: 4.6.1
|
||||
zod: 4.5.4
|
||||
optionalDependencies:
|
||||
sharp: 0.35.4(@types/node@26.4.1)
|
||||
transitivePeerDependencies:
|
||||
@@ -20383,10 +20355,6 @@ snapshots:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.6.0
|
||||
|
||||
magic-string@1.3.1:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.6.0
|
||||
|
||||
magicast@0.5.4:
|
||||
dependencies:
|
||||
'@babel/parser': 7.29.8
|
||||
@@ -21375,8 +21343,6 @@ snapshots:
|
||||
|
||||
obug@2.1.4: {}
|
||||
|
||||
obug@2.2.1: {}
|
||||
|
||||
ofetch@1.5.1:
|
||||
dependencies:
|
||||
destr: 2.0.5
|
||||
@@ -23450,8 +23416,6 @@ snapshots:
|
||||
|
||||
undici@8.10.1: {}
|
||||
|
||||
undici@8.10.2: {}
|
||||
|
||||
unenv@2.0.0-rc.24:
|
||||
dependencies:
|
||||
pathe: 2.0.3
|
||||
@@ -23483,7 +23447,7 @@ snapshots:
|
||||
dependencies:
|
||||
css-tree: 3.2.1
|
||||
ohash: 2.0.12
|
||||
undici: 8.10.2
|
||||
undici: 8.10.1
|
||||
|
||||
unimport@6.4.0(esbuild@0.28.2)(oxc-parser@0.142.0)(rolldown@1.2.7)(rollup@4.63.1)(vite@7.3.6(@types/node@26.4.1)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(lightningcss@1.33.0)(sass@1.103.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)):
|
||||
dependencies:
|
||||
@@ -23491,7 +23455,7 @@ snapshots:
|
||||
escape-string-regexp: 5.0.0
|
||||
estree-walker: 3.0.3
|
||||
local-pkg: 1.2.1
|
||||
magic-string: 1.3.1
|
||||
magic-string: 1.2.3
|
||||
mlly: 1.8.2
|
||||
pathe: 2.0.3
|
||||
picomatch: 4.0.7
|
||||
@@ -24272,6 +24236,4 @@ snapshots:
|
||||
|
||||
zod@4.5.4: {}
|
||||
|
||||
zod@4.6.1: {}
|
||||
|
||||
zwitch@2.0.4: {}
|
||||
|
||||
Reference in New Issue
Block a user