Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02eb9161b5 | ||
|
|
0ab9c70d88 | ||
|
|
26daed2537 | ||
|
|
fa238cf278 | ||
|
|
27f08704a1 | ||
|
|
7c165eb5df | ||
|
|
296ab246a8 | ||
|
|
8300f598a0 | ||
|
|
51be2dac03 | ||
|
|
2333afad1f | ||
|
|
6e1308ce19 | ||
|
|
9a25bb6315 | ||
|
|
d123605682 | ||
|
|
2ae6a3d489 |
@@ -38,7 +38,7 @@ const pickIcons = [
|
||||
'map-pinned',
|
||||
'megaphone',
|
||||
'moon',
|
||||
'music',
|
||||
'sixteenth-notes',
|
||||
'phone',
|
||||
'power-off',
|
||||
'radio',
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
sun,
|
||||
moon,
|
||||
camera,
|
||||
music,
|
||||
sixteenthNotes,
|
||||
video,
|
||||
globe,
|
||||
layers,
|
||||
@@ -44,7 +44,7 @@ import createElement from 'lucide/src/createElement';
|
||||
import { IconNode } from 'lucide/src/types';
|
||||
|
||||
const icons: Component[] = [
|
||||
heart, star, zap, code, feather, cloud, sun, moon, camera, music,
|
||||
heart, star, zap, code, feather, cloud, sun, moon, camera, sixteenthNotes,
|
||||
video, globe, layers, packageIcon, compass, command, terminal, database,
|
||||
server, cpu, lock, key, shield, wifi, download, upload, search,
|
||||
settings, users, mail, bell, calendar, clock, gitBranch, funnel,
|
||||
|
||||
@@ -15,7 +15,7 @@ In an effort to expand the icon set while remaining true to the original minimal
|
||||
|
||||
### Why should I choose Lucide over Feather Icons?
|
||||
|
||||
- Lucide has expanded its icon set by 500+ in the last few years. Lucide now has over 1000 icons, while Feather has around 287 icons.
|
||||
- Lucide has expanded its icon set by 1600+ in the last few years. Lucide now has over 1800 icons, while Feather has around 287 icons.
|
||||
- Well maintained code base.
|
||||
- Active community.
|
||||
|
||||
|
||||
@@ -72,9 +72,9 @@
|
||||
"lucide": "workspace:*",
|
||||
"lucide-react": "workspace:*",
|
||||
"motion-v": "2.4.0",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0",
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1",
|
||||
"sandpack-vue3": "3.1.12",
|
||||
"vue": "^3.5.43"
|
||||
"vue": "^3.5.44"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"danielbayley",
|
||||
"devkamani9313",
|
||||
"karsa-mistmere"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing fruit, guacamole, or healthy food in nutrition apps",
|
||||
"Indicating salad, breakfast, or brunch ingredients",
|
||||
"Showing vegetarian or vegan food options",
|
||||
"Marking avocado toast as a menu item in restaurant or delivery apps",
|
||||
"Denoting fresh produce or fruit section in grocery and supermarket apps",
|
||||
"Signifying healthy fats or superfood in nutrition and wellness trackers",
|
||||
"Labeling plant-based or vegetarian recipes in cooking websites and apps"
|
||||
],
|
||||
"tags": [
|
||||
"fruit",
|
||||
"snack",
|
||||
"meal",
|
||||
"lunch",
|
||||
"ingredient",
|
||||
"cooking",
|
||||
"cookery",
|
||||
"kitchen",
|
||||
"cuisine",
|
||||
"eating",
|
||||
"healthy",
|
||||
"nutrition",
|
||||
"diet",
|
||||
"guacamole",
|
||||
"mexican",
|
||||
"green",
|
||||
"pit",
|
||||
"seed",
|
||||
"half",
|
||||
"produce",
|
||||
"vegetarian",
|
||||
"vegan",
|
||||
"grocery",
|
||||
"supermarket",
|
||||
"toast",
|
||||
"superfood",
|
||||
"plant based",
|
||||
"ripe"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage"
|
||||
]
|
||||
}
|
||||
@@ -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="M13.465 3.464a5 5 0 017.07 0 5 5 0 010 7.072c-1.204 1.203-2.38 2.89-2.614 4.577A8 8 0 118.886 6.08c1.687-.235 3.375-1.41 4.579-2.615" />
|
||||
<circle cx="10" cy="14" r="3" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 391 B |
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"danielbayley",
|
||||
"devkamani9313",
|
||||
"karsa-mistmere"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing breakfast items, rashers, or pork products",
|
||||
"Indicating diner, brunch, or fast food menu items",
|
||||
"Showing savory cooked meats or barbecue items",
|
||||
"Labeling grocery or deli items in food apps",
|
||||
"Marking breakfast sandwich or brunch special add-ons",
|
||||
"Tagging cured or smoked meat ingredients in recipes"
|
||||
],
|
||||
"tags": [
|
||||
"rashers",
|
||||
"smoked",
|
||||
"streaky",
|
||||
"crispy",
|
||||
"meat",
|
||||
"fast food",
|
||||
"junk food",
|
||||
"snack",
|
||||
"dish",
|
||||
"restaurant",
|
||||
"brunch",
|
||||
"lunch",
|
||||
"meal",
|
||||
"savory",
|
||||
"savoury",
|
||||
"cookery",
|
||||
"cooking",
|
||||
"grilled",
|
||||
"barbecue",
|
||||
"barbeque",
|
||||
"bbq",
|
||||
"pig",
|
||||
"pork",
|
||||
"breakfast",
|
||||
"cured",
|
||||
"butcher",
|
||||
"sandwich",
|
||||
"protein",
|
||||
"grocery",
|
||||
"kitchen"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage"
|
||||
]
|
||||
}
|
||||
@@ -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="M2.795 16.804c-.789-.79-1.09-2.018-.442-2.928 1.933-2.713 4.414-1.05 6.145-5.378 1.868-4.67 4.608-2.366 6.592-6.107.218-.412.78-.53 1.11-.2l5.005 5.005c.789.79 1.09 2.018.442 2.928-1.933 2.713-4.414 1.05-6.145 5.378-1.868 4.67-4.608 2.366-6.591 6.107-.22.412-.78.53-1.11.2z" />
|
||||
<path d="M4.5 18.5c2-5 5-2 7-7s5-2 7-7" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 542 B |
@@ -9,17 +9,16 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" />
|
||||
<path d="M9 13a4.5 4.5 0 0 0 3-4" />
|
||||
<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5" />
|
||||
<path d="M3.477 10.896a4 4 0 0 1 .585-.396" />
|
||||
<path d="M6 18a4 4 0 0 1-1.967-.516" />
|
||||
<path d="M12 13h4" />
|
||||
<path d="M12 18h6a2 2 0 0 1 2 2v1" />
|
||||
<path d="M12 18h6a2 2 0 012 2v1" />
|
||||
<path d="M12 8h8" />
|
||||
<path d="M16 8V5a2 2 0 0 1 2-2" />
|
||||
<circle cx="16" cy="13" r=".5" />
|
||||
<circle cx="18" cy="3" r=".5" />
|
||||
<circle cx="20" cy="21" r=".5" />
|
||||
<circle cx="20" cy="8" r=".5" />
|
||||
<path d="M12 9a4.17 4.17 0 01-3 4" />
|
||||
<path d="M16 8V5a2 2 0 012-2" />
|
||||
<path d="M6 18a4 4 0 01-2-7.465" />
|
||||
<path d="M6.004 5.125a4 4 0 00-2.526 5.77" />
|
||||
<path d="M6.294 6.294A3 3 0 1112 5v13a4 4 0 11-7.967-.518" />
|
||||
<circle cx="16" cy="13" r="0.5" fill="currentColor" />
|
||||
<circle cx="18" cy="3" r="0.5" fill="currentColor" />
|
||||
<circle cx="20" cy="21" r="0.5" fill="currentColor" />
|
||||
<circle cx="20" cy="8" r="0.5" fill="currentColor" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 752 B After Width: | Height: | Size: 744 B |
@@ -12,15 +12,15 @@
|
||||
<path d="m10.852 14.772-.383.923" />
|
||||
<path d="m10.852 9.228-.383-.923" />
|
||||
<path d="m13.148 14.772.382.924" />
|
||||
<path d="m13.531 8.305-.383.923" />
|
||||
<path d="m13.53 8.305-.382.923" />
|
||||
<path d="m14.772 10.852.923-.383" />
|
||||
<path d="m14.772 13.148.923.383" />
|
||||
<path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771" />
|
||||
<path d="M17.998 5.125a4 4 0 0 1 2.525 5.771" />
|
||||
<path d="M19.505 10.294a4 4 0 0 1-1.5 7.706" />
|
||||
<path d="M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516" />
|
||||
<path d="M4.5 10.291A4 4 0 0 0 6 18" />
|
||||
<path d="M6.002 5.125a3 3 0 0 0 .4 1.375" />
|
||||
<path d="M17.997 5.125a4 4 0 012.526 5.77" />
|
||||
<path d="M18 18a4 4 0 002-7.464" />
|
||||
<path d="M4.033 17.483A4 4 0 0011.46 20c.184-.31.896-.31 1.076 0a4 4 0 007.43-2.517" />
|
||||
<path d="M6 18a4 4 0 01-2-7.464" />
|
||||
<path d="M6.002 5.125a4 4 0 00-2.525 5.77" />
|
||||
<path d="M6.293 6.294a3 3 0 01-.287-1.098l-.004-.07a3 3 0 015.968-.543c.05.02.057.01.059 0a3 3 0 015.968.542l-.004.071a3 3 0 01-.287 1.098" />
|
||||
<path d="m9.228 10.852-.923-.383" />
|
||||
<path d="m9.228 13.148-.923.383" />
|
||||
<circle cx="12" cy="12" r="3" />
|
||||
|
||||
|
Before Width: | Height: | Size: 944 B After Width: | Height: | Size: 957 B |
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"karsa-mistmere",
|
||||
"jguddas",
|
||||
"it-is-not",
|
||||
"jamiemlaw",
|
||||
"ej52"
|
||||
],
|
||||
"use-cases": [
|
||||
"Indicating disabled reasoning in an AI chat interface"
|
||||
],
|
||||
"tags": [
|
||||
"medical",
|
||||
"mind",
|
||||
"mental",
|
||||
"intellect",
|
||||
"cerebral",
|
||||
"consciousness",
|
||||
"genius",
|
||||
"artificial intelligence",
|
||||
"ai",
|
||||
"think",
|
||||
"deep learning",
|
||||
"machine learning",
|
||||
"computing"
|
||||
],
|
||||
"categories": [
|
||||
"medical",
|
||||
"science",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
@@ -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="M12 18v-6" />
|
||||
<path d="M12 5v1.344" />
|
||||
<path d="M17.707 6.293A3 3 0 1012 5a3 3 0 00-4.124-2.781" />
|
||||
<path d="M17.997 5.125a4 4 0 012.526 5.77" />
|
||||
<path d="M19.644 19.644A4 4 0 0112 18a4 4 0 11-7.967-.517" />
|
||||
<path d="m2 2 20 20" />
|
||||
<path d="M20 10.536a4 4 0 011.533 5.34" />
|
||||
<path d="M3.477 10.895a4 4 0 011.876-5.542" />
|
||||
<path d="M6 18a4 4 0 01-2-7.464" />
|
||||
<path d="M9 13a4.17 4.17 0 002.166-1.5 4 4 0 00.138-.196" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 656 B |
@@ -10,11 +10,11 @@
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M12 18V5" />
|
||||
<path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4" />
|
||||
<path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5" />
|
||||
<path d="M17.997 5.125a4 4 0 0 1 2.526 5.77" />
|
||||
<path d="M18 18a4 4 0 0 0 2-7.464" />
|
||||
<path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517" />
|
||||
<path d="M6 18a4 4 0 0 1-2-7.464" />
|
||||
<path d="M6.003 5.125a4 4 0 0 0-2.526 5.77" />
|
||||
<path d="M15 13a4.17 4.17 0 01-3-4 4.17 4.17 0 01-3 4" />
|
||||
<path d="M17.707 6.294A3 3 0 1012 5a3 3 0 10-5.707 1.294" />
|
||||
<path d="M17.996 5.125a4 4 0 012.526 5.77" />
|
||||
<path d="M18 18a4 4 0 002-7.465" />
|
||||
<path d="M19.967 17.482a4 4 0 11-7.967.517 4 4 0 11-7.967-.517" />
|
||||
<path d="M6 18a4 4 0 01-2-7.465" />
|
||||
<path d="M6.004 5.125a4 4 0 00-2.526 5.77" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 596 B |
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"Carlito-la-banane"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing a load balancer in cloud infrastructure",
|
||||
"Showing traffic distributed across multiple servers",
|
||||
"Indicating a task split into parallel processes",
|
||||
"Representing a load balancer in cloud service consoles",
|
||||
"Showing incoming traffic distributed across multiple backends",
|
||||
"Indicating a task split into parallel worker threads or processes",
|
||||
"Marking fan-out patterns in system architecture or topology diagrams"
|
||||
],
|
||||
"tags": [
|
||||
"load balancer",
|
||||
"distribute",
|
||||
"traffic",
|
||||
"network",
|
||||
"nodes",
|
||||
"parallel",
|
||||
"branch",
|
||||
"hierarchy",
|
||||
"routing",
|
||||
"dispatcher",
|
||||
"cluster",
|
||||
"backend",
|
||||
"fan-out",
|
||||
"topology",
|
||||
"orchestration"
|
||||
],
|
||||
"categories": [
|
||||
"connectivity",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
>
|
||||
<circle cx="12" cy="7" r="4" />
|
||||
<circle cx="4" cy="19" r="2" />
|
||||
<circle cx="12" cy="19" r="2" />
|
||||
<circle cx="20" cy="19" r="2" />
|
||||
<path d="M8 7a4 4 0 0 0-4 4v6" />
|
||||
<path d="M12 11v6" />
|
||||
<path d="M16 7a4 4 0 0 1 4 4v6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 443 B |
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"madebyoz"
|
||||
],
|
||||
"use-cases": [
|
||||
"Adjusting spacing between characters in text editors and design tools"
|
||||
],
|
||||
"tags": [
|
||||
"tracking",
|
||||
"kerning",
|
||||
"design",
|
||||
"lettering",
|
||||
"text",
|
||||
"letters",
|
||||
"characters",
|
||||
"font",
|
||||
"typography",
|
||||
"formatting"
|
||||
],
|
||||
"categories": [
|
||||
"text"
|
||||
]
|
||||
}
|
||||
@@ -9,6 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M22 7a4.95 4.95 0 0 0-8.6-3.4c-1.5 1.6-1.6 1.8-5 2.6a8 8 0 1 0 9.4 9.5c.7-3.4 1-3.6 2.6-5 1-1 1.6-2.3 1.6-3.7" />
|
||||
<circle cx="10" cy="14" r="3.5" />
|
||||
<path d="M15 14H9" />
|
||||
<path d="M21 3v18" />
|
||||
<path d="M3 3v18" />
|
||||
<path d="m8 16 3.453-7.648a.6.6 0 011.094.001L16 16" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 370 B After Width: | Height: | Size: 337 B |
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"madebyoz"
|
||||
],
|
||||
"use-cases": [
|
||||
"Adjusting spacing between lines in text editors and design tools"
|
||||
],
|
||||
"tags": [
|
||||
"leading",
|
||||
"text",
|
||||
"letters",
|
||||
"characters",
|
||||
"font",
|
||||
"typography",
|
||||
"spacing",
|
||||
"paragraph",
|
||||
"formatting",
|
||||
"editor",
|
||||
"readability",
|
||||
"typesetting"
|
||||
],
|
||||
"categories": [
|
||||
"text"
|
||||
]
|
||||
}
|
||||
@@ -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 14H9" />
|
||||
<path d="M21 21H3" />
|
||||
<path d="M21 3H3" />
|
||||
<path d="m8 16 3.453-7.648a.6.6 0 011.094.001L16 16" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 337 B |
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"hitanshu-machhi",
|
||||
"colebemis",
|
||||
"csandman",
|
||||
"ericfennis",
|
||||
"karsa-mistmere",
|
||||
"jguddas",
|
||||
"mittalyashu"
|
||||
],
|
||||
"use-cases": [
|
||||
"Representing a user profile in a mobile application",
|
||||
"Indicating a mobile account or device owner",
|
||||
"Showing mobile contact or identity settings",
|
||||
"Displaying a user avatar in a mobile dashboard",
|
||||
"Linking to a contact's profile from a mobile list",
|
||||
"Indicating mobile sign-in or authentication screens",
|
||||
"Marking a device as assigned to a user in device management apps"
|
||||
],
|
||||
"tags": [
|
||||
"phone",
|
||||
"cellphone",
|
||||
"device",
|
||||
"mobile",
|
||||
"person",
|
||||
"profile",
|
||||
"account",
|
||||
"avatar",
|
||||
"contact",
|
||||
"identity",
|
||||
"owner",
|
||||
"authentication"
|
||||
],
|
||||
"categories": [
|
||||
"account",
|
||||
"devices",
|
||||
"people"
|
||||
]
|
||||
}
|
||||
@@ -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="M10 22H6a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 012 2v4" />
|
||||
<path d="M11 18h.01" />
|
||||
<path d="M22 22a4 4 0 00-8 0" />
|
||||
<circle cx="18" cy="15" r="3" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 372 B |
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"jguddas",
|
||||
"ryck"
|
||||
],
|
||||
"use-cases": [
|
||||
"Marking death or game-over states in games, often paired with skull or ghost icons",
|
||||
"Indicating cemetery or graveyard locations on maps",
|
||||
"Marking deceased individuals in genealogy or family-tree applications",
|
||||
"Flagging obsolete, deprecated, or retired items such as endpoints or pages"
|
||||
],
|
||||
"tags": [
|
||||
"grave",
|
||||
"gravestone",
|
||||
"headstone",
|
||||
"cemetery",
|
||||
"graveyard",
|
||||
"death",
|
||||
"memorial",
|
||||
"funeral",
|
||||
"halloween",
|
||||
"rip",
|
||||
"obituary",
|
||||
"deceased",
|
||||
"epitaph",
|
||||
"mourning",
|
||||
"bereavement",
|
||||
"condolence",
|
||||
"deprecated",
|
||||
"retired",
|
||||
"archived",
|
||||
"decommissioned"
|
||||
],
|
||||
"categories": [
|
||||
"gaming",
|
||||
"navigation",
|
||||
"people",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
@@ -9,6 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M22 8c-2 5-5 2-7 7s-5 2-7 7l-6-6c2-5 5-2 7-7s5-2 7-7Z" />
|
||||
<path d="M5 19c2-5 5-2 7-7s5-2 7-7" />
|
||||
<path d="M11 10h2" />
|
||||
<path d="M19 21V10a7 7 0 00-14 0v11" />
|
||||
<path d="M2 21h20" />
|
||||
<path d="M9 14h6" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 321 B |
@@ -12,8 +12,8 @@
|
||||
"dependencies": {
|
||||
"lucide-react": "workspace:*",
|
||||
"next": "16.3.8",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0"
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "19.3.0",
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"@react-router/serve": "8.3.1",
|
||||
"isbot": "5.2.2",
|
||||
"lucide-react": "workspace:*",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0",
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1",
|
||||
"react-router": "8.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"dependencies": {
|
||||
"@tanstack/react-router": "1.170.32",
|
||||
"lucide-react": "workspace:*",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0"
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tanstack/router-plugin": "1.168.35",
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
"@tanstack/react-router": "1.170.41",
|
||||
"@tanstack/react-start": "1.168.60",
|
||||
"lucide-react": "workspace:*",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0"
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^26.1.1",
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"lucide-react": "workspace:*",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0"
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "19.3.0",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^8.0.0",
|
||||
"@sveltejs/kit": "^3.0.1",
|
||||
"@sveltejs/kit": "^3.1.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^7.3.1",
|
||||
"@vitest/browser-playwright": "5.0.3",
|
||||
"playwright": "1.58.2",
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
"dependencies": {
|
||||
"@lucide/vue": "workspace:*",
|
||||
"nuxt": "4.5.1",
|
||||
"vue": "3.5.43",
|
||||
"vue": "3.5.44",
|
||||
"vue-router": "5.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^6.0.8",
|
||||
"@vitejs/plugin-vue": "^6.0.10",
|
||||
"@vitest/browser-playwright": "5.0.3",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.3.2",
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
"@lucide/vue": "workspace:*",
|
||||
"vike": "0.4.266",
|
||||
"vike-vue": "0.9.13",
|
||||
"vue": "3.5.43"
|
||||
"vue": "3.5.44"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^6.0.8",
|
||||
"@vitejs/plugin-vue": "^6.0.10",
|
||||
"@vitest/browser-playwright": "5.0.3",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.3.2",
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@lucide/vue": "workspace:*",
|
||||
"vue": "3.5.43"
|
||||
"vue": "3.5.44"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/node24": "^24.0.5",
|
||||
"@types/node": "^26.1.1",
|
||||
"@vitejs/plugin-vue": "^6.0.8",
|
||||
"@vitejs/plugin-vue": "^6.0.10",
|
||||
"@vitest/browser-playwright": "5.0.3",
|
||||
"@vue/tsconfig": "^0.9.1",
|
||||
"playwright": "1.58.2",
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"danielbayley"
|
||||
],
|
||||
"tags": [
|
||||
"fruit",
|
||||
"snack",
|
||||
"meal",
|
||||
"lunch",
|
||||
"ingredient",
|
||||
"cooking",
|
||||
"cookery",
|
||||
"kitchen",
|
||||
"cuisine",
|
||||
"eating",
|
||||
"healthy",
|
||||
"nutrition",
|
||||
"diet",
|
||||
"guacamole",
|
||||
"mexican"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage"
|
||||
]
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"contributors": [
|
||||
"danielbayley"
|
||||
],
|
||||
"tags": [
|
||||
"rashers",
|
||||
"smoked",
|
||||
"streaky",
|
||||
"crispy",
|
||||
"meat",
|
||||
"fast food",
|
||||
"junk food",
|
||||
"snack",
|
||||
"dish",
|
||||
"restaurant",
|
||||
"brunch",
|
||||
"lunch",
|
||||
"meal",
|
||||
"savory",
|
||||
"savoury",
|
||||
"cookery",
|
||||
"cooking",
|
||||
"grilled",
|
||||
"barbecue",
|
||||
"barbeque",
|
||||
"bbq",
|
||||
"pig"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage"
|
||||
]
|
||||
}
|
||||
@@ -75,9 +75,9 @@
|
||||
"@types/react": "^19.3.0",
|
||||
"@vitejs/plugin-react": "^6.1.2",
|
||||
"jest-serializer-html": "^7.1.0",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0",
|
||||
"react-native": "^0.87.1",
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1",
|
||||
"react-native": "^0.88.0",
|
||||
"react-native-svg": "^15.15.5",
|
||||
"rollup": "^4.63.1",
|
||||
"rollup-plugin-dts": "^6.5.1",
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
"@types/react": "^19.3.0",
|
||||
"@vitejs/plugin-react": "^6.1.2",
|
||||
"jest-serializer-html": "^7.1.0",
|
||||
"react": "19.3.0",
|
||||
"react-dom": "19.3.0",
|
||||
"react": "19.3.1",
|
||||
"react-dom": "19.3.1",
|
||||
"rollup": "^4.63.1",
|
||||
"rollup-plugin-dts": "^6.5.1",
|
||||
"rollup-plugin-preserve-directives": "^0.4.0",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"devDependencies": {
|
||||
"@lucide/build-icons": "workspace:*",
|
||||
"@lucide/helpers": "workspace:*",
|
||||
"@sveltejs/package": "^3.0.0",
|
||||
"@sveltejs/package": "^3.0.1",
|
||||
"@sveltejs/vite-plugin-svelte": "^7.3.1",
|
||||
"@testing-library/jest-dom": "^7.0.1",
|
||||
"@testing-library/svelte": "^5.4.2",
|
||||
|
||||
@@ -9,14 +9,23 @@ export default defineExportTemplate(
|
||||
|
||||
return `\
|
||||
${getHTMLBanner()}
|
||||
<script module lang="ts">
|
||||
import type { LucideIconData, LucideIconNode } from '../types.js';
|
||||
|
||||
export const __iconData: LucideIconData = ${JSON.stringify(iconData)};
|
||||
|
||||
/**
|
||||
* @deprecated Access \`__iconData\` instead.
|
||||
*/
|
||||
export const __iconNode: LucideIconNode[] = __iconData.node;
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import Icon from '../Icon.svelte';
|
||||
import type { LucideProps, LucideIconData } from '../types.js';
|
||||
import type { LucideProps } from '../types.js';
|
||||
|
||||
let props: LucideProps = $props();
|
||||
|
||||
const iconData: LucideIconData = ${JSON.stringify(iconData)};
|
||||
|
||||
</script>
|
||||
|
||||
<!--
|
||||
@@ -29,7 +38,7 @@ Lucide SVG icon component, renders SVG Element with children.
|
||||
${deprecated ? `\n@deprecated ${deprecationReason}\n` : ''}\
|
||||
-->
|
||||
|
||||
<Icon {...props} icon={iconData} />
|
||||
<Icon {...props} icon={__iconData} />
|
||||
`;
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { describe, it, expect, afterEach } from 'vitest';
|
||||
import { render, cleanup } from '@testing-library/svelte';
|
||||
import { Smile, Pen, Edit2 } from '../src/lucide-svelte.js';
|
||||
import { __iconData, __iconNode } from '../src/icons/face-slightly-smiling.svelte';
|
||||
import TestSlots from './TestSlots.svelte';
|
||||
import ContextWrapper from './ContextWrapper.svelte';
|
||||
|
||||
@@ -132,3 +133,14 @@ describe('Icon Component Accessibility', () => {
|
||||
expect(container.firstChild).not.toHaveAttribute('aria-hidden');
|
||||
});
|
||||
});
|
||||
|
||||
describe('Per-icon data export', () => {
|
||||
it('should export __iconData and __iconNode from the svelte component module', () => {
|
||||
expect(__iconData).toBeDefined();
|
||||
expect(__iconData.name).toBe('face-slightly-smiling');
|
||||
expect(__iconData.size).toBe(24);
|
||||
expect(Array.isArray(__iconData.node)).toBe(true);
|
||||
expect(__iconData.node.length).toBeGreaterThan(0);
|
||||
expect(__iconNode).toEqual(__iconData.node);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -46,13 +46,13 @@
|
||||
"@lucide/shared": "workspace:*",
|
||||
"@testing-library/jest-dom": "^7.0.1",
|
||||
"@testing-library/vue": "^8.1.0",
|
||||
"@vitejs/plugin-vue": "^6.0.9",
|
||||
"@vitejs/plugin-vue": "^6.0.10",
|
||||
"@vue/test-utils": "2.5.1",
|
||||
"rollup": "^4.63.1",
|
||||
"rollup-plugin-dts": "^6.5.1",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.3.2",
|
||||
"vue": "^3.5.43"
|
||||
"vue": "^3.5.44"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": ">=3.0.1"
|
||||
|
||||