Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7209ed3fcd | ||
|
|
e85dffa9b4 | ||
|
|
0c3d6cd097 | ||
|
|
72c25a9936 | ||
|
|
5226c326f8 | ||
|
|
de2e3036c0 | ||
|
|
8adeb025a6 | ||
|
|
22ffb58649 | ||
|
|
278309fe55 | ||
|
|
bcbae1e406 | ||
|
|
1173134099 | ||
|
|
894993478f |
14
icons/footprints.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"steps",
|
||||||
|
"walking",
|
||||||
|
"foot",
|
||||||
|
"feet",
|
||||||
|
"trail",
|
||||||
|
"shoe"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maps"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/footprints.svg
Normal file
@@ -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="M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z" />
|
||||||
|
<path d="M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z" />
|
||||||
|
<path d="M16 17h4" />
|
||||||
|
<path d="M4 13h4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 520 B |
14
icons/helping-hand.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"agreement",
|
||||||
|
"help",
|
||||||
|
"proposal",
|
||||||
|
"charity",
|
||||||
|
"begging",
|
||||||
|
"terms"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"emoji"
|
||||||
|
]
|
||||||
|
}
|
||||||
14
icons/helping-hand.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="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="m2 14 6 6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 403 B |
14
icons/pill.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"medicine",
|
||||||
|
"medication",
|
||||||
|
"drug",
|
||||||
|
"prescription",
|
||||||
|
"tablet",
|
||||||
|
"pharmacy"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"medical"
|
||||||
|
]
|
||||||
|
}
|
||||||
14
icons/pill.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z" />
|
||||||
|
<path d="m8.5 8.5 7 7" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 316 B |
14
icons/router.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"computer",
|
||||||
|
"server",
|
||||||
|
"cloud"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"development",
|
||||||
|
"devices",
|
||||||
|
"connectivity",
|
||||||
|
"home"
|
||||||
|
]
|
||||||
|
}
|
||||||
18
icons/router.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="2" y="14" width="20" height="8" rx="2"/>
|
||||||
|
<path d="M6.01 18H6" />
|
||||||
|
<path d="M10.01 18H10" />
|
||||||
|
<path d="M15 10v4" />
|
||||||
|
<path d="M17.84 7.17a4 4 0 0 0-5.66 0" />
|
||||||
|
<path d="M20.66 4.34a8 8 0 0 0-11.31 0" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 445 B |
14
icons/ship.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"boat",
|
||||||
|
"trip",
|
||||||
|
"maritime",
|
||||||
|
"navy"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"transportation",
|
||||||
|
"travel",
|
||||||
|
"maps"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/ship.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1" />
|
||||||
|
<path d="M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76" />
|
||||||
|
<path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6" />
|
||||||
|
<path d="M12 10v4" />
|
||||||
|
<path d="M12 2v3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 514 B |
16
icons/stamp.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"mark",
|
||||||
|
"print",
|
||||||
|
"clone",
|
||||||
|
"loyalty",
|
||||||
|
"library"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"design",
|
||||||
|
"cursors",
|
||||||
|
"tools",
|
||||||
|
"maps"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/stamp.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M5 22h14" />
|
||||||
|
<path d="M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z" />
|
||||||
|
<path d="M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 454 B |
14
icons/tablets.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"medicine",
|
||||||
|
"medication",
|
||||||
|
"drug",
|
||||||
|
"prescription",
|
||||||
|
"pills",
|
||||||
|
"pharmacy"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"medical"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/tablets.svg
Normal file
@@ -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"
|
||||||
|
>
|
||||||
|
<circle cx="7" cy="7" r="5" />
|
||||||
|
<circle cx="17" cy="17" r="5" />
|
||||||
|
<path d="M12 17h10" />
|
||||||
|
<path d="m3.46 10.54 7.08-7.08" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 338 B |
14
icons/tower-control.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"airport",
|
||||||
|
"travel",
|
||||||
|
"tower",
|
||||||
|
"transportation",
|
||||||
|
"lighthouse"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"travel",
|
||||||
|
"transportation"
|
||||||
|
]
|
||||||
|
}
|
||||||
19
icons/tower-control.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z" />
|
||||||
|
<path d="M8 13v9" />
|
||||||
|
<path d="M16 22v-9" />
|
||||||
|
<path d="m9 6 1 7" />
|
||||||
|
<path d="m15 6-1 7" />
|
||||||
|
<path d="M12 6V2" />
|
||||||
|
<path d="M13 2h-2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 436 B |
@@ -25,7 +25,8 @@
|
|||||||
"generate:changelog": "node ./scripts/generateChangelog.mjs",
|
"generate:changelog": "node ./scripts/generateChangelog.mjs",
|
||||||
"postinstall": "husky install",
|
"postinstall": "husky install",
|
||||||
"lint": "eslint --ext .ts,.js,.mjs ./{packages/lucide,scripts}",
|
"lint": "eslint --ext .ts,.js,.mjs ./{packages/lucide,scripts}",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install",
|
||||||
|
"gi": "node ./scripts/generate/generateIcons.mjs"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.26.0",
|
"eslint": "^8.26.0",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-angular",
|
"name": "lucide-angular",
|
||||||
"description": "A Lucide icon library package for Angular applications",
|
"description": "A Lucide icon library package for Angular applications",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"author": "SMAH1",
|
"author": "SMAH1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: lucide_icons
|
name: lucide_icons
|
||||||
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
|
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
|
||||||
version: 0.115.0
|
version: 0.120.0
|
||||||
homepage: https://lucide.dev
|
homepage: https://lucide.dev
|
||||||
repository: https://github.com/lucide-icons/lucide
|
repository: https://github.com/lucide-icons/lucide
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-preact",
|
"name": "lucide-preact",
|
||||||
"description": "A Lucide icon library package for Preact applications",
|
"description": "A Lucide icon library package for Preact applications",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"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",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-react-native",
|
"name": "lucide-react-native",
|
||||||
"description": "A Lucide icon library package for React Native applications",
|
"description": "A Lucide icon library package for React Native applications",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"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",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-react",
|
"name": "lucide-react",
|
||||||
"description": "A Lucide icon library package for React applications",
|
"description": "A Lucide icon library package for React applications",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"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",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-svelte",
|
"name": "lucide-svelte",
|
||||||
"description": "A Lucide icon library package for Svelte applications",
|
"description": "A Lucide icon library package for Svelte applications",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"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",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-vue-next",
|
"name": "lucide-vue-next",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"author": "Eric Fennis",
|
"author": "Eric Fennis",
|
||||||
"description": "A Lucide icon library package for Vue 3 applications",
|
"description": "A Lucide icon library package for Vue 3 applications",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-vue",
|
"name": "lucide-vue",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"author": "Eric Fennis",
|
"author": "Eric Fennis",
|
||||||
"description": "A Lucide icon library package for Vue 2 applications",
|
"description": "A Lucide icon library package for Vue 2 applications",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide",
|
"name": "lucide",
|
||||||
"description": "A Lucide icon library package for web and javascript applications.",
|
"description": "A Lucide icon library package for web and javascript applications.",
|
||||||
"version": "0.115.0",
|
"version": "0.120.0",
|
||||||
"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",
|
||||||
|
|||||||
35
scripts/generate/generateIcons.mjs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import path from 'path';
|
||||||
|
import {getCurrentDirPath, writeFileIfNotExists} from "../helpers.mjs";
|
||||||
|
|
||||||
|
const currentDir = getCurrentDirPath(import.meta.url);
|
||||||
|
const ICONS_DIR = path.resolve(currentDir, '../../icons');
|
||||||
|
|
||||||
|
const iconNames = process.argv.slice(2);
|
||||||
|
|
||||||
|
const iconSvgTemplate = `<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"
|
||||||
|
>
|
||||||
|
</svg>
|
||||||
|
`;
|
||||||
|
|
||||||
|
const iconJsonTemplate = `{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
iconNames.forEach(iconName => {
|
||||||
|
writeFileIfNotExists(iconSvgTemplate, `${iconName}.svg`, ICONS_DIR);
|
||||||
|
writeFileIfNotExists(iconJsonTemplate, `${iconName}.json`, ICONS_DIR);
|
||||||
|
});
|
||||||
@@ -70,6 +70,19 @@ export const appendFile = (content, fileName, outputDirectory) =>
|
|||||||
export const writeFile = (content, fileName, outputDirectory) =>
|
export const writeFile = (content, fileName, outputDirectory) =>
|
||||||
fs.writeFileSync(path.join(outputDirectory, fileName), content, 'utf-8');
|
fs.writeFileSync(path.join(outputDirectory, fileName), content, 'utf-8');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* writes content to a file if it does not exist
|
||||||
|
*
|
||||||
|
* @param {string} content
|
||||||
|
* @param {string} fileName
|
||||||
|
* @param {string} outputDirectory
|
||||||
|
*/
|
||||||
|
export const writeFileIfNotExists = (content, fileName, outputDirectory) => {
|
||||||
|
if (!fs.existsSync(path.join(outputDirectory, fileName))) {
|
||||||
|
writeFile(content, fileName, outputDirectory);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads metadata from the icons/categories directories
|
* Reads metadata from the icons/categories directories
|
||||||
*
|
*
|
||||||
|
|||||||