Compare commits
5 Commits
0.320.0
...
lucide-vue
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1d57d3c85 | ||
|
|
701c2fb6b2 | ||
|
|
294ec9c727 | ||
|
|
99c883e60a | ||
|
|
9e68779d22 |
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"jordan808",
|
|
||||||
"jguddas",
|
|
||||||
"colebemis",
|
|
||||||
"ahtohbi4",
|
|
||||||
"ericfennis",
|
|
||||||
"Andreto",
|
|
||||||
"csandman",
|
|
||||||
"karsa-mistmere",
|
|
||||||
"danielbayley"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"ambulance",
|
|
||||||
"emergency",
|
|
||||||
"medical",
|
|
||||||
"vehicle",
|
|
||||||
"siren",
|
|
||||||
"healthcare",
|
|
||||||
"transportation",
|
|
||||||
"rescue",
|
|
||||||
"urgent",
|
|
||||||
"first aid"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"medical",
|
|
||||||
"transportation"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,20 +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 10H6" />
|
|
||||||
<path d="M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2" />
|
|
||||||
<path
|
|
||||||
d="M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14" />
|
|
||||||
<path d="M8 8v4" />
|
|
||||||
<path d="M9 18h6" />
|
|
||||||
<circle cx="17" cy="18" r="2" />
|
|
||||||
<circle cx="7" cy="18" r="2" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 553 B |
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"jordan808",
|
|
||||||
"jguddas"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"stories",
|
|
||||||
"social media",
|
|
||||||
"instagram",
|
|
||||||
"facebook",
|
|
||||||
"meta",
|
|
||||||
"snapchat",
|
|
||||||
"sharing",
|
|
||||||
"content"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"communication",
|
|
||||||
"social",
|
|
||||||
"shapes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -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="M12 2a10 10 0 0 1 7.38 16.75" />
|
|
||||||
<path d="M12 8v8" />
|
|
||||||
<path d="M16 12H8" />
|
|
||||||
<path d="M2.5 8.875a10 10 0 0 0-.5 3" />
|
|
||||||
<path d="M2.83 16a10 10 0 0 0 2.43 3.4" />
|
|
||||||
<path d="M4.636 5.235a10 10 0 0 1 .891-.857" />
|
|
||||||
<path d="M8.644 21.42a10 10 0 0 0 7.631-.38" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 486 B |
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"colebemis",
|
|
||||||
"csandman",
|
|
||||||
"ericfennis",
|
|
||||||
"karsa-mistmere"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"copy",
|
|
||||||
"delete",
|
|
||||||
"remove",
|
|
||||||
"erase",
|
|
||||||
"document",
|
|
||||||
"medical",
|
|
||||||
"report",
|
|
||||||
"doctor"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"text",
|
|
||||||
"medical"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"colebemis",
|
|
||||||
"csandman",
|
|
||||||
"ericfennis",
|
|
||||||
"karsa-mistmere"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"copy",
|
|
||||||
"paste",
|
|
||||||
"add",
|
|
||||||
"create",
|
|
||||||
"new",
|
|
||||||
"document",
|
|
||||||
"medical",
|
|
||||||
"report",
|
|
||||||
"doctor"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"text",
|
|
||||||
"medical"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,16 +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"
|
|
||||||
>
|
|
||||||
<rect width="8" height="4" x="8" y="2" rx="1" ry="1" />
|
|
||||||
<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2" />
|
|
||||||
<path d="M9 14h6" />
|
|
||||||
<path d="M12 17v-6" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 402 B |
@@ -11,7 +11,7 @@
|
|||||||
>
|
>
|
||||||
<path d="m20 7 1.7-1.7a1 1 0 0 0 0-1.4l-1.6-1.6a1 1 0 0 0-1.4 0L17 4v3Z" />
|
<path d="m20 7 1.7-1.7a1 1 0 0 0 0-1.4l-1.6-1.6a1 1 0 0 0-1.4 0L17 4v3Z" />
|
||||||
<path d="m17 7-5.1 5.1" />
|
<path d="m17 7-5.1 5.1" />
|
||||||
<circle cx="11.5" cy="12.5" r=".5" fill="currentColor" />
|
<circle cx="11.5" cy="12.5" r=".5" />
|
||||||
<path d="M6 12a2 2 0 0 0 1.8-1.2l.4-.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4" />
|
<path d="M6 12a2 2 0 0 0 1.8-1.2l.4-.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4" />
|
||||||
<path d="m6 16 2 2" />
|
<path d="m6 16 2 2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 568 B After Width: | Height: | Size: 548 B |
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"danielbayley",
|
|
||||||
"kayleyhill"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"savings",
|
|
||||||
"banking",
|
|
||||||
"money",
|
|
||||||
"finance",
|
|
||||||
"offers",
|
|
||||||
"mortgage",
|
|
||||||
"payment",
|
|
||||||
"received",
|
|
||||||
"wage",
|
|
||||||
"payroll",
|
|
||||||
"allowance",
|
|
||||||
"pocket money",
|
|
||||||
"handout",
|
|
||||||
"pennies"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"money",
|
|
||||||
"account"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,17 +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="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17" />
|
|
||||||
<path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9" />
|
|
||||||
<path d="m2 16 6 6" />
|
|
||||||
<circle cx="16" cy="9" r="2.9" />
|
|
||||||
<circle cx="6" cy="5" r="3" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 473 B |
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"danielbayley",
|
|
||||||
"kayleyhill"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"love",
|
|
||||||
"like",
|
|
||||||
"emotion"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"social"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,16 +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="M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16" />
|
|
||||||
<path d="m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9" />
|
|
||||||
<path d="m2 15 6 6" />
|
|
||||||
<path d="M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 519 B |
@@ -1,15 +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="M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14" />
|
|
||||||
<path d="m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9" />
|
|
||||||
<path d="m2 13 6 6" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 404 B |
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"danielbayley"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"waiter",
|
|
||||||
"waitress",
|
|
||||||
"restaurant",
|
|
||||||
"table service",
|
|
||||||
"served",
|
|
||||||
"dinner",
|
|
||||||
"dining",
|
|
||||||
"meal",
|
|
||||||
"course",
|
|
||||||
"luxury"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"food-beverage",
|
|
||||||
"people"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,18 +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="M12 3V2" />
|
|
||||||
<path d="M5 10a7.1 7.1 0 0 1 14 0" />
|
|
||||||
<path d="M4 10h16" />
|
|
||||||
<path d="M2 14h12a2 2 0 1 1 0 4h-2" />
|
|
||||||
<path d="m15.4 17.4 3.2-2.8a2 2 0 0 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2L5 18" />
|
|
||||||
<path d="M5 14v7H2" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 474 B |
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"ericfennis"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"music",
|
|
||||||
"audio",
|
|
||||||
"sound",
|
|
||||||
"gaming",
|
|
||||||
"headphones",
|
|
||||||
"headset",
|
|
||||||
"call",
|
|
||||||
"center",
|
|
||||||
"phone",
|
|
||||||
"telephone",
|
|
||||||
"voip",
|
|
||||||
"video"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"multimedia",
|
|
||||||
"connectivity",
|
|
||||||
"devices",
|
|
||||||
"files",
|
|
||||||
"gaming"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,14 +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="M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z" />
|
|
||||||
<path d="M21 16v2a4 4 0 0 1-4 4h-5" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 398 B |
@@ -2,8 +2,7 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"jguddas",
|
"jguddas"
|
||||||
"danielbayley"
|
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"agreement",
|
"agreement",
|
||||||
@@ -15,8 +14,5 @@
|
|||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"emoji"
|
"emoji"
|
||||||
],
|
|
||||||
"aliases": [
|
|
||||||
"helping-hand"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect width="8" height="4" x="8" y="2" rx="1" ry="1" />
|
<path d="m3 15 5.12-5.12A3 3 0 0 1 10.24 9H13a2 2 0 1 1 0 4h-2.5m4-.68 4.17-4.89a1.88 1.88 0 0 1 2.92 2.36l-4.2 5.94A3 3 0 0 1 14.96 17H9.83a2 2 0 0 0-1.42.59L7 19" />
|
||||||
<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2" />
|
<path d="m2 14 6 6" />
|
||||||
<path d="M9 14h6" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 403 B |
@@ -10,5 +10,5 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M2 18v3c0 .6.4 1 1 1h4v-3h3v-3h2l1.4-1.4a6.5 6.5 0 1 0-4-4Z" />
|
<path d="M2 18v3c0 .6.4 1 1 1h4v-3h3v-3h2l1.4-1.4a6.5 6.5 0 1 0-4-4Z" />
|
||||||
<circle cx="16.5" cy="7.5" r=".5" fill="currentColor" />
|
<circle cx="16.5" cy="7.5" r=".5" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 322 B |
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="13.5" cy="6.5" r=".5" fill="currentColor" />
|
<circle cx="13.5" cy="6.5" r=".5" />
|
||||||
<circle cx="17.5" cy="10.5" r=".5" fill="currentColor" />
|
<circle cx="17.5" cy="10.5" r=".5" />
|
||||||
<circle cx="8.5" cy="7.5" r=".5" fill="currentColor" />
|
<circle cx="8.5" cy="7.5" r=".5" />
|
||||||
<circle cx="6.5" cy="12.5" r=".5" fill="currentColor" />
|
<circle cx="6.5" cy="12.5" r=".5" />
|
||||||
<path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z" />
|
<path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 596 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="7.5" cy="7.5" r=".5" fill="currentColor" />
|
<circle cx="7.5" cy="7.5" r=".5" />
|
||||||
<circle cx="18.5" cy="5.5" r=".5" fill="currentColor" />
|
<circle cx="18.5" cy="5.5" r=".5" />
|
||||||
<circle cx="11.5" cy="11.5" r=".5" fill="currentColor" />
|
<circle cx="11.5" cy="11.5" r=".5" />
|
||||||
<circle cx="7.5" cy="16.5" r=".5" fill="currentColor" />
|
<circle cx="7.5" cy="16.5" r=".5" />
|
||||||
<circle cx="17.5" cy="14.5" r=".5" fill="currentColor" />
|
<circle cx="17.5" cy="14.5" r=".5" />
|
||||||
<path d="M3 3v18h18" />
|
<path d="M3 3v18h18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 530 B After Width: | Height: | Size: 430 B |
@@ -50,7 +50,6 @@
|
|||||||
"account",
|
"account",
|
||||||
"security",
|
"security",
|
||||||
"development",
|
"development",
|
||||||
"gaming",
|
"gaming"
|
||||||
"medical"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"account",
|
"account",
|
||||||
"social",
|
"social"
|
||||||
"emoji"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"account",
|
"account",
|
||||||
"social",
|
"social"
|
||||||
"emoji"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -7,8 +7,7 @@
|
|||||||
"Andreto",
|
"Andreto",
|
||||||
"csandman",
|
"csandman",
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"danielbayley",
|
"danielbayley"
|
||||||
"jordan808"
|
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"delivery",
|
"delivery",
|
||||||
@@ -20,4 +19,4 @@
|
|||||||
"categories": [
|
"categories": [
|
||||||
"transportation"
|
"transportation"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2" />
|
<path d="M5 18H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v11" />
|
||||||
<path d="M15 18H9" />
|
<path d="M14 9h4l4 4v4c0 .6-.4 1-1 1h-2" />
|
||||||
<path d="M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14" />
|
|
||||||
<circle cx="17" cy="18" r="2" />
|
|
||||||
<circle cx="7" cy="18" r="2" />
|
<circle cx="7" cy="18" r="2" />
|
||||||
</svg>
|
<path d="M15 18H9" />
|
||||||
|
<circle cx="17" cy="18" r="2" />
|
||||||
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 468 B After Width: | Height: | Size: 420 B |
@@ -10,13 +10,13 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect width="18" height="18" x="3" y="3" rx="2" />
|
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||||
<circle cx="7.5" cy="7.5" r=".5" fill="currentColor" />
|
<circle cx="7.5" cy="7.5" r=".5" />
|
||||||
<path d="m7.9 7.9 2.7 2.7" />
|
<path d="m7.9 7.9 2.7 2.7" />
|
||||||
<circle cx="16.5" cy="7.5" r=".5" fill="currentColor" />
|
<circle cx="16.5" cy="7.5" r=".5" />
|
||||||
<path d="m13.4 10.6 2.7-2.7" />
|
<path d="m13.4 10.6 2.7-2.7" />
|
||||||
<circle cx="7.5" cy="16.5" r=".5" fill="currentColor" />
|
<circle cx="7.5" cy="16.5" r=".5" />
|
||||||
<path d="m7.9 16.1 2.7-2.7" />
|
<path d="m7.9 16.1 2.7-2.7" />
|
||||||
<circle cx="16.5" cy="16.5" r=".5" fill="currentColor" />
|
<circle cx="16.5" cy="16.5" r=".5" />
|
||||||
<path d="m13.4 13.4 2.7 2.7" />
|
<path d="m13.4 13.4 2.7 2.7" />
|
||||||
<circle cx="12" cy="12" r="2" />
|
<circle cx="12" cy="12" r="2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 665 B After Width: | Height: | Size: 585 B |
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"contributors": [
|
|
||||||
"karsa-mistmere",
|
|
||||||
"jguddas"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
"push api",
|
|
||||||
"interface",
|
|
||||||
"callback"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"development",
|
|
||||||
"social",
|
|
||||||
"account"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -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="M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15" />
|
|
||||||
<path d="M9 3.4a4 4 0 0 1 6.52.66" />
|
|
||||||
<path d="m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05" />
|
|
||||||
<path d="M20.3 20.3a4 4 0 0 1-2.3.7" />
|
|
||||||
<path d="M18.6 13a4 4 0 0 1 3.357 3.414" />
|
|
||||||
<path d="m12 6 .6 1" />
|
|
||||||
<path d="m2 2 20 20" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 510 B |
@@ -50,7 +50,7 @@
|
|||||||
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.svelte && rm -f index.js",
|
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.svelte && rm -f index.js",
|
||||||
"build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --withAliases --aliasesFileExtension=.ts --aliasImportFileExtension=.svelte --pretty=false",
|
"build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --withAliases --aliasesFileExtension=.ts --aliasImportFileExtension=.svelte --pretty=false",
|
||||||
"build:package": "svelte-package --input ./src",
|
"build:package": "svelte-package --input ./src",
|
||||||
"build:license": "node ./scripts/appendBlockComments.mjs",
|
"build:license": "node ./scripts/addLicense.mjs",
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
"version": "pnpm version --git-tag-version=false"
|
"version": "pnpm version --git-tag-version=false"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
|
import { getCurrentDirPath } from '../../../scripts/helpers.mjs';
|
||||||
import { lstatSync } from 'fs';
|
import { lstatSync } from 'fs';
|
||||||
import { readdir, readFile, writeFile } from 'fs/promises';
|
import { readdir, readFile, writeFile } from 'fs/promises';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { getCurrentDirPath } from '../../../scripts/helpers.mjs';
|
import pkg from '../package.json' assert { type: 'json' };
|
||||||
import { getJSBanner } from './license.mjs';
|
|
||||||
|
const BANNER = `@license ${pkg.name} v${pkg.version} - ${pkg.license}
|
||||||
|
|
||||||
|
This source code is licensed under the ${pkg.license} license.
|
||||||
|
See the LICENSE file in the root directory of this source tree.`;
|
||||||
|
|
||||||
const currentDir = getCurrentDirPath(import.meta.url);
|
const currentDir = getCurrentDirPath(import.meta.url);
|
||||||
const targetDirectory = path.join(currentDir, '../dist');
|
const targetDirectory = path.join(currentDir, '../dist');
|
||||||
@@ -27,16 +32,21 @@ for (const file of files) {
|
|||||||
license = getJSBanner();
|
license = getJSBanner();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (/\.svelte/.test(ext)) {
|
||||||
|
license = getSvelteBanner();
|
||||||
|
}
|
||||||
|
|
||||||
if (license) {
|
if (license) {
|
||||||
newContents = license + contents;
|
newContents = license + contents;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Places icon block comment at the top of the Svelte component class
|
// Places icon block comment at the top of the Svelte component class
|
||||||
if (/icons\/(.*?)\.svelte\.d\.ts/.test(filepath)) {
|
if(/icons\/(.*?)\.svelte\.d\.ts/.test(filepath)) {
|
||||||
const svelteFilepath = filepath.replace('.d.ts', '');
|
const svelteFilepath = filepath.replace('.d.ts', '')
|
||||||
let svelteFileContents = await readFile(svelteFilepath, { encoding: 'utf-8' });
|
let svelteFileContents = await readFile(svelteFilepath, { encoding: 'utf-8' });
|
||||||
|
|
||||||
const blockCommentRegex = /\/\*\*\n\s\*\s(@component\s@name)[\s\S]*?\*\//;
|
const blockCommentRegex = /\/\*\*[\s\S]*?\*\//;
|
||||||
const blockCommentMatch = blockCommentRegex.exec(svelteFileContents);
|
const blockCommentMatch = blockCommentRegex.exec(svelteFileContents);
|
||||||
|
|
||||||
if (blockCommentMatch !== null) {
|
if (blockCommentMatch !== null) {
|
||||||
@@ -45,15 +55,26 @@ for (const file of files) {
|
|||||||
const exportClassRegex = /export default class (\w+) extends SvelteComponentTyped<(.*?)> {/;
|
const exportClassRegex = /export default class (\w+) extends SvelteComponentTyped<(.*?)> {/;
|
||||||
|
|
||||||
if (exportClassRegex.test(newContents)) {
|
if (exportClassRegex.test(newContents)) {
|
||||||
newContents = newContents.replace(
|
newContents = newContents.replace(exportClassRegex, `${blockComment}\nexport default class $1 extends SvelteComponentTyped<$2> {`);
|
||||||
exportClassRegex,
|
|
||||||
`${blockComment}\nexport default class $1 extends SvelteComponentTyped<$2> {`
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newContents !== contents) {
|
if(newContents !== contents) {
|
||||||
await writeFile(filepath, newContents, { encoding: 'utf-8' });
|
await writeFile(filepath, newContents, { encoding: 'utf-8' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getJSBanner() {
|
||||||
|
return `/**
|
||||||
|
* ${BANNER}
|
||||||
|
*/
|
||||||
|
\n`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSvelteBanner() {
|
||||||
|
return `<!--
|
||||||
|
${BANNER}
|
||||||
|
-->
|
||||||
|
\n`;
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
/* eslint-disable import/no-extraneous-dependencies */
|
/* eslint-disable import/no-extraneous-dependencies */
|
||||||
import base64SVG from '@lucide/build-icons/utils/base64SVG.mjs';
|
import base64SVG from '@lucide/build-icons/utils/base64SVG.mjs';
|
||||||
import { getJSBanner } from './license.mjs';
|
|
||||||
|
|
||||||
export default ({ iconName, children, componentName, getSvg, deprecated }) => {
|
export default ({ iconName, children, componentName, getSvg, deprecated }) => {
|
||||||
const svgContents = getSvg();
|
const svgContents = getSvg();
|
||||||
@@ -8,7 +7,6 @@ export default ({ iconName, children, componentName, getSvg, deprecated }) => {
|
|||||||
|
|
||||||
return `\
|
return `\
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
${getJSBanner()}
|
|
||||||
import Icon from '../Icon.svelte';
|
import Icon from '../Icon.svelte';
|
||||||
import type { IconNode, IconProps } from '../types.js';
|
import type { IconNode, IconProps } from '../types.js';
|
||||||
|
|
||||||
@@ -24,7 +22,7 @@ const iconNode: IconNode = ${JSON.stringify(children)};
|
|||||||
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
||||||
*
|
*
|
||||||
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
||||||
* @returns {FunctionalComponent} Svelte component
|
* @returns {FunctionalComponent} Vue component
|
||||||
* ${deprecated ? '@deprecated' : ''}
|
* ${deprecated ? '@deprecated' : ''}
|
||||||
*/
|
*/
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
import pkg from '../package.json' assert { type: 'json' };
|
|
||||||
|
|
||||||
export function getJSBanner() {
|
|
||||||
return `/**
|
|
||||||
* @license ${pkg.name} v${pkg.version} - ${pkg.license}
|
|
||||||
*
|
|
||||||
* This source code is licensed under the ${pkg.license} license.
|
|
||||||
* See the LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
`;
|
|
||||||
}
|
|
||||||
@@ -4,14 +4,13 @@ import defaultAttributes from './defaultAttributes';
|
|||||||
|
|
||||||
// Create interface extending SVGAttributes
|
// Create interface extending SVGAttributes
|
||||||
export interface SVGProps extends Partial<SVGAttributes> {
|
export interface SVGProps extends Partial<SVGAttributes> {
|
||||||
size?: 24 | number
|
size?: 24 | number;
|
||||||
strokeWidth?: number | string
|
strokeWidth?: number | string;
|
||||||
absoluteStrokeWidth?: boolean
|
absoluteStrokeWidth?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type IconNode = [elementName: string, attrs: Record<string, string>][];
|
||||||
export type IconNode = [elementName: string, attrs: Record<string, string>][]
|
export type Icon = FunctionalComponent<SVGProps>;
|
||||||
export type Icon = FunctionalComponent<SVGProps>
|
|
||||||
/**
|
/**
|
||||||
* Converts string to KebabCase
|
* Converts string to KebabCase
|
||||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
* Copied from scripts/helper. If anyone knows how to properly import it here
|
||||||
@@ -20,29 +19,31 @@ export type Icon = FunctionalComponent<SVGProps>
|
|||||||
* @param {string} string
|
* @param {string} string
|
||||||
* @returns {string} A kebabized string
|
* @returns {string} A kebabized string
|
||||||
*/
|
*/
|
||||||
export const toKebabCase = (string: string) => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
export const toKebabCase = (string: string) =>
|
||||||
|
string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||||
|
|
||||||
const createLucideIcon = (iconName: string, iconNode: IconNode): Icon => (
|
const createLucideIcon =
|
||||||
{ size, strokeWidth = 2, absoluteStrokeWidth, color, class: classes, ...props }, // props
|
(iconName: string, iconNode: IconNode): Icon =>
|
||||||
{ attrs, slots } // context
|
(
|
||||||
|
{ size, strokeWidth = 2, absoluteStrokeWidth, color, class: classes, ...props }, // props
|
||||||
|
{ attrs, slots }, // context
|
||||||
) => {
|
) => {
|
||||||
return h(
|
return h(
|
||||||
'svg',
|
'svg',
|
||||||
{
|
{
|
||||||
...defaultAttributes,
|
...defaultAttributes,
|
||||||
width: size || defaultAttributes.width,
|
width: size || defaultAttributes.width,
|
||||||
height: size || defaultAttributes.height,
|
height: size || defaultAttributes.height,
|
||||||
stroke: color || defaultAttributes.stroke,
|
stroke: color || defaultAttributes.stroke,
|
||||||
'stroke-width': absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
'stroke-width': absoluteStrokeWidth
|
||||||
...attrs,
|
? (Number(strokeWidth) * 24) / Number(size)
|
||||||
class: ['lucide', `lucide-${toKebabCase(iconName)}`],
|
: strokeWidth,
|
||||||
...props,
|
...attrs,
|
||||||
},
|
class: ['lucide', `lucide-${toKebabCase(iconName)}`],
|
||||||
[
|
...props,
|
||||||
...iconNode.map(child => h(...child)),
|
},
|
||||||
...(slots.default ? [slots.default()] : [])
|
[...iconNode.map((child) => h(...child)), ...(slots.default ? [slots.default()] : [])],
|
||||||
],
|
);
|
||||||
);
|
};
|
||||||
};
|
|
||||||
|
|
||||||
export default createLucideIcon;
|
export default createLucideIcon;
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
import { join } from 'path';
|
|
||||||
|
|
||||||
export default function LucideNuxtPlugin() {
|
|
||||||
this.nuxt.hook('components:dirs', (dirs) => {
|
|
||||||
dirs.push({
|
|
||||||
path: join(__dirname, 'dist', 'esm', 'icons'),
|
|
||||||
prefix: 'Icon',
|
|
||||||
ignore: ['**/index.js'],
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import base64SVG from '@lucide/build-icons/utils/base64SVG.mjs';
|
|
||||||
|
|
||||||
export default ({ componentName, iconName, children, getSvg, deprecated }) => {
|
|
||||||
const svgContents = getSvg();
|
|
||||||
const svgBase64 = base64SVG(svgContents);
|
|
||||||
|
|
||||||
return `
|
|
||||||
import createLucideIcon from '../createLucideIcon';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @component @name ${componentName}
|
|
||||||
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
||||||
*
|
|
||||||
* @preview  - https://lucide.dev/icons/${iconName}
|
|
||||||
* @see https://lucide.dev/guide/packages/lucide-vue - Documentation
|
|
||||||
*
|
|
||||||
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
||||||
* @returns {Component} Vue Component
|
|
||||||
* ${deprecated ? '@deprecated' : ''}
|
|
||||||
*/
|
|
||||||
const ${componentName} = createLucideIcon('${componentName}Icon', ${JSON.stringify(children)});
|
|
||||||
|
|
||||||
export default ${componentName};
|
|
||||||
`;
|
|
||||||
};
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
import { Component } from 'vue';
|
|
||||||
import { Vue, VueConfiguration } from 'vue/types/vue';
|
|
||||||
import defaultAttributes from './defaultAttributes';
|
|
||||||
|
|
||||||
var showDeprecationWarning = true;
|
|
||||||
|
|
||||||
type IconNode = [elementName: string, attrs: Record<string, string>][]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts string to KebabCase
|
|
||||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
|
||||||
* then please fix it.
|
|
||||||
*
|
|
||||||
* @param {string} string
|
|
||||||
* @returns {string} A kebabized string
|
|
||||||
*/
|
|
||||||
export const toKebabCase = (string: string) => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
||||||
|
|
||||||
export default (iconName: string, iconNode: IconNode): Component => ({
|
|
||||||
name: iconName,
|
|
||||||
functional: true,
|
|
||||||
props: {
|
|
||||||
color: {
|
|
||||||
type: String,
|
|
||||||
default: 'currentColor',
|
|
||||||
},
|
|
||||||
size: {
|
|
||||||
type: Number,
|
|
||||||
default: 24,
|
|
||||||
},
|
|
||||||
strokeWidth: {
|
|
||||||
type: Number,
|
|
||||||
default: 2,
|
|
||||||
},
|
|
||||||
absoluteStrokeWidth: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false,
|
|
||||||
},
|
|
||||||
defaultClass: {
|
|
||||||
type: String,
|
|
||||||
default: `lucide-icon lucide lucide-${toKebabCase(iconName).replace('-icon', '')}`,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
render(
|
|
||||||
createElement,
|
|
||||||
{
|
|
||||||
props: { color, size, strokeWidth, absoluteStrokeWidth, defaultClass },
|
|
||||||
data,
|
|
||||||
children = [],
|
|
||||||
},
|
|
||||||
) {
|
|
||||||
if (showDeprecationWarning) {
|
|
||||||
console.warn(
|
|
||||||
'[Lucide Vue] This package will be deprecated end of 2023. Please upgrade to Vue 3 and use the latest lucide package for Vue.',
|
|
||||||
);
|
|
||||||
showDeprecationWarning = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return createElement(
|
|
||||||
'svg',
|
|
||||||
{
|
|
||||||
// prettier-ignore
|
|
||||||
class: [defaultClass, data.class, data.staticClass, data.attrs && data.attrs.class].filter(Boolean),
|
|
||||||
style: [data.style, data.staticStyle, data.attrs && data.attrs.style].filter(Boolean),
|
|
||||||
attrs: {
|
|
||||||
...defaultAttributes,
|
|
||||||
width: size,
|
|
||||||
height: size,
|
|
||||||
stroke: color,
|
|
||||||
'stroke-width':
|
|
||||||
absoluteStrokeWidth
|
|
||||||
? Number(strokeWidth) * 24 / Number(size)
|
|
||||||
: strokeWidth,
|
|
||||||
...data.attrs,
|
|
||||||
},
|
|
||||||
on: data?.on || {}
|
|
||||||
},
|
|
||||||
[
|
|
||||||
...iconNode.map(([tag, attrs]) => createElement(String(tag), { attrs })),
|
|
||||||
...children
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
const defaultAttributes = {
|
|
||||||
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',
|
|
||||||
};
|
|
||||||
|
|
||||||
export default defaultAttributes
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Folder for generated icons
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export * from './icons';
|
|
||||||
export * as icons from './icons';
|
|
||||||
export * from './aliases';
|
|
||||||
@@ -1,215 +0,0 @@
|
|||||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
||||||
|
|
||||||
exports[`Using lucide icon components > should add a class to the element 1`] = `
|
|
||||||
<div>
|
|
||||||
<svg
|
|
||||||
class="lucide-icon lucide lucide-smile my-icon"
|
|
||||||
fill="none"
|
|
||||||
height="24"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
stroke-width="2"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width="24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<circle
|
|
||||||
cx="12"
|
|
||||||
cy="12"
|
|
||||||
key="1mglay"
|
|
||||||
r="10"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M8 14s1.5 2 4 2 4-2 4-2"
|
|
||||||
key="1y1vjs"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="yxxnd0"
|
|
||||||
x1="9"
|
|
||||||
x2="9.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="1p4y9e"
|
|
||||||
x1="15"
|
|
||||||
x2="15.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Using lucide icon components > should add a style attribute to the element 1`] = `
|
|
||||||
<div>
|
|
||||||
<svg
|
|
||||||
class="lucide-icon lucide lucide-smile"
|
|
||||||
fill="none"
|
|
||||||
height="24"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
stroke-width="2"
|
|
||||||
style="position: absolute"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width="24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<circle
|
|
||||||
cx="12"
|
|
||||||
cy="12"
|
|
||||||
key="1mglay"
|
|
||||||
r="10"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M8 14s1.5 2 4 2 4-2 4-2"
|
|
||||||
key="1y1vjs"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="yxxnd0"
|
|
||||||
x1="9"
|
|
||||||
x2="9.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="1p4y9e"
|
|
||||||
x1="15"
|
|
||||||
x2="15.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Using lucide icon components > should adjust the size, stroke color and stroke width 1`] = `
|
|
||||||
<div>
|
|
||||||
<svg
|
|
||||||
class="lucide-icon lucide lucide-smile"
|
|
||||||
fill="none"
|
|
||||||
height="48"
|
|
||||||
stroke="red"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
stroke-width="4"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width="48"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<circle
|
|
||||||
cx="12"
|
|
||||||
cy="12"
|
|
||||||
key="1mglay"
|
|
||||||
r="10"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M8 14s1.5 2 4 2 4-2 4-2"
|
|
||||||
key="1y1vjs"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="yxxnd0"
|
|
||||||
x1="9"
|
|
||||||
x2="9.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="1p4y9e"
|
|
||||||
x1="15"
|
|
||||||
x2="15.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Using lucide icon components > should pass children to the icon slot 1`] = `
|
|
||||||
<div>
|
|
||||||
<svg
|
|
||||||
class="lucide-icon lucide lucide-smile"
|
|
||||||
fill="none"
|
|
||||||
height="24"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
stroke-width="2"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width="24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<circle
|
|
||||||
cx="12"
|
|
||||||
cy="12"
|
|
||||||
key="1mglay"
|
|
||||||
r="10"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M8 14s1.5 2 4 2 4-2 4-2"
|
|
||||||
key="1y1vjs"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="yxxnd0"
|
|
||||||
x1="9"
|
|
||||||
x2="9.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="1p4y9e"
|
|
||||||
x1="15"
|
|
||||||
x2="15.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<text>
|
|
||||||
Hello World
|
|
||||||
</text>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Using lucide icon components > should render an component 1`] = `
|
|
||||||
<div>
|
|
||||||
<svg
|
|
||||||
class="lucide-icon lucide lucide-smile"
|
|
||||||
fill="none"
|
|
||||||
height="24"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
stroke-width="2"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width="24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<circle
|
|
||||||
cx="12"
|
|
||||||
cy="12"
|
|
||||||
key="1mglay"
|
|
||||||
r="10"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
d="M8 14s1.5 2 4 2 4-2 4-2"
|
|
||||||
key="1y1vjs"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="yxxnd0"
|
|
||||||
x1="9"
|
|
||||||
x2="9.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
<line
|
|
||||||
key="1p4y9e"
|
|
||||||
x1="15"
|
|
||||||
x2="15.01"
|
|
||||||
y1="9"
|
|
||||||
y2="9"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
@@ -1,133 +0,0 @@
|
|||||||
import { describe, it, expect, vi } from 'vitest';
|
|
||||||
import { render, fireEvent, cleanup } from '@testing-library/vue'
|
|
||||||
import { Smile, Pen, Edit2 } from '../src/lucide-vue'
|
|
||||||
import { afterEach } from 'vitest';
|
|
||||||
import { VueClass } from '@vue/test-utils';
|
|
||||||
|
|
||||||
describe('Using lucide icon components', () => {
|
|
||||||
afterEach(() => cleanup())
|
|
||||||
|
|
||||||
it('should render an component', () => {
|
|
||||||
const {container} = render(Smile as VueClass<any>)
|
|
||||||
expect(container).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should adjust the size, stroke color and stroke width', () => {
|
|
||||||
const {container} = render(Smile as VueClass<any>, {
|
|
||||||
props: {
|
|
||||||
size: 48,
|
|
||||||
color: 'red',
|
|
||||||
strokeWidth: 4
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const [icon] = document.getElementsByClassName('lucide');
|
|
||||||
|
|
||||||
expect(icon.getAttribute('width')).toBe('48')
|
|
||||||
expect(icon.getAttribute('stroke')).toBe('red')
|
|
||||||
expect(icon.getAttribute('stroke-width')).toBe('4')
|
|
||||||
|
|
||||||
expect(container).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
it('should add a class to the element', () => {
|
|
||||||
const {container} = render(Smile as VueClass<any>, {
|
|
||||||
attrs: {
|
|
||||||
class: "my-icon"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
expect(container).toMatchSnapshot();
|
|
||||||
|
|
||||||
const [icon] = document.getElementsByClassName('lucide');
|
|
||||||
|
|
||||||
expect(icon).toHaveClass('my-icon')
|
|
||||||
expect(icon).toHaveClass('lucide-smile')
|
|
||||||
expect(icon).toHaveClass('lucide')
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should add a style attribute to the element', () => {
|
|
||||||
const {container} = render(Smile as VueClass<any>, {
|
|
||||||
attrs: {
|
|
||||||
style: 'position: absolute',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
expect(container).toMatchSnapshot();
|
|
||||||
|
|
||||||
const [icon] = document.getElementsByClassName('lucide');
|
|
||||||
|
|
||||||
expect(icon).toHaveStyle({ position: 'absolute' })
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should call the onClick event', async () => {
|
|
||||||
const onClick = vi.fn()
|
|
||||||
render(Smile as VueClass<any>, {
|
|
||||||
listeners: {
|
|
||||||
click: onClick
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const [icon] = document.getElementsByClassName('lucide');
|
|
||||||
|
|
||||||
await fireEvent.click(icon)
|
|
||||||
|
|
||||||
expect(onClick).toHaveBeenCalled()
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should pass children to the icon slot', () => {
|
|
||||||
const testText = 'Hello World'
|
|
||||||
const template = `<text>${testText}</text>`
|
|
||||||
const { getByText, container } = render(Smile as VueClass<any>, {
|
|
||||||
slots: {
|
|
||||||
default: { template }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const textElement = getByText(testText)
|
|
||||||
|
|
||||||
expect(textElement).toBeInTheDocument()
|
|
||||||
expect(container).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should render the alias icon', () => {
|
|
||||||
const { getByText, container } = render(Pen as VueClass<any>, {
|
|
||||||
props: {
|
|
||||||
size: '48',
|
|
||||||
color: 'red',
|
|
||||||
strokeWidth: '4'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const PenIconRenderedHTML = container.innerHTML
|
|
||||||
|
|
||||||
cleanup()
|
|
||||||
|
|
||||||
const { container: Edit2Container } = render(Edit2 as VueClass<any>, {
|
|
||||||
props: {
|
|
||||||
size: '48',
|
|
||||||
color: 'red',
|
|
||||||
strokeWidth: '4'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
expect(PenIconRenderedHTML).toBe(Edit2Container.innerHTML)
|
|
||||||
})
|
|
||||||
|
|
||||||
it('should not scale the strokeWidth when absoluteStrokeWidth is set', () => {
|
|
||||||
const { getByText, container } = render(Pen as VueClass<any>, {
|
|
||||||
props: {
|
|
||||||
size: '48',
|
|
||||||
color: 'red',
|
|
||||||
absoluteStrokeWidth: true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const [icon] = document.getElementsByClassName('lucide');
|
|
||||||
|
|
||||||
expect(icon.getAttribute('width')).toBe('48')
|
|
||||||
expect(icon.getAttribute('stroke')).toBe('red')
|
|
||||||
expect(icon.getAttribute('stroke-width')).toBe('1')
|
|
||||||
})
|
|
||||||
});
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
import '@testing-library/jest-dom';
|
|
||||||
@@ -1,21 +1,19 @@
|
|||||||
# Lucide Vue
|
# Lucide Vue
|
||||||
|
|
||||||
Implementation of the lucide icon library for Vue applications.
|
Implementation of the lucide icon library for Vue 3 applications.
|
||||||
|
|
||||||
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
||||||
|
|
||||||
> :warning: This version of lucide is for Vue 2, For Vue 3 got to [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue-next#lucide-vue-next)
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn add lucide-vue
|
yarn add @lucide/vue
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install lucide-vue
|
npm install @lucide/vue
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
@@ -34,7 +32,7 @@ You can pass additional props to adjust the icon.
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Returns Vue component
|
// Returns Vue component
|
||||||
import { Camera } from 'lucide-vue';
|
import { Camera } from '@lucide/vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'My Component',
|
name: 'My Component',
|
||||||
@@ -77,7 +75,7 @@ It is possible to create one generic icon component to load icons.
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as icons from 'lucide-vue';
|
import * as icons from '@lucide/vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
@@ -104,25 +102,3 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Use with [@nuxt/components](https://github.com/nuxt/components#readme)
|
|
||||||
|
|
||||||
### Setup
|
|
||||||
|
|
||||||
In your `nuxt.config.js`, add `lucide-vue/nuxt` to your `buildModules`
|
|
||||||
|
|
||||||
```js
|
|
||||||
export default {
|
|
||||||
buildModules: ['lucide-vue/nuxt']
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### How to use
|
|
||||||
|
|
||||||
Icon components are prefixed with `Icon`. Use icon components without importing them.
|
|
||||||
|
|
||||||
### Example
|
|
||||||
|
|
||||||
```html
|
|
||||||
<IconCamera color="red" :size="32" />
|
|
||||||
```
|
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-vue",
|
"name": "@lucide/vue",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"author": "Eric Fennis",
|
"author": "Eric Fennis",
|
||||||
"description": "A Lucide icon library package for Vue 2 applications",
|
"description": "A Lucide icon library package for Vue 3 applications",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/lucide-icons/lucide.git",
|
"url": "https://github.com/lucide-icons/lucide.git",
|
||||||
"directory": "packages/lucide-vue"
|
"directory": "packages/vue"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Lucide",
|
"Lucide",
|
||||||
@@ -22,12 +22,13 @@
|
|||||||
"Fontawesome",
|
"Fontawesome",
|
||||||
"Font Awesome"
|
"Font Awesome"
|
||||||
],
|
],
|
||||||
"amdName": "lucide-vue",
|
"amdName": "lucide-vue-next",
|
||||||
"source": "build/lucide-vue.js",
|
"source": "build/lucide-vue-next.js",
|
||||||
"main": "dist/cjs/lucide-vue.js",
|
"main": "dist/cjs/lucide-vue-next.js",
|
||||||
"main:umd": "dist/umd/lucide-vue.js",
|
"main:umd": "dist/umd/lucide-vue-next.js",
|
||||||
"module": "dist/esm/lucide-vue.js",
|
"module": "dist/esm/lucide-vue-next.js",
|
||||||
"unpkg": "dist/umd/lucide-vue.min.js",
|
"unpkg": "dist/umd/lucide-vue-next.min.js",
|
||||||
|
"typings": "dist/lucide-vue-next.d.ts",
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:bundles",
|
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:bundles",
|
||||||
"copy:license": "cp ../../LICENSE ./LICENSE",
|
"copy:license": "cp ../../LICENSE ./LICENSE",
|
||||||
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
"clean": "rm -rf dist && rm -rf ./src/icons/*.ts",
|
||||||
"build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=index.ts",
|
"build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=index.ts",
|
||||||
"build:bundles": "rollup -c ./rollup.config.mjs",
|
"build:bundles": "rollup -c ./rollup.config.mjs",
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
@@ -45,18 +46,17 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@lucide/build-icons": "workspace:*",
|
"@lucide/build-icons": "workspace:*",
|
||||||
"@lucide/rollup-plugins": "workspace:*",
|
"@lucide/rollup-plugins": "workspace:*",
|
||||||
"@testing-library/jest-dom": "^6.1.4",
|
"@testing-library/jest-dom": "^6.1.6",
|
||||||
"@testing-library/vue": "^5.9.0",
|
"@testing-library/vue": "^8.0.1",
|
||||||
"@vitejs/plugin-vue2": "2.2.0",
|
"@vitejs/plugin-vue": "^4.6.2",
|
||||||
"@vue/test-utils": "1.3.0",
|
"@vue/test-utils": "2.4.3",
|
||||||
"rollup": "^3.23.0",
|
"rollup": "^4.9.2",
|
||||||
"typescript": "^4.9.5",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"vite": "5.0.12",
|
"vite": "5.0.12",
|
||||||
"vitest": "^0.32.2",
|
"vitest": "^1.1.1",
|
||||||
"vue": "2.7.14",
|
"vue": "^3.0.1"
|
||||||
"vue-template-compiler": "2.7.14"
|
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "^2.6.12"
|
"vue": ">=3.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import plugins, { replace } from '@lucide/rollup-plugins';
|
import plugins, { replace } from '@lucide/rollup-plugins';
|
||||||
import pkg from './package.json' assert { type: 'json' };
|
import pkg from './package.json' assert { type: 'json' };
|
||||||
|
import dts from "rollup-plugin-dts";
|
||||||
|
|
||||||
const packageName = 'LucideVue';
|
const packageName = 'LucideVue';
|
||||||
const outputFileName = 'lucide-vue';
|
const outputFileName = 'lucide-vue';
|
||||||
@@ -56,4 +57,19 @@ const configs = bundles
|
|||||||
)
|
)
|
||||||
.flat();
|
.flat();
|
||||||
|
|
||||||
export default configs;
|
export default [
|
||||||
|
{
|
||||||
|
input: inputs[0],
|
||||||
|
output: [{
|
||||||
|
file: `dist/${outputFileName}.d.ts`, format: "es"
|
||||||
|
}],
|
||||||
|
plugins: [
|
||||||
|
dts({
|
||||||
|
compilerOptions: {
|
||||||
|
preserveSymlinks: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
},
|
||||||
|
...configs
|
||||||
|
];
|
||||||
1
packages/vue/scripts
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../lucide-vue-next/scripts
|
||||||
1
packages/vue/src
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../lucide-vue-next/src
|
||||||
1
packages/vue/tests
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../lucide-vue-next/tests
|
||||||
@@ -11,7 +11,6 @@
|
|||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"lib": ["ESNext", "DOM"],
|
"lib": ["ESNext", "DOM"],
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"noEmit": true
|
"noEmit": true,
|
||||||
},
|
}
|
||||||
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
|
|
||||||
}
|
}
|
||||||
@@ -1,19 +1,11 @@
|
|||||||
import { defineConfig } from 'vitest/config'
|
import { defineConfig } from 'vitest/config'
|
||||||
import vue from '@vitejs/plugin-vue2'
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue()],
|
||||||
test: {
|
test: {
|
||||||
globals: true,
|
globals: true,
|
||||||
environment: 'jsdom',
|
environment: 'jsdom',
|
||||||
transformMode: {
|
|
||||||
web: [/\.jsx?$/],
|
|
||||||
},
|
|
||||||
setupFiles: './tests/setupVitest.js',
|
setupFiles: './tests/setupVitest.js',
|
||||||
threads: false,
|
|
||||||
isolate: false,
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
conditions: ['development', 'browser'],
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||