Compare commits
192 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ec9cc3dcf | ||
|
|
01fa96ced3 | ||
|
|
481b27cc49 | ||
|
|
c5df7e73c6 | ||
|
|
428088436d | ||
|
|
eec2c97595 | ||
|
|
f0529b9ef7 | ||
|
|
0c216b41c5 | ||
|
|
ac892e5476 | ||
|
|
38f62a571c | ||
|
|
507750d0a7 | ||
|
|
33a0ed9539 | ||
|
|
37cb860ebe | ||
|
|
bd74ac880e | ||
|
|
e81b76f445 | ||
|
|
c50c0e435b | ||
|
|
afd2db296c | ||
|
|
175b2cd483 | ||
|
|
716c5baea0 | ||
|
|
890474889a | ||
|
|
e596cd2bad | ||
|
|
d4641a4641 | ||
|
|
3e3409cee2 | ||
|
|
477f2b2aff | ||
|
|
000ff56278 | ||
|
|
7117220943 | ||
|
|
f820da257d | ||
|
|
de629f0fcc | ||
|
|
8f7e9b3cde | ||
|
|
4e79f147cf | ||
|
|
3482cd0949 | ||
|
|
701f2a1a41 | ||
|
|
79f5c6e584 | ||
|
|
02fddd3aac | ||
|
|
7816ed88f6 | ||
|
|
9c2d57b0dc | ||
|
|
6d9a0c3d63 | ||
|
|
6f647c58bf | ||
|
|
41375d5b05 | ||
|
|
11ce2b6ff3 | ||
|
|
cc7881e759 | ||
|
|
bf530d39d3 | ||
|
|
71e8df6354 | ||
|
|
cafd2a838b | ||
|
|
e16f368502 | ||
|
|
d38509a03d | ||
|
|
6550e22874 | ||
|
|
22193420c7 | ||
|
|
70827d4571 | ||
|
|
7d980f6cc1 | ||
|
|
67131489c8 | ||
|
|
ebf03a5434 | ||
|
|
8fda42c719 | ||
|
|
b17627b82d | ||
|
|
84ec1620a8 | ||
|
|
a87ae2a92b | ||
|
|
f35f45c7b3 | ||
|
|
c9a418dfc4 | ||
|
|
70be608a58 | ||
|
|
db311ab023 | ||
|
|
cac81636fb | ||
|
|
4b225a2e80 | ||
|
|
8aac1c7ba6 | ||
|
|
d513a2b9df | ||
|
|
204a418643 | ||
|
|
36039d8bdc | ||
|
|
49bd49b843 | ||
|
|
4679ff791d | ||
|
|
bfab755958 | ||
|
|
63aa17a001 | ||
|
|
db6194369d | ||
|
|
29c952fdaf | ||
|
|
637e285c52 | ||
|
|
d6ee5d963c | ||
|
|
97d02ec6e5 | ||
|
|
f5be205fc9 | ||
|
|
f2e0da9bb1 | ||
|
|
2ca852fc7d | ||
|
|
a64215bb25 | ||
|
|
6d975609c4 | ||
|
|
13b9c1fadb | ||
|
|
dcf396f1e3 | ||
|
|
debf9b77c1 | ||
|
|
d30f3fe0c5 | ||
|
|
7d0f9996e6 | ||
|
|
c263c8baee | ||
|
|
c61207c0ac | ||
|
|
ec5327b870 | ||
|
|
61d3c6f452 | ||
|
|
d777895135 | ||
|
|
846a74ef50 | ||
|
|
3901a12d78 | ||
|
|
f9c49d9973 | ||
|
|
08b04f84b7 | ||
|
|
f3a97ed59e | ||
|
|
01663fb90b | ||
|
|
97aec42fb2 | ||
|
|
05eaf17ef9 | ||
|
|
e4d3a74434 | ||
|
|
de6b172e0a | ||
|
|
348628329d | ||
|
|
38d5093b1d | ||
|
|
3014d0aa32 | ||
|
|
a418010baa | ||
|
|
329d75a2c1 | ||
|
|
2482416aef | ||
|
|
11d7b48d70 | ||
|
|
5cbf9363cf | ||
|
|
92531a8a86 | ||
|
|
c67655d402 | ||
|
|
edc614bf43 | ||
|
|
ded24ab61f | ||
|
|
b626e91d7c | ||
|
|
a68ea8c33e | ||
|
|
4fd815a46c | ||
|
|
0e180515a3 | ||
|
|
5dbae5df45 | ||
|
|
bcad75bddd | ||
|
|
78a0640832 | ||
|
|
05ea32948c | ||
|
|
2e11931d2b | ||
|
|
689b3e1d83 | ||
|
|
8ec672bd86 | ||
|
|
c096bf2325 | ||
|
|
a796cb105d | ||
|
|
e4ac2cc4e9 | ||
|
|
2ee208652f | ||
|
|
d0826259d1 | ||
|
|
3acbfb428b | ||
|
|
250bd20199 | ||
|
|
221e213292 | ||
|
|
1e48aecbfe | ||
|
|
7a6dc5b2f7 | ||
|
|
7f6999fee7 | ||
|
|
08c1bc68da | ||
|
|
930260aab5 | ||
|
|
96473f7f7d | ||
|
|
f620c85e3b | ||
|
|
f4a8f3d0d8 | ||
|
|
36725eeed9 | ||
|
|
ee7ee203e6 | ||
|
|
7a26dddbcb | ||
|
|
408c683a13 | ||
|
|
546cf61a2e | ||
|
|
a7496aa454 | ||
|
|
93cfd3d27d | ||
|
|
76ce22ef14 | ||
|
|
873997b48e | ||
|
|
03276eee9d | ||
|
|
cf5aa0534b | ||
|
|
cccf89e7bb | ||
|
|
2d4676160b | ||
|
|
6346d80ee7 | ||
|
|
e983ccf974 | ||
|
|
f0fe196872 | ||
|
|
85eaa5fc50 | ||
|
|
6a7732077a | ||
|
|
c1c0f99d65 | ||
|
|
ee2bfaff0d | ||
|
|
9370449d7e | ||
|
|
244a5a396e | ||
|
|
2396a53bad | ||
|
|
07a78731a5 | ||
|
|
4e2449dc9f | ||
|
|
f02067ea55 | ||
|
|
57a72cbb38 | ||
|
|
0baf1a49ef | ||
|
|
0879262bdb | ||
|
|
9a41d931e9 | ||
|
|
7c111a53e1 | ||
|
|
7209ed3fcd | ||
|
|
e85dffa9b4 | ||
|
|
0c3d6cd097 | ||
|
|
72c25a9936 | ||
|
|
5226c326f8 | ||
|
|
de2e3036c0 | ||
|
|
8adeb025a6 | ||
|
|
22ffb58649 | ||
|
|
278309fe55 | ||
|
|
bcbae1e406 | ||
|
|
1173134099 | ||
|
|
894993478f | ||
|
|
36f84a74f6 | ||
|
|
1479a9dbd8 | ||
|
|
2485f6117a | ||
|
|
0bbaaa8abd | ||
|
|
a82af02687 | ||
|
|
a5be1b4101 | ||
|
|
639c0e8d85 | ||
|
|
b863445492 | ||
|
|
8c4a41035b | ||
|
|
4a55ae4b91 |
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
pnpm run checkIcons
|
|
||||||
exit $?
|
|
||||||
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
open_collective: lucide-icons
|
||||||
6
.github/PULL_REQUEST_TEMPLATE/new-icon.md
vendored
@@ -5,11 +5,11 @@ labels: "🎨 <icon"
|
|||||||
---
|
---
|
||||||
|
|
||||||
<!-- Thanks for submitting an icon! Please make sure you read the icon design guide
|
<!-- Thanks for submitting an icon! Please make sure you read the icon design guide
|
||||||
at https://github.com/lucide-icons/lucide/blob/main/docs/ICON_DESIGN_GUIDE.md beforehand,
|
at https://github.com/lucide-icons/lucide/blob/main/docs/icon-design-guide.md beforehand,
|
||||||
and please fill everything below. -->
|
and please fill everything below. -->
|
||||||
|
|
||||||
- **Name of the icon** : <!-- `icon` -->
|
- **Name of the icon** : <!-- `icon` -->
|
||||||
- **Tags (alternative names for this icon)** (add them in tags.json) :
|
- **Tags (alternative names for this icon)** (add them in as a separate json file using the same icon name) :
|
||||||
- **What is the purpose of this icon?** : <!-- Shows that one can click it to... / Is used to denote or label... -->
|
- **What is the purpose of this icon?** : <!-- Shows that one can click it to... / Is used to denote or label... -->
|
||||||
- **100% scale preview** : <!-- upload an image -->
|
- **100% scale preview** : <!-- upload an image -->
|
||||||
- **Have you considered alternative possibilities** for its naming or design? :
|
- **Have you considered alternative possibilities** for its naming or design? :
|
||||||
|
|||||||
41
.github/actions/check-icons.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
name: "Check icons"
|
||||||
|
description: "Cross-checks icon and category references in JSON descriptors"
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
name:
|
||||||
|
description: “Name of the package”
|
||||||
|
required: true
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
|
name: Install pnpm
|
||||||
|
id: pnpm-install
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
|
||||||
|
- name: Get pnpm store directory
|
||||||
|
id: pnpm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
name: Setup pnpm cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
||||||
|
key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-lucide-preact-pnpm-store-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --filter .
|
||||||
|
|
||||||
|
- name: Check icons and categories
|
||||||
|
run: pnpm checkIcons
|
||||||
2
.github/workflows/ci.yml
vendored
@@ -5,7 +5,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- icons/**
|
- icons/**/*.svg
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-release:
|
create-release:
|
||||||
|
|||||||
57
.github/workflows/pull-request.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
name: Add Changed Icons comment
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
paths:
|
||||||
|
- 'icons/*.svg'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
add-changed-icons-comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||||
|
- name: Get changed files
|
||||||
|
id: changed-files
|
||||||
|
uses: tj-actions/changed-files@v35
|
||||||
|
with:
|
||||||
|
files: icons/*.svg
|
||||||
|
- name: Generate comment
|
||||||
|
id: generate-comment
|
||||||
|
run: |
|
||||||
|
delimiter="$(openssl rand -hex 8)"
|
||||||
|
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||||
|
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
|
||||||
|
cat "$file" | # get file content
|
||||||
|
tr '\n' ' ' | # remove line breaks
|
||||||
|
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||||
|
base64 -w 0 | # encode svg
|
||||||
|
sed "s|.*|<img width=\"400\" title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/$(basename ${file//\.svg/})/&.svg\"/> |"
|
||||||
|
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||||
|
echo >> $GITHUB_OUTPUT
|
||||||
|
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||||
|
- name: Find Comment
|
||||||
|
uses: peter-evans/find-comment@v2
|
||||||
|
id: fc
|
||||||
|
with:
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
comment-author: 'github-actions[bot]'
|
||||||
|
body-includes: Added or changed icons
|
||||||
|
- name: Create or update comment
|
||||||
|
uses: peter-evans/create-or-update-comment@v2
|
||||||
|
with:
|
||||||
|
comment-id: ${{ steps.fc.outputs.comment-id }}
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
body: |
|
||||||
|
### Added or changed icons
|
||||||
|
<details>
|
||||||
|
<summary>Icon X-rays</summary>
|
||||||
|
${{ steps.generate-comment.outputs.body }}
|
||||||
|
</details>
|
||||||
|
edit-mode: replace
|
||||||
2
.gitignore
vendored
@@ -18,3 +18,5 @@ packages/**/src/icons/*.ts
|
|||||||
packages/**/src/icons/*.tsx
|
packages/**/src/icons/*.tsx
|
||||||
packages/**/src/aliases.ts
|
packages/**/src/aliases.ts
|
||||||
packages/**/LICENSE
|
packages/**/LICENSE
|
||||||
|
categories.json
|
||||||
|
tags.json
|
||||||
|
|||||||
5
.husky/pre-commit
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
. "$(dirname -- "$0")/_/husky.sh"
|
||||||
|
|
||||||
|
pnpm lint-staged
|
||||||
|
pnpm checkIcons
|
||||||
15
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "pwa-chrome",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch Chrome against localhost",
|
||||||
|
"url": "http://localhost:8080",
|
||||||
|
"webRoot": "${workspaceFolder}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
7
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"cSpell.words": [
|
||||||
|
"devs",
|
||||||
|
"preact",
|
||||||
|
"Preact"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -25,28 +25,21 @@ Guidelines for pull requests:
|
|||||||
|
|
||||||
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide.
|
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide.
|
||||||
|
|
||||||
Read it here: [ICON_GUIDELINES](docs/ICON_DESIGN_GUIDE.md).
|
Read it here: [ICON_GUIDELINES](/docs/icon-design-guide.md).
|
||||||
|
|
||||||
### Templates
|
### Editor guides
|
||||||
|
|
||||||
Here you can find templates and instructions on how to implement the guidelines with different programs.
|
Here you can find instructions on how to implement the guidelines with different vector graphics editors:
|
||||||
|
|
||||||
#### Adobe Illustrator
|
#### [Adobe Illustrator Guide](/docs/illustrator-guide.md)
|
||||||
|
|
||||||
`Template`: You can find a template for Adobe Illustrator under `/docs/templates/illustrator-template.ai`.
|
You can also [download an Adobe Illustrator template](/docs/templates/illustrator-template.ai).
|
||||||
`Instructions`: You can find the [Illustrator Guide](/docs/ILLUSTRATOR_GUIDE.md) and how to work with the template in `/docs/ILLUSTRATOR_GUIDE.md`.
|
|
||||||
|
|
||||||
#### Inkscape
|
#### [Inkscape Guide](/docs/inkscape-guide.md)
|
||||||
|
|
||||||
`Template`: None
|
#### [Figma Guide](/docs/figma-guide.md)
|
||||||
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
|
|
||||||
|
|
||||||
#### Figma
|
### Submitting Multiple Icons
|
||||||
|
|
||||||
`Template`: None
|
|
||||||
`Instructions`: You can find the [Figma Guide](/docs/FIGMA_GUIDE.md) and how to set up Figma under `/docs/FIGMA_GUIDE.md`.
|
|
||||||
|
|
||||||
#### Submitting Multiple Icons
|
|
||||||
|
|
||||||
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
|
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
|
||||||
So don't submit multiple icons in one PR that have noting to do with each other.
|
So don't submit multiple icons in one PR that have noting to do with each other.
|
||||||
@@ -66,13 +59,13 @@ If you are a designer who wants to contribute to Lucide but you don't know what
|
|||||||
## Development
|
## Development
|
||||||
|
|
||||||
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
|
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
|
||||||
For packagemanagement you will need [yarn v1](https://yarnpkg.com/getting-started/install).
|
For package management you will need [PNPM](https://pnpm.io/installation).
|
||||||
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).
|
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).
|
||||||
|
|
||||||
After cloning the project you need to run:
|
After cloning the project you need to run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
yarn # Install dependencies, including the workspace packages
|
pnpm install # Install dependencies, including the workspace packages
|
||||||
```
|
```
|
||||||
|
|
||||||
### Packages -> PNPM Workspaces
|
### Packages -> PNPM Workspaces
|
||||||
@@ -80,6 +73,7 @@ yarn # Install dependencies, including the workspace packages
|
|||||||
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces).
|
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces).
|
||||||
|
|
||||||
The configured directory for workspaces is the [packages](./packages) directory, located in the root directory. There you will find all the current packages from lucide.
|
The configured directory for workspaces is the [packages](./packages) directory, located in the root directory. There you will find all the current packages from lucide.
|
||||||
|
There are more workspaces defined, see [`pnpm-workspace.yaml`](./pnpm-workspace.yaml).
|
||||||
|
|
||||||
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
|
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
|
||||||
|
|
||||||
|
|||||||
1558
categories.json
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../category.schema.json",
|
|
||||||
"title": "Coding",
|
|
||||||
"icon": "code-2"
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../category.schema.json",
|
"$schema": "../category.schema.json",
|
||||||
"title": "Development",
|
"title": "Coding & development",
|
||||||
"icon": "git-pull-request"
|
"icon": "code-2"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
"$schema": "../category.schema.json",
|
"$schema": "../category.schema.json",
|
||||||
"title": "Text formatting",
|
"title": "Text formatting",
|
||||||
"icon": "type"
|
"icon": "type"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"$ref": "#/$defs/types/icon-reference"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"weight": {
|
"weight": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ To do this, create a frame of 24x24 pixels.
|
|||||||
|
|
||||||
In this newly created frame, you will create your icon. If you want, you can change the name of your frame to the name of the icon you are going to create. Then it will be exported as `FRAME-NAME.svg`.
|
In this newly created frame, you will create your icon. If you want, you can change the name of your frame to the name of the icon you are going to create. Then it will be exported as `FRAME-NAME.svg`.
|
||||||
|
|
||||||
## Create your icon
|
## Create Your icon
|
||||||
To design your icon in the style of Feather Icons, you need to adjust a few settings in Figma.
|
To design your icon in the style of Feather Icons, you need to adjust a few settings in Figma.
|
||||||
|
|
||||||
Draw in your new frame with the pen tool. You can open it with the window at the top, or with the shortcut `P`. Once you click in your frame, you can adjust the settings for the pen tool in the design-window on the right.
|
Draw in your new frame with the pen tool. You can open it with the window at the top, or with the shortcut `P`. Once you click in your frame, you can adjust the settings for the pen tool in the design-window on the right.
|
||||||
@@ -26,19 +26,26 @@ Set the following:
|
|||||||
1. Corner radius: 2px
|
1. Corner radius: 2px
|
||||||
2. Stroke
|
2. Stroke
|
||||||
1. Stroke width: 2px
|
1. Stroke width: 2px
|
||||||
2. Stroke alignment: center
|
2. Stroke alignment: center
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Export Your Icon
|
## Export Or Copy Your Icon
|
||||||
Once you have completed your icon, you can export it.
|
Once you have completed your icon, you can export it.
|
||||||
|
|
||||||
1. Select the frame
|
1. Select the frame
|
||||||
2. Open the *Export* tab on the right
|
2. Open the *Export* tab on the right
|
||||||
3. Set the file type as SVG
|
3. Set the file type as SVG
|
||||||
4. Press export
|
4. Press export
|
||||||
|
|
||||||
|
Or you can also copy its source as SVG.
|
||||||
|
|
||||||
|
1. Select the frame
|
||||||
|
2. Right click it
|
||||||
|
3. Click on *Copy/Paste as*
|
||||||
|
4. Click on *Copy as SVG*
|
||||||
|
|
||||||
That's it. You just made your first icon. Congratulations!
|
That's it. You just made your first icon. Congratulations!
|
||||||
|
|
||||||
## Figma Tips
|
## Figma Tips
|
||||||
1. The [Icon Design Guidelines](ICON_DESIGN_GUIDE.md) dictate that you keep 2px spacing between detached elements. In Figma, you can easily check this with: `⌥` Option (MacOS) or `Alt` (Windows).
|
1. The [Icon Design Guidelines](icon-design-guide.md) dictate that you keep 2px spacing between detached elements. In Figma, you can easily check this with: `⌥` Option (MacOS) or `Alt` (Windows).
|
||||||
@@ -55,6 +55,8 @@ Here are rules that should be followed to keep quality and consistency when maki
|
|||||||
|
|
||||||
Before an icon is added to the library, we like to have readable and optimized svg code.
|
Before an icon is added to the library, we like to have readable and optimized svg code.
|
||||||
|
|
||||||
|
Never use [`<use>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use). While it may sometimes seem like a good way to optimize file size, there's no way to ensure that the referenced element IDs will be unique once the SVGs are embedded in HTML documents.
|
||||||
|
|
||||||
### Global Attributes
|
### Global Attributes
|
||||||
|
|
||||||
For each icon these attributes are applied, corresponding to the above rules.
|
For each icon these attributes are applied, corresponding to the above rules.
|
||||||
@@ -80,3 +82,21 @@ For each icon these attributes are applied, corresponding to the above rules.
|
|||||||
Code of paths can get really big.
|
Code of paths can get really big.
|
||||||
To reduce file size we like to minify the code.
|
To reduce file size we like to minify the code.
|
||||||
We recommend to use the [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths.
|
We recommend to use the [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths.
|
||||||
|
|
||||||
|
### JSON metadata descriptor
|
||||||
|
|
||||||
|
Each icon added must also come with a matching JSON file listing tags and categories for the icon.
|
||||||
|
Please use the following template:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"foo",
|
||||||
|
"bar"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"devices"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -10,15 +10,15 @@ This Guide explains how to properly use the Adobe Illustrator Template for Lucid
|
|||||||
|
|
||||||
## General Workflow
|
## General Workflow
|
||||||
|
|
||||||
The Illustrator template is created following guidelines from the [Icon Design Guide](ICON_DESIGN_GUIDE.md).
|
The Illustrator template is created following guidelines from the [Icon Design Guide](icon-design-guide.md).
|
||||||
|
|
||||||
**Workflow:**
|
**Workflow:**
|
||||||
|
|
||||||
1. Open the Document which can be found under __*/docs/templates/illustrator_template.ai*__ .
|
1. Download and open the [Illustrator template](https://github.com/lucide-icons/lucide/blob/main/docs/templates/illustrator_template.ai).
|
||||||
|
|
||||||
2. You can now remove the content from the example logo layer ("Draw") and start creating.
|
2. You can now remove the content from the example logo layer ("Draw") and start creating.
|
||||||
|
|
||||||
3. Verify that you follow the [Icon Design Guidelines](ICON_DESIGN_GUIDE.md).
|
3. Verify that you follow the [Icon Design Guidelines](icon-design-guide.md).
|
||||||
|
|
||||||
4. Before you export the file as an SVG make sure to check that you followed the guidelines and remove all unecessary layers (especially "Padding" and "Grid").
|
4. Before you export the file as an SVG make sure to check that you followed the guidelines and remove all unecessary layers (especially "Padding" and "Grid").
|
||||||
|
|
||||||
@@ -26,6 +26,6 @@ The Illustrator template is created following guidelines from the [Icon Design G
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
After that, double check that the [code conventions and SVG global attributes](https://github.com/lucide-icons/lucide/blob/main/docs/ICON_DESIGN_GUIDE.md#code-conventions) are correct.
|
After that, double check that the [code conventions and SVG global attributes](icon-design-guide.md#code-conventions) are correct.
|
||||||
|
|
||||||
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
||||||
@@ -8,7 +8,7 @@ nextPage:
|
|||||||
# Introduction
|
# Introduction
|
||||||
Lucide is an open source icon library for displaying icons and symbols in digital and non-digital projects. It consists of 850+ Vector (svg) files. To use these icons, lucide provides several official packages to make it easier to use these icons in projects.
|
Lucide is an open source icon library for displaying icons and symbols in digital and non-digital projects. It consists of 850+ Vector (svg) files. To use these icons, lucide provides several official packages to make it easier to use these icons in projects.
|
||||||
|
|
||||||
Lucide contains icons with different variants and states. With that, designers and developers can choose the right icon for themselves. If a desired icon doesn't exist yet, you're free to open a design request. The Lucide community contributors will help to provide new icons.
|
Lucide contains icons with different variants and states. With that, designers and developers can choose the right icon for themselves. If a desired icon doesn't exist yet, you're free to open a design request. The Lucide community contributors will help to provide new icons.
|
||||||
|
|
||||||
With more icons, we simply have more icons to work with in our projects. Also with rising of new applications with specific features, lucide has the goal to provide the complete set for your project.
|
With more icons, we simply have more icons to work with in our projects. Also with rising of new applications with specific features, lucide has the goal to provide the complete set for your project.
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ When designing new icons, the community is working with a set of design rules. T
|
|||||||
|
|
||||||
Beside design, code is also important. Assets like icons in, for example, web projects can increase the bandwidth usage significantly. With the growing internet, lucide has the responsibility to keep their assets as small as possible. To achieve this, lucide uses SVG compression and specific code architecture for tree-shaking abilities. After tree-shaking, you will only ship the icons you used, helps you to keep the software distribution size to a minimum.
|
Beside design, code is also important. Assets like icons in, for example, web projects can increase the bandwidth usage significantly. With the growing internet, lucide has the responsibility to keep their assets as small as possible. To achieve this, lucide uses SVG compression and specific code architecture for tree-shaking abilities. After tree-shaking, you will only ship the icons you used, helps you to keep the software distribution size to a minimum.
|
||||||
|
|
||||||
Lucide provides several official packages for: [Web (Vanilla)](https://lucide.dev/docs/lucide), [React](https://lucide.dev/docs/lucide-react), [React Native](https://lucide.dev/docs/lucide-react-native), [Vue](https://lucide.dev/docs/lucide-vue), [Vue 3](https://lucide.dev/docs/lucide-vue-next), [Svelte](https://lucide.dev/docs/lucide-svelte),[Preact](https://lucide.dev/docs/lucide-preact), [Angular](https://lucide.dev/docs/lucide-angular), [NodeJS](https://lucide.dev/docs/lucide-static#nodejs) and [Flutter](https://lucide.dev/docs/lucide-flutter).
|
Lucide provides several official packages for: [Web (Vanilla)](https://lucide.dev/docs/lucide), [React](https://lucide.dev/docs/lucide-react), [React Native](https://lucide.dev/docs/lucide-react-native), [Vue](https://lucide.dev/docs/lucide-vue), [Vue 3](https://lucide.dev/docs/lucide-vue-next), [Svelte](https://lucide.dev/docs/lucide-svelte), [Solid](https://lucide.dev/docs/lucide-solid), [Preact](https://lucide.dev/docs/lucide-preact), [Angular](https://lucide.dev/docs/lucide-angular), [NodeJS](https://lucide.dev/docs/lucide-static#nodejs) and [Flutter](https://lucide.dev/docs/lucide-flutter).
|
||||||
|
|
||||||
Any questions about lucide? Ask the community. Active on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
Any questions about lucide? Ask the community. Active on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ or
|
|||||||
yarn add lucide
|
yarn add lucide
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide).
|
For more details, see the [documentation](packages/lucide.md).
|
||||||
|
|
||||||
## React
|
## React
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ or
|
|||||||
npm install lucide-react
|
npm install lucide-react
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-react).
|
For more details, see the [documentation](packages/lucide-react.md).
|
||||||
|
|
||||||
## Vue 2
|
## Vue 2
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ or
|
|||||||
npm install lucide-vue
|
npm install lucide-vue
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-vue).
|
For more details, see the [documentation](packages/lucide-vue.md).
|
||||||
|
|
||||||
## Vue 3
|
## Vue 3
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ or
|
|||||||
npm install lucide-vue-next
|
npm install lucide-vue-next
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-vue-next).
|
For more details, see the [documentation](packages/lucide-vue-next.md).
|
||||||
|
|
||||||
## Svelte
|
## Svelte
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ or
|
|||||||
npm install lucide-svelte
|
npm install lucide-svelte
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-svelte).
|
For more details, see the [documentation](packages/lucide-svelte.md).
|
||||||
|
|
||||||
## Angular
|
## Angular
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ or
|
|||||||
npm install lucide-angular
|
npm install lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-angular).
|
For more details, see the [documentation](packages/lucide-angular.md).
|
||||||
|
|
||||||
## Preact
|
## Preact
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ or
|
|||||||
npm install lucide-preact
|
npm install lucide-preact
|
||||||
```
|
```
|
||||||
|
|
||||||
For more details, see the [documentation](packages/lucide-preact).
|
For more details, see the [documentation](packages/lucide-preact.md).
|
||||||
|
|
||||||
## Figma
|
## Figma
|
||||||
|
|
||||||
|
|||||||
@@ -1,154 +1,109 @@
|
|||||||
# Lucide Angular
|
# Lucide Angular
|
||||||
|
|
||||||
Implementation of the lucide icon library for angular applications.
|
Implementation of the lucide icon library for Angular applications.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```bash
|
||||||
yarn add lucide-angular
|
yarn add lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
```sh
|
```bash
|
||||||
npm install lucide-angular
|
npm install lucide-angular
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
There are three ways for use this library.
|
### Step 1: Import `LucideAngularModule`
|
||||||
|
|
||||||
### Method 1: createElement
|
In any Angular module you wish to use Lucide icons in, you have to import `LucideAngularModule`, and pick any icons you wish to use:
|
||||||
|
|
||||||
After install `lucide-angular` change content of file `app.component.html` and `app.component.ts`.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<!-- app.component.html -->
|
|
||||||
<div id="lucide-icon"></div>
|
|
||||||
```
|
|
||||||
|
|
||||||
```js
|
```js
|
||||||
// app.component.ts
|
import { LucideAngularModule, File, Home, Menu, UserCheck } from 'lucide-angular';
|
||||||
|
|
||||||
import { Component, OnInit } from '@angular/core';
|
|
||||||
import { createElement } from 'lucide-angular';
|
|
||||||
import { Activity } from 'lucide-angular/icons';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'app-root',
|
|
||||||
templateUrl: './app.component.html',
|
|
||||||
styleUrls: ['./app.component.css']
|
|
||||||
})
|
|
||||||
export class AppComponent implements OnInit {
|
|
||||||
ngOnInit(): void {
|
|
||||||
const div = document.getElementById('lucide-icon');
|
|
||||||
const elm = createElement(Activity);
|
|
||||||
elm.setAttribute('color', 'red'); // or set `width`, `height`, `fill`, `stroke-width`, ...
|
|
||||||
|
|
||||||
if (div) {
|
|
||||||
div.appendChild(elm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Method 2: User **Tag** with **name** property
|
|
||||||
|
|
||||||
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
|
|
||||||
|
|
||||||
```js
|
|
||||||
// app.module.ts
|
|
||||||
import { NgModule } from '@angular/core';
|
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
|
||||||
|
|
||||||
import { AppRoutingModule } from './app-routing.module';
|
|
||||||
import { AppComponent } from './app.component';
|
|
||||||
import { LucideAngularModule, AlarmCheck, Edit } from 'lucide-angular';
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent],
|
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
LucideAngularModule.pick({File, Home, Menu, UserCheck})
|
||||||
AppRoutingModule,
|
]
|
||||||
LucideAngularModule.pick({ AlarmCheck, Edit }) // add all of icons that is imported.
|
|
||||||
],
|
|
||||||
providers: [],
|
|
||||||
bootstrap: [AppComponent]
|
|
||||||
})
|
})
|
||||||
export class AppModule {}
|
export class AppModule { }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Step 2: Use the icons in templates
|
||||||
|
|
||||||
|
Within your templates you may now use one of the following component tags to insert an icon:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!-- app.component.html -->
|
<lucide-angular name="file" class="my-icon"></lucide-angular>
|
||||||
<lucide-icon name="alarm-check" class="myicon"></lucide-icon>
|
<lucide-icon name="home" class="my-icon"></lucide-icon>
|
||||||
<lucide-icon name="edit" class="myicon"></lucide-icon>
|
<i-lucide name="menu" class="my-icon"></i-lucide>
|
||||||
|
<span-lucide name="user-check" class="my-icon"></span-lucide>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Method 3: User **Tag** with **img** property
|
### Props
|
||||||
|
|
||||||
After install `lucide-angular` change content of file `app.component.html`, `app.component.ts`, `app.component.css` and `app.module.ts`.
|
You can pass additional props to adjust the icon appearance.
|
||||||
|
|
||||||
```js
|
| name | type | default |
|
||||||
// app.module.ts
|
| --------------------- | --------- | ------------ |
|
||||||
import { NgModule } from '@angular/core';
|
| `size` | *number* | 24 |
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
| `color` | *string* | currentColor |
|
||||||
|
| `strokeWidth` | *number* | 2 |
|
||||||
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
|
||||||
import { AppRoutingModule } from './app-routing.module';
|
```html
|
||||||
import { AppComponent } from './app.component';
|
<i-lucide name="home" [size]="48" color="red" [strokeWidth]="1"></i-lucide>
|
||||||
import { LucideAngularModule } from 'lucide-angular';
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
declarations: [AppComponent],
|
|
||||||
imports: [BrowserModule, AppRoutingModule, LucideAngularModule.pick({})],
|
|
||||||
providers: [],
|
|
||||||
bootstrap: [AppComponent]
|
|
||||||
})
|
|
||||||
export class AppModule {}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
```xml
|
### Global configuration
|
||||||
<!-- app.component.html -->
|
|
||||||
<lucide-icon [img]="ico1" class="myicon"></lucide-icon>
|
|
||||||
<lucide-icon [img]="ico2" class="myicon"></lucide-icon>
|
|
||||||
```
|
|
||||||
|
|
||||||
```js
|
You can inject the `LucideIconConfig` service in your root component to globally configure the default property values as defined above.
|
||||||
// app.component.ts
|
|
||||||
import { Component } from '@angular/core';
|
|
||||||
import { Airplay, Circle } from 'lucide-angular';
|
|
||||||
|
|
||||||
@Component({
|
### Styling using a custom CSS class
|
||||||
selector: 'app-root',
|
|
||||||
templateUrl: './app.component.html',
|
Any extra HTML attribute is ignored, but the `class` attribute
|
||||||
styleUrls: ['./app.component.css']
|
is passed onto the internal SVG image element and it can be used to style it:
|
||||||
})
|
|
||||||
export class AppComponent {
|
```css
|
||||||
ico1 = Airplay;
|
svg.my-icon {
|
||||||
ico2 = Circle;
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
stroke-width: 3;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## Injecting multiple icon providers
|
||||||
|
|
||||||
### Import all icons
|
You may provide additional icons using the `LUCIDE_ICONS` injection token,
|
||||||
|
which accepts multiple providers of the interface `LucideIconsProviderInterface`
|
||||||
In `Method 2`: import all icons in `app.module.ts` by:
|
with the utility class `LucideIconsProvider` available for easier usage:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
import { LUCIDE_ICONS, LucideIconProvider } from 'lucide-angular';
|
||||||
|
import { MyIcon } from './icons/my-icon';
|
||||||
|
|
||||||
|
const myIcons = {MyIcon};
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
providers: [
|
||||||
|
{provide: LUCIDE_ICONS, multi: true, useValue: new LucideIconProvider(myIcons)},
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class AppModule { }
|
||||||
|
```
|
||||||
|
|
||||||
|
To add custom icons, you will first need to convert them to an [svgson format](https://github.com/elrumordelaluz/svgson).
|
||||||
|
|
||||||
|
## Loading all icons
|
||||||
|
|
||||||
|
> :warning: You may also opt to import all icons if necessary using the following format but be aware that this will significantly increase your application build size.
|
||||||
|
|
||||||
|
```js
|
||||||
import { icons } from 'lucide-angular';
|
import { icons } from 'lucide-angular';
|
||||||
|
|
||||||
LucideAngularModule.pick(icons)
|
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
|
LucideAngularModule.pick(icons)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Tags
|
|
||||||
|
|
||||||
You can use the following tags instead of `lucide-icon`:
|
|
||||||
|
|
||||||
- lucide-angular
|
|
||||||
- i-lucide
|
|
||||||
- span-lucide
|
|
||||||
|
|
||||||
All of the above are the same
|
|
||||||
|
|||||||
@@ -41,11 +41,12 @@ export default App;
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
| ------------- | -------- | ------------ |
|
| --------------------- | --------- | ------------ |
|
||||||
| `size` | _Number_ | 24 |
|
| `size` | *number* | 24 |
|
||||||
| `color` | _String_ | currentColor |
|
| `color` | *string* | currentColor |
|
||||||
| `strokeWidth` | _Number_ | 2 |
|
| `strokeWidth` | *number* | 2 |
|
||||||
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
|
||||||
### Custom props / svg attributes
|
### Custom props / svg attributes
|
||||||
|
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ export default App;
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
| ------------- | -------- | ------------ |
|
| --------------------- | --------- | ------------ |
|
||||||
| `size` | _Number_ | 24 |
|
| `size` | *number* | 24 |
|
||||||
| `color` | _String_ | currentColor |
|
| `color` | *string* | currentColor |
|
||||||
| `strokeWidth` | _Number_ | 2 |
|
| `strokeWidth` | *number* | 2 |
|
||||||
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
|
|||||||
@@ -37,11 +37,12 @@ export default App;
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
| ------------- | -------- | ------------ |
|
| --------------------- | --------- | ------------ |
|
||||||
| `size` | _Number_ | 24 |
|
| `size` | *number* | 24 |
|
||||||
| `color` | _String_ | currentColor |
|
| `color` | *string* | currentColor |
|
||||||
| `strokeWidth` | _Number_ | 2 |
|
| `strokeWidth` | *number* | 2 |
|
||||||
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
|
|||||||
79
docs/packages/lucide-solid.md
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# Lucide Solid
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for solid applications.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-solid
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install lucide-solid
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
It's build with ESmodules so it's completely tree-shakable.
|
||||||
|
Each icon can be imported as a solid component.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { Camera } from 'lucide-solid';
|
||||||
|
// Returns SolidComponent
|
||||||
|
|
||||||
|
// Usage
|
||||||
|
const App = () => {
|
||||||
|
return <Camera color="red" size={48} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default App;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Props
|
||||||
|
|
||||||
|
| name | type | default |
|
||||||
|
| --------------------- | --------- | ------------ |
|
||||||
|
| `size` | *number* | 24 |
|
||||||
|
| `color` | *string* | currentColor |
|
||||||
|
| `strokeWidth` | *number* | 2 |
|
||||||
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
|
||||||
|
### Custom props / svg attributes
|
||||||
|
|
||||||
|
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Usage
|
||||||
|
const App = () => {
|
||||||
|
return <Camera fill="red" stroke-linejoin="bevel" />;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
### One generic icon component
|
||||||
|
|
||||||
|
It is possible to create one generic icon component to load icons.
|
||||||
|
|
||||||
|
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
||||||
|
|
||||||
|
#### Icon Component Example
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
import * as icons from 'lucide-solid';
|
||||||
|
import type { LucideProps } from 'lucide-solid';
|
||||||
|
import { splitProps } from 'solid-js';
|
||||||
|
import { Dynamic } from 'solid-js/web';
|
||||||
|
|
||||||
|
const Icon = (props: { name: keyof typeof icons } & LucideProps) => {
|
||||||
|
const [local, others] = splitProps(props, ["name"]);
|
||||||
|
|
||||||
|
return <Dynamic component={icons[local.name]} {...others} />
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Icon;
|
||||||
|
```
|
||||||
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
This package include the following lucide implementations:
|
This package include the following lucide implementations:
|
||||||
|
|
||||||
- All svg files
|
- All SVG files
|
||||||
- Javascript library containing strings of svgs.
|
- SVG sprite
|
||||||
- Icon fonts
|
- Icon fonts
|
||||||
- Svg sprite
|
- JavaScript library containing strings of SVGs.
|
||||||
|
|
||||||
## Why lucide-static?
|
## 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.
|
This package is suitable for 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 (Treeshaking). Otherwise it will load all the icons, making you webpage loading slower. Threeshaking is only available in the packages: [lucide](lucide), [lucide-react](lucide-react), [lucide-vue](lucide-vue), [lucide-vue-next](lucide-vue-next), [lucide-angular](lucide-angular), [lucide-preact](lucide-preact)
|
> ⚠️ While they can be useful for prototyping, it is not recommended to use the SVG sprites or icon fonts provided by this package in production web apps as all the available icons are included in the app, hence increasing loading time and data usage. We recommend to use a bundler and treeshaking to make sure only the icons you use are bundled with your app. Threeshaking is only available in these packages: [lucide](lucide), [lucide-react](lucide-react), [lucide-vue](lucide-vue), [lucide-vue-next](lucide-vue-next), [lucide-angular](lucide-angular), [lucide-preact](lucide-preact)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -30,10 +30,10 @@ npm install lucide-static
|
|||||||
### CDN
|
### CDN
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!-- Svg File -->
|
<!-- SVG file for a single icon -->
|
||||||
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg" />
|
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg" />
|
||||||
|
|
||||||
<!-- Icon Font -->
|
<!-- Icon font -->
|
||||||
<style>
|
<style>
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'LucideIcons';
|
font-family: 'LucideIcons';
|
||||||
@@ -44,16 +44,16 @@ npm install lucide-static
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Checkout the [codesandbox examples](https://codesandbox.io/s/using-the-svg-sprite-lz1kk).
|
Check out the [codesandbox examples](https://codesandbox.io/s/using-the-svg-sprite-lz1kk).
|
||||||
|
|
||||||
### SVG Files
|
### SVG Files
|
||||||
|
|
||||||
#### Svg file as image
|
#### SVG file as image
|
||||||
|
|
||||||
To use it in for example html:
|
To use it in for example html:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!-- Svg File -->
|
<!-- SVG file for a single icon -->
|
||||||
<img src="~lucide-static/icons/home.svg" />
|
<img src="~lucide-static/icons/home.svg" />
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -65,15 +65,15 @@ To use it in for example html:
|
|||||||
|
|
||||||
Make sure you have the correct webpack loaders to make this work. [url-loader](https://v4.webpack.js.org/loaders/url-loader/)
|
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
|
#### SVG file as string
|
||||||
|
|
||||||
You can simply import each svg by targeting `lucide-static/icons/{icon-name}.svg`.
|
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/).
|
To use SVGs in your project you can for example use a [SVG loader](https://v4.webpack.js.org/loaders/svg-inline-loader/).
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import arrowRightIcon from 'lucide-static/icons/arrow-right';
|
import arrowRightIcon from 'lucide-static/icons/arrow-right';
|
||||||
|
|
||||||
// return string of a svg
|
// return string of an SVG
|
||||||
```
|
```
|
||||||
|
|
||||||
### SVG Sprite
|
### SVG Sprite
|
||||||
@@ -116,7 +116,7 @@ If you'd prefer, you can use CSS to hold your base SVG properties
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
and update the svg as follows
|
and update the SVG as follows
|
||||||
|
|
||||||
```svg
|
```svg
|
||||||
<svg
|
<svg
|
||||||
|
|||||||
@@ -42,12 +42,14 @@ You can pass additional props to adjust the icon.
|
|||||||
|
|
||||||
### Available props
|
### Available props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
| ------------- | -------- | ------------ |
|
| --------------------- | --------- | ------------ |
|
||||||
| `size` | _Number_ | 24 |
|
| `size` | *number* | 24 |
|
||||||
| `color` | _String_ | currentColor |
|
| `color` | *string* | currentColor |
|
||||||
| `strokeWidth` | _Number_ | 2 |
|
| `strokeWidth` | *number* | 2 |
|
||||||
| `*<SVGProps>` | _String_ | - |
|
| `absoluteStrokeWidth` | *boolean* | false |
|
||||||
|
| `*<SVGProps>` | *string* | - |
|
||||||
|
|
||||||
|
|
||||||
\* All SVGProps are available to style the svgs. See the list of SVG Presentation Attributes on [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/Presentation)
|
\* All SVGProps are available to style the svgs. See the list of SVG Presentation Attributes on [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/Presentation)
|
||||||
|
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ import { Camera } from 'lucide-vue-next';
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default
|
| name | type | default |
|
||||||
| ------------ | -------- | --------
|
| ----------------------- | --------- | ------------ |
|
||||||
| `size` | *Number* | 24
|
| `size` | *number* | 24 |
|
||||||
| `color` | *String* | currentColor
|
| `color` | *string* | currentColor |
|
||||||
| `stroke-width`| *Number* | 2
|
| `stroke-width` | *number* | 2 |
|
||||||
| `default-class`| *String* | lucide-icon
|
| `absolute-stroke-width` | *boolean* | false |
|
||||||
|
| `default-class` | *string* | lucide-icon |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
@@ -69,7 +70,12 @@ It is possible to create one generic icon component to load icons.
|
|||||||
|
|
||||||
``` html
|
``` html
|
||||||
<template>
|
<template>
|
||||||
<component :is="icon" :size="size" :color="color" :stroke-width="strokeWidth" :default-class="defaultClass" />
|
<component
|
||||||
|
:is="icon"
|
||||||
|
:size="size"
|
||||||
|
:color="color"
|
||||||
|
:stroke-width="strokeWidth" :default-class="defaultClass"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|||||||
@@ -43,12 +43,13 @@ You can pass additional props to adjust the icon.
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
| -------------- | -------- | ------------ |
|
| ----------------------- | --------- | ------------ |
|
||||||
| `size` | _Number_ | 24 |
|
| `size` | *number* | 24 |
|
||||||
| `color` | _String_ | currentColor |
|
| `color` | *string* | currentColor |
|
||||||
| `strokeWidth` | _Number_ | 2 |
|
| `stroke-width` | *number* | 2 |
|
||||||
| `defaultClass` | _String_ | lucide-icon |
|
| `absolute-stroke-width` | *boolean* | false |
|
||||||
|
| `default-class` | *string* | lucide-icon |
|
||||||
|
|
||||||
### Custom props
|
### Custom props
|
||||||
|
|
||||||
|
|||||||
9682
icons.json
@@ -1,84 +0,0 @@
|
|||||||
{
|
|
||||||
"$id": "https://lucide.dev/icons.schema.json",
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$vocabulary": {
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/core": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/applicator": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/validation": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/meta-data": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
|
|
||||||
"https://json-schema.org/draft/2020-12/vocab/content": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"title": "Lucide Icons schema",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"icons": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": {
|
|
||||||
"$ref": "#/$defs/types/icon"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"categories": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": {
|
|
||||||
"$ref": "#/$defs/types/category"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$defs": {
|
|
||||||
"types": {
|
|
||||||
"icon": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"tags": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"minItems": 1,
|
|
||||||
"uniqueItems": true
|
|
||||||
},
|
|
||||||
"categories": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/$defs/types/category-reference"
|
|
||||||
},
|
|
||||||
"uniqueItems": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"category": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"title": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"icon": {
|
|
||||||
"$ref": "#/$defs/types/icon-reference"
|
|
||||||
},
|
|
||||||
"weight": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"title",
|
|
||||||
"icon"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"icon-reference": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "uri-reference"
|
|
||||||
},
|
|
||||||
"category-reference": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "uri-reference"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": "A JSON Schema for icons, tags & categories defined by Lucide Icons."
|
|
||||||
}
|
|
||||||
@@ -10,8 +10,8 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="16" cy="4" r="1" />
|
<circle cx="16" cy="4" r="1" />
|
||||||
<path d="m18 19 1-7-5.87.94" />
|
<path d="m18 19 1-7-6 1" />
|
||||||
<path d="m5 8 3-3 5.5 3-2.21 3.1" />
|
<path d="m5 8 3-3 5.5 3-2.36 3.5" />
|
||||||
<path d="M4.24 14.48c-.19.58-.27 1.2-.23 1.84a5 5 0 0 0 5.31 4.67c.65-.04 1.25-.2 1.8-.46" />
|
<path d="M4.24 14.5a5 5 0 0 0 6.88 6" />
|
||||||
<path d="M13.76 17.52c.19-.58.27-1.2.23-1.84a5 5 0 0 0-5.31-4.67c-.65.04-1.25.2-1.8.46" />
|
<path d="M13.76 17.5a5 5 0 0 0-6.88-6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 398 B |
@@ -3,7 +3,9 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"stream",
|
"stream",
|
||||||
"cast",
|
"cast",
|
||||||
"mirroring"
|
"mirroring",
|
||||||
|
"screen",
|
||||||
|
"monitor"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"multimedia",
|
"multimedia",
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"tags": [
|
"tags": [
|
||||||
"done"
|
"done",
|
||||||
|
"todo",
|
||||||
|
"tick",
|
||||||
|
"complete",
|
||||||
|
"task"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"devices",
|
"devices",
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
<circle cx="12" cy="13" r="8" />
|
||||||
<path d="M5 3 2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="m22 6-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="m6 19-2 2" />
|
<path d="M6.38 18.7 4 21" />
|
||||||
<path d="m18 19 2 2" />
|
<path d="M17.64 18.67 20 21" />
|
||||||
<path d="m9 13 2 2 4-4" />
|
<path d="m9 13 2 2 4-4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 386 B |
@@ -10,9 +10,9 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M6.87 6.87a8 8 0 1 0 11.26 11.26" />
|
<path d="M6.87 6.87a8 8 0 1 0 11.26 11.26" />
|
||||||
<path d="M19.9 14.25A7.44 7.44 0 0 0 20 13a8 8 0 0 0-8-8 7.44 7.44 0 0 0-1.25.1" />
|
<path d="M19.9 14.25a8 8 0 0 0-9.15-9.15" />
|
||||||
<path d="m22 6-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="m6 19-2 2" />
|
<path d="M6.26 18.67 4 21" />
|
||||||
<path d="m2 2 20 20" />
|
<path d="m2 2 20 20" />
|
||||||
<path d="M4 4 2 6" />
|
<path d="M4 4 2 6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 410 B |
@@ -13,6 +13,6 @@
|
|||||||
<path d="M12 9v4l2 2" />
|
<path d="M12 9v4l2 2" />
|
||||||
<path d="M5 3 2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="m22 6-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="m6 19-2 2" />
|
<path d="M6.38 18.7 4 21" />
|
||||||
<path d="m18 19 2 2" />
|
<path d="M17.64 18.67 20 21" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 370 B After Width: | Height: | Size: 384 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
<circle cx="12" cy="13" r="8" />
|
||||||
<path d="M5 3 2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="m22 6-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="m6 19-2 2" />
|
<path d="M6.38 18.7 4 21" />
|
||||||
<path d="m18 19 2 2" />
|
<path d="M17.64 18.67 20 21" />
|
||||||
<path d="M9 13h6" />
|
<path d="M9 13h6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 380 B |
@@ -9,11 +9,11 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z" />
|
<circle cx="12" cy="13" r="8" />
|
||||||
<path d="M5 3 2 6" />
|
<path d="M5 3 2 6" />
|
||||||
<path d="m22 6-3-3" />
|
<path d="m22 6-3-3" />
|
||||||
<path d="m6 19-2 2" />
|
<path d="M6.38 18.7 4 21" />
|
||||||
<path d="m18 19 2 2" />
|
<path d="M17.64 18.67 20 21" />
|
||||||
<path d="M12 10v6" />
|
<path d="M12 10v6" />
|
||||||
<path d="M9 13h6" />
|
<path d="M9 13h6" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 408 B After Width: | Height: | Size: 404 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
<rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
|
||||||
<polyline points="11 3 11 11 14 8 17 11 17 3" />
|
<polyline points="11 3 11 11 14 8 17 11 17 3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<line x1="12" y1="8" x2="12" y2="12" />
|
<line x1="12" x2="12" y1="8" y2="12" />
|
||||||
<line x1="12" y1="16" x2="12.01" y2="16" />
|
<line x1="12" x2="12.01" y1="16" y2="16" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 332 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2" />
|
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2" />
|
||||||
<line x1="12" y1="8" x2="12" y2="12" />
|
<line x1="12" x2="12" y1="8" y2="12" />
|
||||||
<line x1="12" y1="16" x2="12.01" y2="16" />
|
<line x1="12" x2="12.01" y1="16" y2="16" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 390 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" />
|
<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" />
|
||||||
<line x1="12" y1="9" x2="12" y2="13" />
|
<line x1="12" x2="12" y1="9" y2="13" />
|
||||||
<line x1="12" y1="17" x2="12.01" y2="17" />
|
<line x1="12" x2="12.01" y1="17" y2="17" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 385 B After Width: | Height: | Size: 385 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" y1="6" x2="3" y2="6" />
|
<line x1="21" x2="3" y1="6" y2="6" />
|
||||||
<line x1="17" y1="12" x2="7" y2="12" />
|
<line x1="17" x2="7" y1="12" y2="12" />
|
||||||
<line x1="19" y1="18" x2="5" y2="18" />
|
<line x1="19" x2="5" y1="18" y2="18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 332 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="4" y="2" width="6" height="16" rx="2" />
|
<rect width="6" height="16" x="4" y="2" rx="2" />
|
||||||
<rect x="14" y="9" width="6" height="9" rx="2" />
|
<rect width="6" height="9" x="14" y="9" rx="2" />
|
||||||
<path d="M22 22H2" />
|
<path d="M22 22H2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 336 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="2" y="4" width="16" height="6" rx="2" />
|
<rect width="16" height="6" x="2" y="4" rx="2" />
|
||||||
<rect x="9" y="14" width="9" height="6" rx="2" />
|
<rect width="9" height="6" x="9" y="14" rx="2" />
|
||||||
<path d="M22 22V2" />
|
<path d="M22 22V2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 336 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="4" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="4" y="5" rx="2" />
|
||||||
<rect x="14" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="14" y="7" rx="2" />
|
||||||
<path d="M17 22v-5" />
|
<path d="M17 22v-5" />
|
||||||
<path d="M17 7V2" />
|
<path d="M17 7V2" />
|
||||||
<path d="M7 22v-3" />
|
<path d="M7 22v-3" />
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 407 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="4" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="4" y="5" rx="2" />
|
||||||
<rect x="14" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="14" y="7" rx="2" />
|
||||||
<path d="M10 2v20" />
|
<path d="M10 2v20" />
|
||||||
<path d="M20 2v20" />
|
<path d="M20 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 361 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="4" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="4" y="5" rx="2" />
|
||||||
<rect x="14" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="14" y="7" rx="2" />
|
||||||
<path d="M4 2v20" />
|
<path d="M4 2v20" />
|
||||||
<path d="M14 2v20" />
|
<path d="M14 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="2" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="2" y="5" rx="2" />
|
||||||
<rect x="16" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="16" y="7" rx="2" />
|
||||||
<path d="M12 2v20" />
|
<path d="M12 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 337 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="2" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="2" y="5" rx="2" />
|
||||||
<rect x="12" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="12" y="7" rx="2" />
|
||||||
<path d="M22 2v20" />
|
<path d="M22 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 337 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="6" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="6" y="5" rx="2" />
|
||||||
<rect x="16" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="16" y="7" rx="2" />
|
||||||
<path d="M2 2v20" />
|
<path d="M2 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 336 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="9" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="9" y="7" rx="2" />
|
||||||
<path d="M4 22V2" />
|
<path d="M4 22V2" />
|
||||||
<path d="M20 22V2" />
|
<path d="M20 22V2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 307 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="3" y="5" width="6" height="14" rx="2" />
|
<rect width="6" height="14" x="3" y="5" rx="2" />
|
||||||
<rect x="15" y="7" width="6" height="10" rx="2" />
|
<rect width="6" height="10" x="15" y="7" rx="2" />
|
||||||
<path d="M3 2v20" />
|
<path d="M3 2v20" />
|
||||||
<path d="M21 2v20" />
|
<path d="M21 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
@@ -3,7 +3,9 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"text",
|
"text",
|
||||||
"alignment",
|
"alignment",
|
||||||
"justified"
|
"justified",
|
||||||
|
"menu",
|
||||||
|
"list"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text"
|
"text"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="3" y1="6" x2="21" y2="6" />
|
<line x1="3" x2="21" y1="6" y2="6" />
|
||||||
<line x1="3" y1="12" x2="21" y2="12" />
|
<line x1="3" x2="21" y1="12" y2="12" />
|
||||||
<line x1="3" y1="18" x2="21" y2="18" />
|
<line x1="3" x2="21" y1="18" y2="18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 332 B |
@@ -3,7 +3,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"text",
|
"text",
|
||||||
"alignment",
|
"alignment",
|
||||||
"left"
|
"left",
|
||||||
|
"list"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text"
|
"text"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" y1="6" x2="3" y2="6" />
|
<line x1="21" x2="3" y1="6" y2="6" />
|
||||||
<line x1="15" y1="12" x2="3" y2="12" />
|
<line x1="15" x2="3" y1="12" y2="12" />
|
||||||
<line x1="17" y1="18" x2="3" y2="18" />
|
<line x1="17" x2="3" y1="18" y2="18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 332 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" y1="6" x2="3" y2="6" />
|
<line x1="21" x2="3" y1="6" y2="6" />
|
||||||
<line x1="21" y1="12" x2="9" y2="12" />
|
<line x1="21" x2="9" y1="12" y2="12" />
|
||||||
<line x1="21" y1="18" x2="7" y2="18" />
|
<line x1="21" x2="7" y1="18" y2="18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 332 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="4" y="6" width="6" height="16" rx="2" />
|
<rect width="6" height="16" x="4" y="6" rx="2" />
|
||||||
<rect x="14" y="6" width="6" height="9" rx="2" />
|
<rect width="6" height="9" x="14" y="6" rx="2" />
|
||||||
<path d="M22 2H2" />
|
<path d="M22 2H2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 335 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="6" y="14" width="9" height="6" rx="2" />
|
<rect width="9" height="6" x="6" y="14" rx="2" />
|
||||||
<rect x="6" y="4" width="16" height="6" rx="2" />
|
<rect width="16" height="6" x="6" y="4" rx="2" />
|
||||||
<path d="M2 2v20" />
|
<path d="M2 2v20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 335 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="14" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="14" rx="2" />
|
||||||
<rect x="7" y="4" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="4" rx="2" />
|
||||||
<path d="M22 7h-5" />
|
<path d="M22 7h-5" />
|
||||||
<path d="M7 7H1" />
|
<path d="M7 7H1" />
|
||||||
<path d="M22 17h-3" />
|
<path d="M22 17h-3" />
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 407 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="14" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="14" rx="2" />
|
||||||
<rect x="7" y="4" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="4" rx="2" />
|
||||||
<path d="M2 20h20" />
|
<path d="M2 20h20" />
|
||||||
<path d="M2 10h20" />
|
<path d="M2 10h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 361 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="14" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="14" rx="2" />
|
||||||
<rect x="7" y="4" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="4" rx="2" />
|
||||||
<path d="M2 14h20" />
|
<path d="M2 14h20" />
|
||||||
<path d="M2 4h20" />
|
<path d="M2 4h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="16" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="16" rx="2" />
|
||||||
<rect x="7" y="2" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="2" rx="2" />
|
||||||
<path d="M2 12h20" />
|
<path d="M2 12h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 337 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="12" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="12" rx="2" />
|
||||||
<rect x="7" y="2" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="2" rx="2" />
|
||||||
<path d="M2 22h20" />
|
<path d="M2 22h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 337 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="16" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="16" rx="2" />
|
||||||
<rect x="7" y="6" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="6" rx="2" />
|
||||||
<path d="M2 2h20" />
|
<path d="M2 2h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 336 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="7" y="9" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="9" rx="2" />
|
||||||
<path d="M22 20H2" />
|
<path d="M22 20H2" />
|
||||||
<path d="M22 4H2" />
|
<path d="M22 4H2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 307 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="5" y="15" width="14" height="6" rx="2" />
|
<rect width="14" height="6" x="5" y="15" rx="2" />
|
||||||
<rect x="7" y="3" width="10" height="6" rx="2" />
|
<rect width="10" height="6" x="7" y="3" rx="2" />
|
||||||
<path d="M2 21h20" />
|
<path d="M2 21h20" />
|
||||||
<path d="M2 3h20" />
|
<path d="M2 3h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
@@ -10,6 +10,6 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="5" r="3" />
|
<circle cx="12" cy="5" r="3" />
|
||||||
<line x1="12" y1="22" x2="12" y2="8" />
|
<line x1="12" x2="12" y1="22" y2="8" />
|
||||||
<path d="M5 12H2a10 10 0 0 0 20 0h-3" />
|
<path d="M5 12H2a10 10 0 0 0 20 0h-3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 327 B |
@@ -10,10 +10,10 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<line x1="14.31" y1="8" x2="20.05" y2="17.94" />
|
<line x1="14.31" x2="20.05" y1="8" y2="17.94" />
|
||||||
<line x1="9.69" y1="8" x2="21.17" y2="8" />
|
<line x1="9.69" x2="21.17" y1="8" y2="8" />
|
||||||
<line x1="7.38" y1="12" x2="13.12" y2="2.06" />
|
<line x1="7.38" x2="13.12" y1="12" y2="2.06" />
|
||||||
<line x1="9.69" y1="16" x2="3.95" y2="6.06" />
|
<line x1="9.69" x2="3.95" y1="16" y2="6.06" />
|
||||||
<line x1="14.31" y1="16" x2="2.83" y2="16" />
|
<line x1="14.31" x2="2.83" y1="16" y2="16" />
|
||||||
<line x1="16.62" y1="12" x2="10.88" y2="21.94" />
|
<line x1="16.62" x2="10.88" y1="12" y2="21.94" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
12
icons/app-window.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"application",
|
||||||
|
"executable"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"design",
|
||||||
|
"files",
|
||||||
|
"layout"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/app-window.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"
|
||||||
|
>
|
||||||
|
<rect x="2" y="4" width="20" height="16" rx="2" />
|
||||||
|
<path d="M10 4v4" />
|
||||||
|
<path d="M2 8h20" />
|
||||||
|
<path d="M6 4v4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 329 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="2" y="4" width="20" height="5" rx="2" />
|
<rect width="20" height="5" x="2" y="4" rx="2" />
|
||||||
<path d="M12 13v7" />
|
<path d="M12 13v7" />
|
||||||
<path d="m9 16 3-3 3 3" />
|
<path d="m9 16 3-3 3 3" />
|
||||||
<path d="M4 9v9a2 2 0 0 0 2 2h2" />
|
<path d="M4 9v9a2 2 0 0 0 2 2h2" />
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 391 B After Width: | Height: | Size: 391 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="2" y="4" width="20" height="5" rx="2" />
|
<rect width="20" height="5" x="2" y="4" rx="2" />
|
||||||
<path d="M4 9v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9" />
|
<path d="M4 9v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9" />
|
||||||
<path d="M10 13h4" />
|
<path d="M10 13h4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 339 B After Width: | Height: | Size: 339 B |
11
icons/arrow-big-down-dash.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"key",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"arrows",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
<path d="M15 5H9" />
|
||||||
<line x1="9" y1="3" x2="9" y2="21" />
|
<path d="M15 9v3h4l-7 7-7-7h4V9h6z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 272 B |
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M9 3h6v11h4l-7 7-7-7h4z" />
|
<path d="M15 6v6h4l-7 7-7-7h4V6h6z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 249 B |
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"tags": [
|
"tags": [
|
||||||
"menu"
|
"key",
|
||||||
|
"back"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"layout",
|
|
||||||
"arrows"
|
"arrows"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
14
icons/arrow-big-left-dash.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="M19 15V9" />
|
||||||
|
<path d="M15 15h-3v4l-7-7 7-7v4h3v6z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 275 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"tags": [
|
"tags": [
|
||||||
"key"
|
"key",
|
||||||
|
"back"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"arrows"
|
"arrows"
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="m3 12 7-7v4h11v6H10v4z" />
|
<path d="M18 15h-6v4l-7-7 7-7v4h6v6z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 251 B |
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"tags": [
|
"tags": [
|
||||||
"menu"
|
"key",
|
||||||
|
"forward"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"layout",
|
|
||||||
"arrows"
|
"arrows"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
14
icons/arrow-big-right-dash.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="M5 9v6" />
|
||||||
|
<path d="M9 9h3V5l7 7-7 7v-4H9V9z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 270 B |
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="m21 12-7-7v4H3v6h11v4z" />
|
<path d="M6 9h6V5l7 7-7 7v-4H6V9z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 248 B |
16
icons/arrow-big-up-dash.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"keyboard",
|
||||||
|
"key",
|
||||||
|
"forward",
|
||||||
|
"caps lock",
|
||||||
|
"capitals",
|
||||||
|
"mac",
|
||||||
|
"button"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"arrows",
|
||||||
|
"development"
|
||||||
|
]
|
||||||
|
}
|
||||||
14
icons/arrow-big-up-dash.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="M9 19h6" />
|
||||||
|
<path d="M9 15v-3H5l7-7 7 7h-4v3H9z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 273 B |
@@ -1,10 +1,15 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"tags": [
|
"tags": [
|
||||||
|
"keyboard",
|
||||||
"key",
|
"key",
|
||||||
"forward"
|
"forward",
|
||||||
|
"shift",
|
||||||
|
"mac",
|
||||||
|
"button"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"arrows"
|
"arrows",
|
||||||
|
"development"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M9 21V10H5l7-7 7 7h-4v11z" />
|
<path d="M9 18v-6H5l7-7 7 7h-4v6H9z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 250 B |
15
icons/arrow-down-0-1.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"arrow",
|
||||||
|
"filter",
|
||||||
|
"sort",
|
||||||
|
"ascending",
|
||||||
|
"numerical"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"text",
|
||||||
|
"layout",
|
||||||
|
"arrows"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/arrow-down-0-1.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="m3 16 4 4 4-4" />
|
||||||
|
<path d="M7 20V4" />
|
||||||
|
<rect x="15" y="4" width="4" height="6" ry="2" />
|
||||||
|
<path d="M17 20v-6h-2" />
|
||||||
|
<path d="M15 20h4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 364 B |
15
icons/arrow-down-1-0.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"arrow",
|
||||||
|
"filter",
|
||||||
|
"sort",
|
||||||
|
"descending",
|
||||||
|
"numerical"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"text",
|
||||||
|
"layout",
|
||||||
|
"arrows"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/arrow-down-1-0.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="m3 16 4 4 4-4" />
|
||||||
|
<path d="M7 20V4" />
|
||||||
|
<path d="M17 10V4h-2" />
|
||||||
|
<path d="M15 10h4" />
|
||||||
|
<rect x="15" y="14" width="4" height="6" ry="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 364 B |
15
icons/arrow-down-a-z.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"arrow",
|
||||||
|
"filter",
|
||||||
|
"sort",
|
||||||
|
"ascending",
|
||||||
|
"alphabetical"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"text",
|
||||||
|
"layout",
|
||||||
|
"arrows"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/arrow-down-a-z.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="m3 16 4 4 4-4" />
|
||||||
|
<path d="M7 20V4" />
|
||||||
|
<path d="M20 8h-5" />
|
||||||
|
<path d="M15 10V6.5a2.5 2.5 0 0 1 5 0V10" />
|
||||||
|
<path d="M15 14h5l-5 6h5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 362 B |
@@ -11,5 +11,5 @@
|
|||||||
>
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<polyline points="8 12 12 16 16 12" />
|
<polyline points="8 12 12 16 16 12" />
|
||||||
<line x1="12" y1="8" x2="12" y2="16" />
|
<line x1="12" x2="12" y1="8" y2="16" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 327 B |
14
icons/arrow-down-from-line.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"direction",
|
||||||
|
"download",
|
||||||
|
"expand",
|
||||||
|
"fold",
|
||||||
|
"vertical"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"arrows",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/arrow-down-from-line.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"
|
||||||
|
>
|
||||||
|
<line x1="12" x2="12" y1="21" y2="7" />
|
||||||
|
<polyline points="6 15 12 21 18 15" />
|
||||||
|
<path d="M19 3H5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 314 B |