Compare commits

...

15 Commits

Author SHA1 Message Date
Yashu Mittal
213990024b feat: pin icon (#438)
* feat: pin icon

* add tag

* Update tags.json

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

* fix: pin icon

* split path in pin icon

* split icon stroke `path`

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2021-12-27 22:48:39 +01:00
Eric Fennis
252962062b Allow lucide-static updating 2021-12-27 22:47:49 +01:00
Eric Fennis
211b42a416 Delete sprite-1.svg 2021-12-27 22:46:02 +01:00
Lucide Bot
ac9bbcfe83 📦 Bump lucide package versions to 0.16.22 2021-12-15 12:05:40 +00:00
Wojciech Maj
ab68e8acb1 feat: add scan, scan-line icons (#447) 2021-12-15 12:57:41 +01:00
Wojciech Maj
3def95875a feat: Add clock-1, clock-2, clock-3, clock-4, clock-5, clock-6, clock-7, clock-8, clock-9, clock-10, clock-11, clock-12 icons (#448) 2021-12-15 12:54:13 +01:00
Wojciech Maj
3774bec265 chore: remove unnecessary bit from pencil icon (#449)
There was a line drawn all the way to the beginning of the path, which is what `z` already does anyway.
2021-12-06 17:33:50 +01:00
Wojciech Maj
5d35573d89 fix: fix generateChangelog crashing on commits with no authors (#452)
Sample commit crashing: 3756ab98ef
2021-12-06 17:32:13 +01:00
Eric Fennis
6b79185cc6 Fix ChangeLog Generator 2021-12-06 17:28:49 +01:00
Wojciech Maj
58c0e3f16f feat: add arrow-left-right icon (#446) 2021-12-06 13:02:18 +01:00
Wojciech Maj
74605eef8a chore: simplify slack icon (#450)
Reduces size from 974B to 640B (-35%)
2021-12-06 12:55:39 +01:00
Eric Fennis
833533ea5a Merge branch 'master' of github.com:lucide-icons/lucide 2021-11-21 21:17:14 +01:00
Eric Fennis
e98a9b0e9b Fix lucide site build 2021-11-21 21:16:58 +01:00
Lucide Bot
3756ab98ef 📦 Bump lucide package versions to 0.16.19 2021-11-21 20:10:05 +00:00
Eric Fennis
6899f2f072 Add lucide-static to docs folder 2021-11-21 21:08:10 +01:00
31 changed files with 464 additions and 23 deletions

View File

@@ -256,8 +256,8 @@ jobs:
- name: Set Auth Token
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
# - name: Set new version
# run: yarn workspace lucide-static version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
- name: Set new version
run: yarn workspace lucide-static version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
- name: Move Font
run: cp -r lucide-font packages/lucide-static/font

View File

@@ -0,0 +1,181 @@
# Lucide Static
This package include the following lucide implementations:
- All svg files
- Javascript library containing strings of svgs.
- Icon fonts
- Svg sprite
## Why lucide-static?
This package is suitable for very specific use cases for example if you want to use icon fonts, svg sprites, normal svgs or Common.js Svg strings in your javascript project.
> ⚠️ It is not recommended to use this package for svg sprites or icon fonts for web pages/applications, for prototyping it is ok. We recommend to bundlers for web applications to make sure you only bundle the used icons from this icon library (Threeshaking). Otherwise it will load all the icons, making you webpage loading slower. Threeshaking is only available in the packages: [lucide](https://github.com/lucide-icons/lucide/tree/master/packages/lucide), [lucide-react](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-react), [lucide-vue](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue), [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue-next), [lucide-angular](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-angular), [lucide-preact](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-preact)
## Installation
## Package Managers
```sh
yarn add lucide-static
# or
npm install lucide-static
```
### CDN
``` html
<!-- Svg File -->
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg">
<!-- Icon Font -->
<style>
@font-face {
font-family: "LucideIcons";
src: url(https://unpkg.com/lucide-static@latest/font/Lucide.ttf) format("truetype");
}
</style>
```
## Usage
Checkout the [codesandbox examples](https://codesandbox.io/s/using-the-svg-sprite-lz1kk).
### SVG Files
#### Svg file as image
To use it in for example html:
``` html
<!-- Svg File -->
<img src="~lucide-static/icons/home.svg">
```
``` css
.home-icon {
background-image: url(~lucide-static/icons/home.svg)
}
```
Make sure you have the correct webpack loaders to make this work. [url-loader](https://v4.webpack.js.org/loaders/url-loader/)
#### Svg file Inline
You can simply import each svg by targeting `lucide-static/icons/{icon-name}.svg`.
To use svgs in your project you can for example use a [svg loader](https://v4.webpack.js.org/loaders/svg-inline-loader/).
```js
import arrowRightIcon from 'lucide-static/icons/arrow-right'
// return string of a svg
```
### SVG Sprite
You may need additional loader for this.
```html
<!-- Icon Sprite, not recommended for production! -->
<img src="lucide-static/sprite.svg#home">
<!-- or -->
<svg
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<use href="#alert-triangle" />
</svg>
<svg>
...sprite svg
</svg>
```
If you'd prefer, you can use CSS to hold your base SVG properties
```css
.lucide-icon {
width: 24px;
height: 24px;
stroke: currentColor;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
```
and update the svg as follows
```svg
<svg
xmlns="http://www.w3.org/2000/svg"
class="lucide-icon"
>
<use
href="#alert-triangle"
/>
</svg>
<svg>
...sprite svg
</svg>
```
### Icon Font
```css
@import("~lucide-static/font/Lucide.css")
```
```html
<div class="icon-home"></div>
```
### Node.js
To use lucide icons in your Nodejs project you can import each icon as:
```js
const { messageSquare } = require('lucide-static/lib')
```
> Note: Each icon name is in camelCase.
#### Example in node.js project
```js
const express = require('express')
const { messageSquare } = require('lucide-static/lib')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send(`
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>Lucide Icons</h1>
<p>This is a lucide icon ${messageSquare}</p>
</body>
</html>
`)
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
```

View 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"
>
<polyline points="17 11 21 7 17 3" />
<line x1="21" y1="7" x2="9" y2="7" />
<polyline points="7 21 3 17 7 13" />
<line x1="15" y1="17" x2="3" y2="17" />
</svg>

After

Width:  |  Height:  |  Size: 369 B

14
icons/clock-1.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 8" />
</svg>

After

Width:  |  Height:  |  Size: 286 B

14
icons/clock-10.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 10" />
</svg>

After

Width:  |  Height:  |  Size: 284 B

14
icons/clock-11.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 8" />
</svg>

After

Width:  |  Height:  |  Size: 285 B

14
icons/clock-12.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12" />
</svg>

After

Width:  |  Height:  |  Size: 279 B

14
icons/clock-2.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 10" />
</svg>

After

Width:  |  Height:  |  Size: 285 B

14
icons/clock-3.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16.5 12" />
</svg>

After

Width:  |  Height:  |  Size: 287 B

14
icons/clock-4.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</svg>

After

Width:  |  Height:  |  Size: 285 B

14
icons/clock-5.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 14.5 16" />
</svg>

After

Width:  |  Height:  |  Size: 287 B

14
icons/clock-6.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 12 16.5" />
</svg>

After

Width:  |  Height:  |  Size: 287 B

14
icons/clock-7.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 9.5 16" />
</svg>

After

Width:  |  Height:  |  Size: 286 B

14
icons/clock-8.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 8 14" />
</svg>

After

Width:  |  Height:  |  Size: 284 B

14
icons/clock-9.svg Normal file
View 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"
>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 7.5 12" />
</svg>

After

Width:  |  Height:  |  Size: 286 B

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<line x1="18" y1="2" x2="22" y2="6" />
<path d="M7.5 20.5L19 9l-4-4L3.5 16.5 2 22l5.5-1.5z" />
<path d="M7.5 20.5L19 9l-4-4L3.5 16.5 2 22z" />
</svg>

Before

Width:  |  Height:  |  Size: 307 B

After

Width:  |  Height:  |  Size: 299 B

15
icons/pin.svg Normal file
View 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="M12 21v-7" />
<path d="M9 3v5l-2 4v2h10m0 0h-5m5 0v-2l-2-4V3" />
<path d="M7 3h10" />
</svg>

After

Width:  |  Height:  |  Size: 309 B

17
icons/scan-line.svg Normal file
View 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="M3 7V5a2 2 0 012-2h2" />
<path d="M17 3h2a2 2 0 012 2v2" />
<path d="M21 17v2a2 2 0 01-2 2h-2" />
<path d="M7 21H5a2 2 0 01-2-2v-2" />
<line x1="7" y1="12" x2="17" y2="12" />
</svg>

After

Width:  |  Height:  |  Size: 402 B

16
icons/scan.svg Normal file
View 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="M3 7V5a2 2 0 012-2h2" />
<path d="M17 3h2a2 2 0 012 2v2" />
<path d="M21 17v2a2 2 0 01-2 2h-2" />
<path d="M7 21H5a2 2 0 01-2-2v-2" />
</svg>

After

Width:  |  Height:  |  Size: 360 B

View File

@@ -9,12 +9,12 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z" />
<path d="M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" />
<path d="M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z" />
<path d="M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z" />
<path d="M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z" />
<path d="M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z" />
<path d="M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z" />
<path d="M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z" />
<rect x="13" y="2" width="3" height="8" rx="1.5" />
<path d="M19 8.5v1.5h1.5a1.5 1.5 0 1 0-1.5-1.5" />
<rect x="8" y="14" width="3" height="8" rx="1.5" />
<path d="M5 15.5v-1.5h-1.5a1.5 1.5 0 1 0 1.5 1.5" />
<rect x="14" y="13" width="8" height="3" rx="1.5" />
<path d="M15.5 19h-1.5v1.5a1.5 1.5 0 1 0 1.5-1.5" />
<rect x="2" y="8" width="8" height="3" rx="1.5" />
<path d="M8.5 5h1.5v-1.5a1.5 1.5 0 1 0-1.5 1.5" />
</svg>

Before

Width:  |  Height:  |  Size: 974 B

After

Width:  |  Height:  |  Size: 640 B

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-angular",
"description": "A Lucide icon library package for Angular applications",
"version": "0.16.12",
"version": "0.16.22",
"author": "SMAH1",
"license": "ISC",
"homepage": "https://lucide.dev",
@@ -44,7 +44,6 @@
"@angular/core": "~11.2.14",
"@angular/platform-browser": "~11.2.14",
"@angular/platform-browser-dynamic": "~11.2.14",
"ng-packagr": "^11.2.4",
"@types/jasmine": "~3.10.2",
"@types/node": "^16.11.7",
"codelyzer": "^6.0.2",
@@ -55,6 +54,7 @@
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.1",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^11.2.4",
"protractor": "~7.0.0",
"puppeteer": "^8.0.0",
"ts-node": "~10.4.0",

View File

@@ -1,6 +1,6 @@
name: lucide_icons
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
version: 0.16.12
version: 0.16.22
homepage: https://lucide.dev
repository: https://github.com/lucide-icons/lucide

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-preact",
"description": "A Lucide icon library package for Preact applications",
"version": "0.16.12",
"version": "0.16.22",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-react",
"description": "A Lucide icon library package for React applications",
"version": "0.16.12",
"version": "0.16.22",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-vue-next",
"version": "0.16.18",
"version": "0.16.22",
"author": "Eric Fennis",
"description": "A Lucide icon library package for Vue 3 applications",
"license": "ISC",

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-vue",
"version": "0.16.12",
"version": "0.16.22",
"author": "Eric Fennis",
"description": "A Lucide icon library package for Vue 2 applications",
"license": "ISC",

View File

@@ -1,7 +1,7 @@
{
"name": "lucide",
"description": "A Lucide icon library package for web and javascript applications.",
"version": "0.16.12",
"version": "0.16.22",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -56,16 +56,22 @@ const cliArguments = getArgumentOptions(process.argv.slice(2));
const pullNumber = /(.*)\((#[0-9]*)\)/gm.exec(pr.commit.message);
const nameRegex = /^\/?(.+\/)*(.+)\.(.+)$/g.exec(filename);
if (!pr.author) {
// Most likely bot commit
return null;
}
return {
filename,
name: nameRegex && nameRegex[2] ? nameRegex[2] : null,
title: pullNumber && pullNumber[1] ? pullNumber[1].trim() : null,
pullNumber: pullNumber && pullNumber[2] ? pullNumber[2].trim() : null,
author: pr.author.login,
author: pr.author?.login || 'unknown',
sha,
status,
};
})
.filter(Boolean)
.filter(({ pullNumber }) => !!pullNumber);
const changelog = topics.map(({ title, filter, template }) => {
@@ -84,4 +90,7 @@ const cliArguments = getArgumentOptions(process.argv.slice(2));
} catch (error) {
throw new Error(error);
}
})();
})().catch(error => {
console.error(error);
process.exit(1);
});

View File

@@ -41,8 +41,15 @@ export default {
{ alt: 'npm', src: 'https://img.shields.io/npm/dw/lucide-angular', href: "https://www.npmjs.com/package/lucide-angular" }
]
},
'lucide-flutter': {
'lucide-static': {
order: 6,
shields: [
{ alt: 'npm', src: 'https://img.shields.io/npm/v/lucide-static', href: "https://www.npmjs.com/package/lucide-static" },
{ alt: 'npm', src: 'https://img.shields.io/npm/dw/lucide-static', href: "https://www.npmjs.com/package/lucide-static" }
]
},
'lucide-flutter': {
order: 7,
shields: [
{ alt: 'flutter', src: 'https://img.shields.io/pub/v/lucide_icons', href: "https://pub.dev/packages/lucide_icons" },
]

View File

@@ -1 +0,0 @@
<svg/>

Before

Width:  |  Height:  |  Size: 6 B

View File

@@ -104,6 +104,13 @@
"arrow-left-circle": [
"direction"
],
"arrow-left-right": [
"bidirection",
"direction",
"swap",
"switch",
"transaction"
],
"arrow-right": [
"direction"
],
@@ -1483,6 +1490,12 @@
"statistics",
"diagram"
],
"pin": [
"save",
"map",
"lock",
"fix"
],
"piggy-bank": [
"money",
"savings"