Compare commits
100 Commits
0.416.0
...
new-releas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
248d1c31eb | ||
|
|
b6a978ec6a | ||
|
|
de454e4d98 | ||
|
|
13c4163843 | ||
|
|
c0d4147fe6 | ||
|
|
0640cd0938 | ||
|
|
7ab9b83991 | ||
|
|
0c08347e5e | ||
|
|
35e9cb4b6f | ||
|
|
2095ba6aa7 | ||
|
|
ddfc5cadc1 | ||
|
|
f3c6929c98 | ||
|
|
9b46e0dcba | ||
|
|
ef449fd5c5 | ||
|
|
2892be8229 | ||
|
|
2b1ad320fe | ||
|
|
61a86a959a | ||
|
|
d92e7796e4 | ||
|
|
bde9e1cb6b | ||
|
|
a5e07c28bd | ||
|
|
2a68b12cbe | ||
|
|
493382b4fd | ||
|
|
6588971ead | ||
|
|
13cea45e8b | ||
|
|
5dfcfc8d1a | ||
|
|
db24b1d517 | ||
|
|
e1202b545e | ||
|
|
2e1a5cf6ea | ||
|
|
f49ecd73a5 | ||
|
|
a72cbc2d49 | ||
|
|
d4976890e5 | ||
|
|
8c8d1d3338 | ||
|
|
542507f835 | ||
|
|
c6a4908ed0 | ||
|
|
b6e71c6c7a | ||
|
|
7de43440ee | ||
|
|
c8d5260d54 | ||
|
|
0c912bd7ff | ||
|
|
3f24597a65 | ||
|
|
590d59ac5f | ||
|
|
85d427d846 | ||
|
|
478a624162 | ||
|
|
f0afdd4614 | ||
|
|
38e7431189 | ||
|
|
19dd912381 | ||
|
|
f70d5f5169 | ||
|
|
30e0d55b4a | ||
|
|
36a5a8b9ac | ||
|
|
e20e7a43ba | ||
|
|
e8ab1bc15b | ||
|
|
ef090c7dd4 | ||
|
|
65e49e2684 | ||
|
|
0ca2099113 | ||
|
|
9c99fd809c | ||
|
|
cd0d4e1f8a | ||
|
|
e1668804c9 | ||
|
|
efcede62e7 | ||
|
|
3c3f548ec1 | ||
|
|
0160bbe539 | ||
|
|
7837a04438 | ||
|
|
944e428630 | ||
|
|
aa4b1f06b4 | ||
|
|
b1087d3da0 | ||
|
|
fd8d69a129 | ||
|
|
379df75eda | ||
|
|
25707c7c47 | ||
|
|
cbb4ed985c | ||
|
|
d7d1074a60 | ||
|
|
79c2333b7f | ||
|
|
e3f78d73d8 | ||
|
|
e391973a70 | ||
|
|
5a2e3a20ee | ||
|
|
6e65118cd3 | ||
|
|
10c3662ff1 | ||
|
|
c7c6b479fc | ||
|
|
442e477a9a | ||
|
|
777166c06d | ||
|
|
8be94e7f86 | ||
|
|
07dd0bfdb1 | ||
|
|
3271972d97 | ||
|
|
915e8b5b6d | ||
|
|
6c32e47bea | ||
|
|
d4d90f0d4e | ||
|
|
3cf67355b4 | ||
|
|
66bc180c84 | ||
|
|
3c6a8c5118 | ||
|
|
8a088af570 | ||
|
|
cf5d6fc887 | ||
|
|
6052c88831 | ||
|
|
6272f4fd1f | ||
|
|
89070bfa44 | ||
|
|
4cae01a2f5 | ||
|
|
c2cc325f40 | ||
|
|
3143b24dff | ||
|
|
f0625d085e | ||
|
|
beddaa7cbb | ||
|
|
158212c130 | ||
|
|
1d5edc507d | ||
|
|
6f44a5d624 | ||
|
|
d237803413 |
@@ -9,6 +9,7 @@ strikethrough
|
|||||||
touchpad
|
touchpad
|
||||||
ungroup
|
ungroup
|
||||||
pilcrow
|
pilcrow
|
||||||
|
toc
|
||||||
|
|
||||||
# Brands
|
# Brands
|
||||||
codepen
|
codepen
|
||||||
|
|||||||
104
.github/workflows/ci.yml
vendored
@@ -3,73 +3,67 @@ name: Continuous integration icons
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
# - main
|
||||||
paths:
|
- '*'
|
||||||
- icons/**/*.svg
|
# paths:
|
||||||
|
# - icons/**/*.svg
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-release:
|
create-release:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
# Only create a new releases for new icons
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: write
|
||||||
|
packages: read
|
||||||
|
actions: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
VERSION: ${{ steps.new-version.outputs.NEW_VERSION }}
|
VERSION: ${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
|
|
||||||
|
- name: Semantic Release
|
||||||
|
id: semantic
|
||||||
|
uses: cycjimmy/semantic-release-action@v4
|
||||||
with:
|
with:
|
||||||
version: 8
|
tag_format: ${version}
|
||||||
- uses: actions/setup-node@v4
|
branches: |
|
||||||
with:
|
['new-release-workflow']
|
||||||
node-version: 18
|
extends: |
|
||||||
cache: 'pnpm'
|
semantic-release-monorepo
|
||||||
|
extra_plugins: |
|
||||||
|
@semantic-release/github
|
||||||
|
@semantic-release/git
|
||||||
|
@semantic-release/release-notes-generator
|
||||||
|
conventional-changelog-conventionalcommits
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
- name: Fetch tags
|
|
||||||
run: git fetch --all --tags
|
|
||||||
|
|
||||||
- name: Get latest tag
|
|
||||||
id: latest-tag
|
|
||||||
run: echo "LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Check if we can patch
|
|
||||||
run: .github/workflows/version-up.sh --minor
|
|
||||||
|
|
||||||
- name: Create new version
|
|
||||||
id: new-version
|
|
||||||
run: echo "NEW_VERSION=$(.github/workflows/version-up.sh --minor)" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Create change log
|
|
||||||
id: change-log
|
|
||||||
run: |
|
|
||||||
CHANGE_LOG=$(pnpm run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }})
|
|
||||||
CHANGE_LOG=$(tail -n +5 <<< $CHANGE_LOG)
|
|
||||||
echo $CHANGE_LOG
|
|
||||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
|
||||||
echo "CHANGE_LOG<<$EOF" >> $GITHUB_OUTPUT
|
|
||||||
echo "$CHANGE_LOG" >> $GITHUB_OUTPUT
|
|
||||||
echo "$EOF" >> $GITHUB_OUTPUT
|
|
||||||
env:
|
env:
|
||||||
GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Check output
|
- name: Do something when a new release published
|
||||||
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
run: |
|
run: |
|
||||||
echo '${{ steps.new-version.outputs.NEW_VERSION }}'
|
echo ${{ steps.semantic.outputs.new_release_version }}
|
||||||
echo '${{ steps.change-log.outputs.CHANGE_LOG }}'
|
echo ${{ steps.semantic.outputs.new_release_major_version }}
|
||||||
|
echo ${{ steps.semantic.outputs.new_release_minor_version }}
|
||||||
|
echo ${{ steps.semantic.outputs.new_release_patch_version }}
|
||||||
|
# - name: Create Release
|
||||||
|
# uses: softprops/action-gh-release@v1
|
||||||
|
# with:
|
||||||
|
# tag_name: ${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
# name: Version ${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
# body: ${{ steps.semantic.outputs.new_release_notes }}
|
||||||
|
|
||||||
- name: Create Release
|
# start-release:
|
||||||
uses: softprops/action-gh-release@v1
|
# if: github.repository == 'lucide-icons/lucide'
|
||||||
with:
|
# needs: create-release
|
||||||
tag_name: ${{ steps.new-version.outputs.NEW_VERSION }}
|
# uses: './.github/workflows/release.yml'
|
||||||
name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
|
# secrets: inherit
|
||||||
body: ${{ steps.change-log.outputs.CHANGE_LOG }}
|
# with:
|
||||||
|
# version: ${{ needs.create-release.outputs.VERSION }}
|
||||||
start-release:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
needs: create-release
|
|
||||||
uses: './.github/workflows/release.yml'
|
|
||||||
secrets: inherit
|
|
||||||
with:
|
|
||||||
version: ${{ needs.create-release.outputs.VERSION }}
|
|
||||||
|
|||||||
35
.github/workflows/close-issue-with-banned-phrases.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
name: Close Issue with Banned Phrases
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
block_phrases:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Check for blocked phrases in issue title
|
||||||
|
run: |
|
||||||
|
ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH")
|
||||||
|
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord")
|
||||||
|
|
||||||
|
# Check title and body for blocked phrases
|
||||||
|
for PHRASE in "${BLOCKED_PHRASES[@]}"
|
||||||
|
do
|
||||||
|
if echo "$ISSUE_TITLE" | grep -i "$PHRASE"; then
|
||||||
|
gh issue close ${{ github.event.issue.number }} --reason "not planned" --comment "This looks like a duplicate, use the [search](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+$PHRASE) to find similar issues.
|
||||||
|
|
||||||
|
Read more about brand guideline rules at [We're not accepting new Brand icons #670](https://github.com/lucide-icons/lucide/issues/670).
|
||||||
|
|
||||||
|
Always happy to help on [Discord](https://discord.gg/EH6nSts)."
|
||||||
|
gh issue lock ${{ github.event.issue.number }} --reason spam
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
23
.github/workflows/linting.yml
vendored
@@ -11,8 +11,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -23,3 +21,24 @@ jobs:
|
|||||||
|
|
||||||
- name: Run Linter
|
- name: Run Linter
|
||||||
run: pnpm lint
|
run: pnpm lint
|
||||||
|
|
||||||
|
pr-title:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: amannn/action-semantic-pull-request@v5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
types: |
|
||||||
|
fix
|
||||||
|
feat
|
||||||
|
perf
|
||||||
|
refactor
|
||||||
|
test
|
||||||
|
style
|
||||||
|
docs
|
||||||
|
ci
|
||||||
|
build
|
||||||
|
requireScope: true
|
||||||
|
ignoreLabels: |
|
||||||
|
bot
|
||||||
|
|||||||
4
.github/workflows/lucide-angular.yml
vendored
@@ -13,8 +13,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -31,8 +29,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
2
.github/workflows/lucide-font.yml
vendored
@@ -13,8 +13,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
2
.github/workflows/lucide-preact.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
2
.github/workflows/lucide-react-native.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide-react.yml
vendored
@@ -15,8 +15,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -33,8 +31,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide-solid.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -32,8 +30,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
2
.github/workflows/lucide-static.yml
vendored
@@ -13,8 +13,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide-svelte.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -32,8 +30,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide-vue-next.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -32,8 +30,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide-vue.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -32,8 +30,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
4
.github/workflows/lucide.yml
vendored
@@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -32,8 +30,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3.8.1
|
- uses: actions/setup-node@v3.8.1
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
6
.github/workflows/release.yml
vendored
@@ -56,8 +56,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -89,8 +87,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
@@ -121,8 +117,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 18
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ pnpm install # Install dependencies, including the workspace packages
|
|||||||
|
|
||||||
### Packages -> PNPM Workspaces
|
### Packages -> PNPM 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/enhttps://lucide.dev/docs/workspaces).
|
To distribute different packages we use [PNPM workspaces](https://pnpm.io/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/en/docs/workspaces).
|
||||||
|
|
||||||
The configured directory for workspaces is the [packages](https://github.com/lucide-icons/lucide/tree/main/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](https://github.com/lucide-icons/lucide/tree/main/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`](https://github.com/lucide-icons/lucide/blob/main/pnpm-workspace.yaml).
|
There are more workspaces defined, see [`pnpm-workspace.yaml`](https://github.com/lucide-icons/lucide/blob/main/pnpm-workspace.yaml).
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../category.schema.json",
|
"$schema": "../category.schema.json",
|
||||||
"title": "Charts",
|
"title": "Charts",
|
||||||
"icon": "pie-chart"
|
"icon": "chart-pie"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export default eventHandler((event) => {
|
|||||||
.map((_, idx, arr) => arr.slice(0, idx + 1).join('-'))
|
.map((_, idx, arr) => arr.slice(0, idx + 1).join('-'))
|
||||||
.reverse()
|
.reverse()
|
||||||
.find((groupName) => groupName in iconNodes);
|
.find((groupName) => groupName in iconNodes);
|
||||||
if (backdropName) {
|
if (!(name in iconNodes) && backdropName) {
|
||||||
const iconNode = iconNodes[backdropName];
|
const iconNode = iconNodes[backdropName];
|
||||||
|
|
||||||
const LucideIcon = createLucideIcon(backdropName, iconNode);
|
const LucideIcon = createLucideIcon(backdropName, iconNode);
|
||||||
@@ -39,18 +39,9 @@ export default eventHandler((event) => {
|
|||||||
createElement(Backdrop, {
|
createElement(Backdrop, {
|
||||||
backdropString,
|
backdropString,
|
||||||
src,
|
src,
|
||||||
color: name in iconNodes ? 'red' : '#777',
|
color: '#777',
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
if (name in iconNodes) {
|
|
||||||
children.push(
|
|
||||||
createElement(Backdrop, {
|
|
||||||
backdropString: src,
|
|
||||||
src: backdropString,
|
|
||||||
color: 'lime',
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const svg = Buffer.from(
|
const svg = Buffer.from(
|
||||||
|
|||||||
37
docs/.vitepress/api/gh-icon/diff/[...data].get.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import { eventHandler, setResponseHeader, defaultContentType } from 'h3';
|
||||||
|
import { renderToString, renderToStaticMarkup } from 'react-dom/server';
|
||||||
|
import { createElement } from 'react';
|
||||||
|
import Diff from '../../../lib/SvgPreview/Diff.tsx';
|
||||||
|
import iconNodes from '../../../data/iconNodes';
|
||||||
|
import createLucideIcon from 'lucide-react/src/createLucideIcon';
|
||||||
|
|
||||||
|
export default eventHandler((event) => {
|
||||||
|
const { params } = event.context;
|
||||||
|
|
||||||
|
const pathData = params.data.split('/');
|
||||||
|
const data = pathData.at(-1).slice(0, -4);
|
||||||
|
const [name] = pathData;
|
||||||
|
|
||||||
|
const newSrc = Buffer.from(data, 'base64')
|
||||||
|
.toString('utf8')
|
||||||
|
.replaceAll('\n', '')
|
||||||
|
.replace(/<svg[^>]*>|<\/svg>/g, '');
|
||||||
|
|
||||||
|
const children = [];
|
||||||
|
|
||||||
|
const oldSrc = iconNodes[name]
|
||||||
|
? renderToStaticMarkup(createElement(createLucideIcon(name, iconNodes[name])))
|
||||||
|
.replaceAll('\n', '')
|
||||||
|
.replace(/<svg[^>]*>|<\/svg>/g, '')
|
||||||
|
: '';
|
||||||
|
|
||||||
|
const svg = Buffer.from(
|
||||||
|
// We can't use jsx here, is not supported here by nitro.
|
||||||
|
renderToString(createElement(Diff, { oldSrc, newSrc, showGrid: true }, children)),
|
||||||
|
).toString('utf8');
|
||||||
|
|
||||||
|
defaultContentType(event, 'image/svg+xml');
|
||||||
|
setResponseHeader(event, 'Cache-Control', 'public,max-age=31536000');
|
||||||
|
|
||||||
|
return svg;
|
||||||
|
});
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"icon": "x",
|
"icon": "x",
|
||||||
"link": "https://github.com/ericfennis"
|
"link": "https://x.com/ericfennis"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,10 +3,16 @@ import React from 'react';
|
|||||||
interface BackdropProps {
|
interface BackdropProps {
|
||||||
src: string;
|
src: string;
|
||||||
color?: string;
|
color?: string;
|
||||||
|
outline?: boolean;
|
||||||
backdropString: string;
|
backdropString: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Backdrop = ({ src, color = 'red', backdropString }: BackdropProps): JSX.Element => {
|
const Backdrop = ({
|
||||||
|
src,
|
||||||
|
color = 'red',
|
||||||
|
outline = true,
|
||||||
|
backdropString,
|
||||||
|
}: BackdropProps): JSX.Element => {
|
||||||
const id = React.useId();
|
const id = React.useId();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -73,13 +79,15 @@ const Backdrop = ({ src, color = 'red', backdropString }: BackdropProps): JSX.El
|
|||||||
opacity={0.75}
|
opacity={0.75}
|
||||||
dangerouslySetInnerHTML={{ __html: src }}
|
dangerouslySetInnerHTML={{ __html: src }}
|
||||||
/>
|
/>
|
||||||
<g
|
{outline && (
|
||||||
stroke={color}
|
<g
|
||||||
strokeWidth={2.25}
|
stroke={color}
|
||||||
opacity={0.75}
|
strokeWidth={2.25}
|
||||||
mask={`url(#svg-preview-backdrop-mask-outline-${id})`}
|
opacity={0.75}
|
||||||
dangerouslySetInnerHTML={{ __html: backdropString }}
|
mask={`url(#svg-preview-backdrop-mask-outline-${id})`}
|
||||||
/>
|
dangerouslySetInnerHTML={{ __html: backdropString }}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</g>
|
</g>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
71
docs/.vitepress/lib/SvgPreview/Diff.tsx
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import Backdrop from './Backdrop.tsx';
|
||||||
|
import { darkModeCss, Grid } from './index.tsx';
|
||||||
|
|
||||||
|
const SvgPreview = React.forwardRef<
|
||||||
|
SVGSVGElement,
|
||||||
|
{
|
||||||
|
oldSrc: string;
|
||||||
|
newSrc: string;
|
||||||
|
} & React.SVGProps<SVGSVGElement>
|
||||||
|
>(({ oldSrc, newSrc, children, ...props }, ref) => {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
ref={ref}
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width={24}
|
||||||
|
height={24}
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth={2}
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
<style>{darkModeCss}</style>
|
||||||
|
<Grid
|
||||||
|
strokeWidth={0.1}
|
||||||
|
stroke="#777"
|
||||||
|
strokeOpacity={0.3}
|
||||||
|
radius={1}
|
||||||
|
/>
|
||||||
|
<mask
|
||||||
|
id="gray"
|
||||||
|
maskUnits="userSpaceOnUse"
|
||||||
|
>
|
||||||
|
<rect
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="#000"
|
||||||
|
stroke="none"
|
||||||
|
/>
|
||||||
|
<g
|
||||||
|
stroke="#fff"
|
||||||
|
dangerouslySetInnerHTML={{ __html: oldSrc }}
|
||||||
|
/>
|
||||||
|
</mask>
|
||||||
|
<Backdrop
|
||||||
|
src=""
|
||||||
|
outline={false}
|
||||||
|
backdropString={`<g mask="url('#gray')">${newSrc}</g>`}
|
||||||
|
color="#777"
|
||||||
|
/>
|
||||||
|
<Backdrop
|
||||||
|
src={oldSrc}
|
||||||
|
backdropString={newSrc}
|
||||||
|
color="lime"
|
||||||
|
/>
|
||||||
|
<Backdrop
|
||||||
|
src={newSrc}
|
||||||
|
backdropString={oldSrc}
|
||||||
|
color="red"
|
||||||
|
/>
|
||||||
|
{children}
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
export default SvgPreview;
|
||||||
@@ -2,7 +2,23 @@ import React from 'react';
|
|||||||
import { PathProps, Path } from './types';
|
import { PathProps, Path } from './types';
|
||||||
import { getPaths, assert } from './utils';
|
import { getPaths, assert } from './utils';
|
||||||
|
|
||||||
const Grid = ({
|
export const darkModeCss = `
|
||||||
|
@media screen and (prefers-color-scheme: light) {
|
||||||
|
.svg-preview-grid-rect { fill: none }
|
||||||
|
}
|
||||||
|
@media screen and (prefers-color-scheme: dark) {
|
||||||
|
.svg-preview-grid-rect { fill: none }
|
||||||
|
.svg
|
||||||
|
.svg-preview-grid-group,
|
||||||
|
.svg-preview-radii-group,
|
||||||
|
.svg-preview-shadow-mask-group,
|
||||||
|
.svg-preview-shadow-group {
|
||||||
|
stroke: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
export const Grid = ({
|
||||||
radius,
|
radius,
|
||||||
fill = '#fff',
|
fill = '#fff',
|
||||||
...props
|
...props
|
||||||
@@ -339,19 +355,6 @@ const SvgPreview = React.forwardRef<
|
|||||||
>(({ src, children, showGrid = false, ...props }, ref) => {
|
>(({ src, children, showGrid = false, ...props }, ref) => {
|
||||||
const paths = typeof src === 'string' ? getPaths(src) : src;
|
const paths = typeof src === 'string' ? getPaths(src) : src;
|
||||||
|
|
||||||
const darkModeCss = `@media screen and (prefers-color-scheme: light) {
|
|
||||||
.svg-preview-grid-rect { fill: none }
|
|
||||||
}
|
|
||||||
@media screen and (prefers-color-scheme: dark) {
|
|
||||||
.svg-preview-grid-rect { fill: none }
|
|
||||||
.svg
|
|
||||||
.svg-preview-grid-group,
|
|
||||||
.svg-preview-radii-group,
|
|
||||||
.svg-preview-shadow-mask-group,
|
|
||||||
.svg-preview-shadow-group {
|
|
||||||
stroke: #fff;
|
|
||||||
}
|
|
||||||
}`;
|
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
ref={ref}
|
ref={ref}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ onMounted(() => {
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
background: var(--vp-c-brand-dark);
|
background: var(--vp-c-brand-dark);
|
||||||
color: white;
|
color: white;
|
||||||
z-index: 10;
|
z-index: 99;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
padding: 2px 8px;
|
padding: 2px 8px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ defineProps<TeamMember>()
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: var(--vp-c-text-2);
|
color: var(--vp-c-text-2);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
text-wrap: balance;
|
||||||
margin-bottom: 16px;;
|
margin-bottom: 16px;;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,98 +1,98 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { startCase, camelCase } from 'lodash-es'
|
import { toPascalCase } from '@lucide/shared';
|
||||||
import ButtonMenu from '../base/ButtonMenu.vue'
|
import ButtonMenu from '../base/ButtonMenu.vue';
|
||||||
import { useIconStyleContext } from '../../composables/useIconStyle';
|
import { useIconStyleContext } from '../../composables/useIconStyle';
|
||||||
import useConfetti from '../../composables/useConfetti';
|
import useConfetti from '../../composables/useConfetti';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
name: string
|
name: string;
|
||||||
popoverPosition?: 'top' | 'bottom'
|
popoverPosition?: 'top' | 'bottom';
|
||||||
}>()
|
}>();
|
||||||
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext()
|
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext();
|
||||||
const { animate, confetti } = useConfetti()
|
const { animate, confetti } = useConfetti();
|
||||||
const componentName = computed(() => {
|
const componentName = computed(() => {
|
||||||
return startCase(camelCase(props.name)).replace(/\s/g, '')
|
return (toPascalCase(props.name) as string).replace(/\s/g, '');
|
||||||
})
|
});
|
||||||
|
|
||||||
function copyJSX() {
|
function copyJSX() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`size={${size.value}}`)
|
attrs.push(`size={${size.value}}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`strokeWidth={${strokeWidth.value}}`)
|
attrs.push(`strokeWidth={${strokeWidth.value}}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`absoluteStrokeWidth`)
|
attrs.push(`absoluteStrokeWidth`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<${componentName.value}${attrs.join(' ')} />`
|
const code = `<${componentName.value}${attrs.join(' ')} />`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyComponentName() {
|
function copyComponentName() {
|
||||||
const code = componentName.value
|
const code = componentName.value;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyVue() {
|
function copyVue() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`:size="${size.value}"`)
|
attrs.push(`:size="${size.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`:stroke-width="${strokeWidth.value}"`)
|
attrs.push(`:stroke-width="${strokeWidth.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`absoluteStrokeWidth`)
|
attrs.push(`absoluteStrokeWidth`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<${componentName.value}${attrs.join(' ')} />`
|
const code = `<${componentName.value}${attrs.join(' ')} />`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyAngular() {
|
function copyAngular() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
attrs.push(`name="${props.name}"`)
|
attrs.push(`name="${props.name}"`);
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`[size]="${size.value}"`)
|
attrs.push(`[size]="${size.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`[strokeWidth]="${strokeWidth.value}"`)
|
attrs.push(`[strokeWidth]="${strokeWidth.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`[absoluteStrokeWidth]="true"`)
|
attrs.push(`[absoluteStrokeWidth]="true"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`
|
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -106,11 +106,11 @@ function copyAngular() {
|
|||||||
data-confetti-text="Copied!"
|
data-confetti-text="Copied!"
|
||||||
:popoverPosition="popoverPosition"
|
:popoverPosition="popoverPosition"
|
||||||
:options="[
|
:options="[
|
||||||
{ text: 'Copy JSX' , onClick: copyJSX },
|
{ text: 'Copy JSX', onClick: copyJSX },
|
||||||
{ text: 'Copy Component Name' , onClick: copyComponentName },
|
{ text: 'Copy Component Name', onClick: copyComponentName },
|
||||||
{ text: 'Copy Vue' , onClick: copyVue },
|
{ text: 'Copy Vue', onClick: copyVue },
|
||||||
{ text: 'Copy Svelte' , onClick: copyJSX },
|
{ text: 'Copy Svelte', onClick: copyJSX },
|
||||||
{ text: 'Copy Angular' , onClick: copyAngular },
|
{ text: 'Copy Angular', onClick: copyAngular },
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const links = computed(() => [
|
|||||||
href: `${githubLink.value}/releases`
|
href: `${githubLink.value}/releases`
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: 'Github',
|
text: 'GitHub',
|
||||||
href: `${githubLink.value}`
|
href: `${githubLink.value}`
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ However, not everyone can understand them easily. Read more about [how to use Lu
|
|||||||
|
|
||||||
## Official Packages
|
## Official Packages
|
||||||
|
|
||||||
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte),[Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
|
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte), [Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
If you have any questions about Lucide, feel free to reach out to the community. You can find them on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
If you have any questions about Lucide, feel free to reach out to the community. You can find them on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).
|
||||||
|
|||||||
@@ -37,6 +37,20 @@ import { LucideAngularModule, File, Home, Menu, UserCheck } from 'lucide-angular
|
|||||||
export class AppModule { }
|
export class AppModule { }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
or using standalone version:
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { LucideAngularModule, FileIcon } from 'lucide-angular';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
LucideAngularModule
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class AppModule {
|
||||||
|
readonly FileIcon = FileIcon;
|
||||||
|
}
|
||||||
|
```
|
||||||
### Step 2: Use the icons in templates
|
### Step 2: Use the icons in templates
|
||||||
|
|
||||||
Within your templates you may now use one of the following component tags to insert an icon:
|
Within your templates you may now use one of the following component tags to insert an icon:
|
||||||
@@ -47,6 +61,13 @@ Within your templates you may now use one of the following component tags to ins
|
|||||||
<i-lucide name="menu" class="my-icon"></i-lucide>
|
<i-lucide name="menu" class="my-icon"></i-lucide>
|
||||||
<span-lucide name="user-check" class="my-icon"></span-lucide>
|
<span-lucide name="user-check" class="my-icon"></span-lucide>
|
||||||
```
|
```
|
||||||
|
for standalone
|
||||||
|
```html
|
||||||
|
<lucide-angular [img]="FileIcon" class="my-icon"></lucide-angular>
|
||||||
|
<lucide-icon [img]="FileIcon" class="my-icon"></lucide-icon>
|
||||||
|
<i-lucide [img]="FileIcon" class="my-icon"></i-lucide>
|
||||||
|
<span-lucide [img]="FileIcon" class="my-icon"></span-lucide>
|
||||||
|
```
|
||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,19 @@ const App = () => {
|
|||||||
export default App;
|
export default App;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Vite loading/performing issues with the dev server can be resolved by import icons directly from the `lucide-solid/icons` directory:
|
||||||
|
|
||||||
|
```jsx
|
||||||
|
import Camera from 'lucide-solid/icons/camera';
|
||||||
|
|
||||||
|
// Usage
|
||||||
|
const App = () => {
|
||||||
|
return <Camera color="red" size={48} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default App;
|
||||||
|
```
|
||||||
|
|
||||||
## Props
|
## Props
|
||||||
|
|
||||||
| name | type | default |
|
| name | type | default |
|
||||||
|
|||||||
@@ -18,9 +18,8 @@ import RelatedIcons from '~/.vitepress/theme/components/icons/RelatedIcons.vue'
|
|||||||
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
|
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
|
||||||
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
|
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
|
||||||
import Label from '~/.vitepress/theme/components/base/Label.vue'
|
import Label from '~/.vitepress/theme/components/base/Label.vue'
|
||||||
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue';
|
|
||||||
import { data } from './codeExamples.data'
|
import { data } from './codeExamples.data'
|
||||||
import { camelCase, startCase } from 'lodash-es'
|
import { toCamelCase, toPascalCase } from '@lucide/shared'
|
||||||
import { satisfies } from 'semver'
|
import { satisfies } from 'semver'
|
||||||
|
|
||||||
const { params } = useData()
|
const { params } = useData()
|
||||||
@@ -31,8 +30,8 @@ const tabs = computed(() => data.codeExamples?.map(
|
|||||||
|
|
||||||
const codeExample = computed(() => data.codeExamples?.map(
|
const codeExample = computed(() => data.codeExamples?.map(
|
||||||
(codeExample) => {
|
(codeExample) => {
|
||||||
const pascalCaseName = startCase(camelCase( params.value.name)).replace(/\s/g, '')
|
const pascalCaseName = toPascalCase( params.value.name)
|
||||||
const camelCaseName = camelCase(params.value.name)
|
const camelCaseName = toCamelCase(params.value.name)
|
||||||
|
|
||||||
return codeExample.code
|
return codeExample.code
|
||||||
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
|
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 29 KiB |
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
# https://vitepress.dev/reference/default-theme-home-page
|
# https://vitepress.dev/reference/default-theme-home-page
|
||||||
layout: home
|
layout: home
|
||||||
|
markdownStyles: false
|
||||||
|
|
||||||
head:
|
head:
|
||||||
- - link
|
- - link
|
||||||
|
|||||||
@@ -32,14 +32,13 @@
|
|||||||
"@types/semver": "^7.5.3",
|
"@types/semver": "^7.5.3",
|
||||||
"h3": "^1.8.0",
|
"h3": "^1.8.0",
|
||||||
"nitropack": "2.8.1",
|
"nitropack": "2.8.1",
|
||||||
"node-fetch": "2",
|
|
||||||
"rollup-plugin-copy": "^3.4.0",
|
"rollup-plugin-copy": "^3.4.0",
|
||||||
"vitepress": "1.0.0-rc.36"
|
"vitepress": "^1.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@floating-ui/vue": "^1.0.3",
|
"@floating-ui/vue": "^1.0.3",
|
||||||
"@headlessui/vue": "^1.7.17",
|
"@headlessui/vue": "^1.7.17",
|
||||||
"@resvg/resvg-wasm": "^2.4.1",
|
"@resvg/resvg-wasm": "^2.6.2",
|
||||||
"@vueuse/components": "^10.7.2",
|
"@vueuse/components": "^10.7.2",
|
||||||
"@vueuse/core": "^10.7.2",
|
"@vueuse/core": "^10.7.2",
|
||||||
"element-to-path": "^1.2.1",
|
"element-to-path": "^1.2.1",
|
||||||
|
|||||||
22
icons/amphora.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"pottery",
|
||||||
|
"artifact",
|
||||||
|
"artefact",
|
||||||
|
"vase",
|
||||||
|
"ceramics",
|
||||||
|
"clay",
|
||||||
|
"archaeology",
|
||||||
|
"museum",
|
||||||
|
"wine",
|
||||||
|
"oil"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"food-beverage",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
18
icons/amphora.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8" />
|
||||||
|
<path d="M10 5H8a2 2 0 0 0 0 4h.68" />
|
||||||
|
<path d="M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8" />
|
||||||
|
<path d="M14 5h2a2 2 0 0 1 0 4h-.68" />
|
||||||
|
<path d="M18 22H6" />
|
||||||
|
<path d="M9 2h6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 497 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere"
|
"karsa-mistmere",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"bag",
|
"bag",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z" />
|
<path d="M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z" />
|
||||||
<path d="M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2" />
|
|
||||||
<path d="M8 21v-5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v5" />
|
|
||||||
<path d="M8 10h8" />
|
<path d="M8 10h8" />
|
||||||
<path d="M8 18h8" />
|
<path d="M8 18h8" />
|
||||||
|
<path d="M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6" />
|
||||||
|
<path d="M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B |
26
icons/bandage.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere",
|
||||||
|
"jamiemlaw"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"plaster",
|
||||||
|
"band-aid",
|
||||||
|
"first aid",
|
||||||
|
"medical",
|
||||||
|
"health",
|
||||||
|
"wound",
|
||||||
|
"injury",
|
||||||
|
"care",
|
||||||
|
"treatment",
|
||||||
|
"healing",
|
||||||
|
"protection",
|
||||||
|
"emergency",
|
||||||
|
"aid",
|
||||||
|
"safety"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"medical"
|
||||||
|
]
|
||||||
|
}
|
||||||
19
icons/bandage.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 10.01h.01" />
|
||||||
|
<path d="M10 14.01h.01" />
|
||||||
|
<path d="M14 10.01h.01" />
|
||||||
|
<path d="M14 14.01h.01" />
|
||||||
|
<path d="M18 6v11.5" />
|
||||||
|
<path d="M6 6v12" />
|
||||||
|
<rect x="2" y="6" width="20" height="12" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 426 B |
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M14 7h2a2 2 0 0 1 2 2v6c0 1-1 2-2 2h-2" />
|
<path d="M10 17h.01" />
|
||||||
<path d="M6 7H4a2 2 0 0 0-2 2v6c0 1 1 2 2 2h2" />
|
<path d="M10 7v6" />
|
||||||
<line x1="22" x2="22" y1="11" y2="13" />
|
<path d="M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2" />
|
||||||
<line x1="10" x2="10" y1="7" y2="13" />
|
<path d="M22 11v2" />
|
||||||
<line x1="10" x2="10" y1="17" y2="17.01" />
|
<path d="M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 391 B |
34
icons/binoculars.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"field glasses",
|
||||||
|
"lorgnette",
|
||||||
|
"pince-nez",
|
||||||
|
"observation",
|
||||||
|
"sightseeing",
|
||||||
|
"nature",
|
||||||
|
"wildlife",
|
||||||
|
"birdwatching",
|
||||||
|
"scouting",
|
||||||
|
"surveillance",
|
||||||
|
"search",
|
||||||
|
"discovery",
|
||||||
|
"monitoring",
|
||||||
|
"lookout",
|
||||||
|
"viewpoint",
|
||||||
|
"travel",
|
||||||
|
"tourism",
|
||||||
|
"research"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maps",
|
||||||
|
"nature",
|
||||||
|
"photography",
|
||||||
|
"science",
|
||||||
|
"travel",
|
||||||
|
"development"
|
||||||
|
]
|
||||||
|
}
|
||||||
18
icons/binoculars.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 10h4" />
|
||||||
|
<path d="M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3" />
|
||||||
|
<path d="M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z" />
|
||||||
|
<path d="M 22 16 L 2 16" />
|
||||||
|
<path d="M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z" />
|
||||||
|
<path d="M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 604 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z" />
|
<path d="M12 21V7" />
|
||||||
<path d="m16 12 2 2 4-4" />
|
<path d="m16 12 2 2 4-4" />
|
||||||
<path d="M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3" />
|
<path d="M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 414 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />
|
<path d="M12 7v14" />
|
||||||
<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
|
|
||||||
<path d="M6 8h2" />
|
|
||||||
<path d="M6 12h2" />
|
|
||||||
<path d="M16 8h2" />
|
|
||||||
<path d="M16 12h2" />
|
<path d="M16 12h2" />
|
||||||
|
<path d="M16 8h2" />
|
||||||
|
<path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z" />
|
||||||
|
<path d="M6 12h2" />
|
||||||
|
<path d="M6 8h2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 470 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />
|
<path d="M12 7v14" />
|
||||||
<path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
|
<path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 322 B After Width: | Height: | Size: 378 B |
19
icons/briefcase-conveyor-belt.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"baggage",
|
||||||
|
"luggage",
|
||||||
|
"travel",
|
||||||
|
"suitcase",
|
||||||
|
"conveyor",
|
||||||
|
"carousel"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"travel",
|
||||||
|
"transportation"
|
||||||
|
]
|
||||||
|
}
|
||||||
19
icons/briefcase-conveyor-belt.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 20v2" />
|
||||||
|
<path d="M14 20v2" />
|
||||||
|
<path d="M18 20v2" />
|
||||||
|
<path d="M21 20H3" />
|
||||||
|
<path d="M6 20v2" />
|
||||||
|
<path d="M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12" />
|
||||||
|
<rect x="4" y="6" width="16" height="10" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 436 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"date",
|
"date",
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M21 12V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.5" />
|
|
||||||
<path d="M16 2v4" />
|
<path d="M16 2v4" />
|
||||||
<path d="M8 2v4" />
|
<path d="M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25" />
|
||||||
|
<path d="m22 22-1.875-1.875" />
|
||||||
<path d="M3 10h18" />
|
<path d="M3 10h18" />
|
||||||
|
<path d="M8 2v4" />
|
||||||
<circle cx="18" cy="18" r="3" />
|
<circle cx="18" cy="18" r="3" />
|
||||||
<path d="m22 22-1.5-1.5" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 425 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"danielbayley"
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"trailer",
|
"trailer",
|
||||||
|
|||||||
@@ -9,9 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect width="4" height="4" x="2" y="9" />
|
|
||||||
<rect width="4" height="10" x="10" y="9" />
|
|
||||||
<path d="M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2" />
|
<path d="M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2" />
|
||||||
|
<path d="M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2" />
|
||||||
|
<path d="M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9" />
|
||||||
<circle cx="8" cy="19" r="2" />
|
<circle cx="8" cy="19" r="2" />
|
||||||
<path d="M10 19h12v-2" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 444 B |
@@ -10,7 +10,7 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M13 17V9" />
|
<path d="M13 17V9" />
|
||||||
<path d="M18 17v-3" />
|
<path d="M18 17V5" />
|
||||||
<path d="M3 3v16a2 2 0 0 0 2 2h16" />
|
<path d="M3 3v16a2 2 0 0 0 2 2h16" />
|
||||||
<path d="M8 17V5" />
|
<path d="M8 17v-3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 320 B |
17
icons/chart-gantt.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere",
|
||||||
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"diagram",
|
||||||
|
"graph",
|
||||||
|
"timeline",
|
||||||
|
"planning"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"charts"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/chart-gantt.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 6h8" />
|
||||||
|
<path d="M12 16h6" />
|
||||||
|
<path d="M3 3v16a2 2 0 0 0 2 2h16" />
|
||||||
|
<path d="M8 11h7" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 318 B |
39
icons/chevrons-left-right-ellipsis.json
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"ericfennis"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"internet",
|
||||||
|
"network",
|
||||||
|
"connection",
|
||||||
|
"cable",
|
||||||
|
"lan",
|
||||||
|
"port",
|
||||||
|
"router",
|
||||||
|
"switch",
|
||||||
|
"hub",
|
||||||
|
"modem",
|
||||||
|
"web",
|
||||||
|
"online",
|
||||||
|
"networking",
|
||||||
|
"communication",
|
||||||
|
"socket",
|
||||||
|
"plug",
|
||||||
|
"slot",
|
||||||
|
"controller",
|
||||||
|
"connector",
|
||||||
|
"interface",
|
||||||
|
"console",
|
||||||
|
"signal",
|
||||||
|
"data",
|
||||||
|
"input",
|
||||||
|
"output"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"communication",
|
||||||
|
"devices",
|
||||||
|
"multimedia",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/chevrons-left-right-ellipsis.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="m18 8 4 4-4 4" />
|
||||||
|
<path d="m6 8-4 4 4 4" />
|
||||||
|
<path d="M8 12h.01" />
|
||||||
|
<path d="M12 12h.01" />
|
||||||
|
<path d="M16 12h.01" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 342 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"smoking",
|
"smoking",
|
||||||
|
|||||||
@@ -9,11 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="2" x2="22" y1="2" y2="22" />
|
<path d="M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13" />
|
||||||
<path d="M12 12H2v4h14" />
|
|
||||||
<path d="M22 12v4" />
|
|
||||||
<path d="M18 12h-.5" />
|
|
||||||
<path d="M7 12v4" />
|
|
||||||
<path d="M18 8c0-2.5-2-2.5-2-5" />
|
<path d="M18 8c0-2.5-2-2.5-2-5" />
|
||||||
|
<path d="m2 2 20 20" />
|
||||||
|
<path d="M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866" />
|
||||||
<path d="M22 8c0-2.5-2-2.5-2-5" />
|
<path d="M22 8c0-2.5-2-2.5-2-5" />
|
||||||
|
<path d="M7 12v4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 425 B After Width: | Height: | Size: 443 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"smoking"
|
"smoking"
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M18 12H2v4h16" />
|
<path d="M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14" />
|
||||||
<path d="M22 12v4" />
|
|
||||||
<path d="M7 12v4" />
|
|
||||||
<path d="M18 8c0-2.5-2-2.5-2-5" />
|
<path d="M18 8c0-2.5-2-2.5-2-5" />
|
||||||
|
<path d="M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1" />
|
||||||
<path d="M22 8c0-2.5-2-2.5-2-5" />
|
<path d="M22 8c0-2.5-2-2.5-2-5" />
|
||||||
|
<path d="M7 12v4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 415 B |
@@ -3,7 +3,8 @@
|
|||||||
"contributors": [
|
"contributors": [
|
||||||
"colebemis",
|
"colebemis",
|
||||||
"csandman",
|
"csandman",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"done",
|
"done",
|
||||||
|
|||||||
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14" />
|
<path d="M21.801 10A10 10 0 1 1 17 3.335" />
|
||||||
<path d="m9 11 3 3L22 4" />
|
<path d="m9 11 3 3L22 4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 285 B |
@@ -19,6 +19,11 @@
|
|||||||
"code",
|
"code",
|
||||||
"spread",
|
"spread",
|
||||||
"rest",
|
"rest",
|
||||||
|
"more",
|
||||||
|
"further",
|
||||||
|
"extra",
|
||||||
|
"overflow",
|
||||||
|
"dots",
|
||||||
"…",
|
"…",
|
||||||
"..."
|
"..."
|
||||||
],
|
],
|
||||||
|
|||||||
22
icons/circle-fading-arrow-up.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"jordan808",
|
||||||
|
"jguddas",
|
||||||
|
"colebemis",
|
||||||
|
"ericfennis",
|
||||||
|
"mosch"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"north",
|
||||||
|
"up",
|
||||||
|
"upgrade",
|
||||||
|
"improve",
|
||||||
|
"circle",
|
||||||
|
"button"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"arrows",
|
||||||
|
"development"
|
||||||
|
]
|
||||||
|
}
|
||||||
19
icons/circle-fading-arrow-up.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M12 2a10 10 0 0 1 7.38 16.75" />
|
||||||
|
<path d="m16 12-4-4-4 4" />
|
||||||
|
<path d="M12 16V8" />
|
||||||
|
<path d="M2.5 8.875a10 10 0 0 0-.5 3" />
|
||||||
|
<path d="M2.83 16a10 10 0 0 0 2.43 3.4" />
|
||||||
|
<path d="M4.636 5.235a10 10 0 0 1 .891-.857" />
|
||||||
|
<path d="M8.644 21.42a10 10 0 0 0 7.631-.38" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 494 B |
@@ -10,5 +10,5 @@
|
|||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<rect width="6" height="6" x="9" y="9" />
|
<rect x="9" y="9" width="6" height="6" rx="1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 295 B |
17
icons/clock-alert.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"colebemis",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"time",
|
||||||
|
"watch",
|
||||||
|
"alarm",
|
||||||
|
"warning",
|
||||||
|
"wrong"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"time"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/clock-alert.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M12 6v6l4 2" />
|
||||||
|
<path d="M16 21.16a10 10 0 1 1 5-13.516" />
|
||||||
|
<path d="M20 11.5v6" />
|
||||||
|
<path d="M20 21.5h.01" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 335 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" />
|
<path d="M12 13v8l-4-4" />
|
||||||
<path d="M12 12v9" />
|
<path d="m12 21 4-4" />
|
||||||
<path d="m8 17 4 4 4-4" />
|
<path d="M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 341 B |
@@ -4,7 +4,8 @@
|
|||||||
"colebemis",
|
"colebemis",
|
||||||
"csandman",
|
"csandman",
|
||||||
"ericfennis",
|
"ericfennis",
|
||||||
"karsa-mistmere"
|
"karsa-mistmere",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"file"
|
"file"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
|
<path d="M12 13v8" />
|
||||||
<path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" />
|
<path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" />
|
||||||
<path d="M12 12v9" />
|
<path d="m8 17 4-4 4 4" />
|
||||||
<path d="m16 16-4-4-4 4" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 333 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"danielbayley",
|
"danielbayley",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"cubes",
|
"cubes",
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect width="8" height="8" x="2" y="2" rx="2" />
|
<path d="M10 18H5a3 3 0 0 1-3-3v-1" />
|
||||||
<path d="M14 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2" />
|
<path d="M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2" />
|
||||||
<path d="M20 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2" />
|
<path d="M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2" />
|
||||||
<path d="M10 18H5c-1.7 0-3-1.3-3-3v-1" />
|
<path d="m7 21 3-3-3-3" />
|
||||||
<polyline points="7 21 10 18 7 15" />
|
<rect x="14" y="14" width="8" height="8" rx="2" />
|
||||||
<rect width="8" height="8" x="14" y="14" rx="2" />
|
<rect x="2" y="2" width="8" height="8" rx="2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 484 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z" />
|
<path d="M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z" />
|
<path d="M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z" />
|
<path d="M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z" />
|
<path d="M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 763 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere"
|
"karsa-mistmere",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"user",
|
"user",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M16 18a4 4 0 0 0-8 0" />
|
<path d="M16 2v2" />
|
||||||
<circle cx="12" cy="11" r="3" />
|
<path d="M17.915 22a6 6 0 0 0-12 0" />
|
||||||
<rect width="18" height="18" x="3" y="4" rx="2" />
|
<path d="M8 2v2" />
|
||||||
<line x1="8" x2="8" y1="2" y2="4" />
|
<circle cx="12" cy="12" r="4" />
|
||||||
<line x1="16" x2="16" y1="2" y2="4" />
|
<rect x="3" y="4" width="18" height="18" rx="2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 382 B |
@@ -4,7 +4,8 @@
|
|||||||
"lscheibel",
|
"lscheibel",
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"FPDK",
|
"FPDK",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"user",
|
"user",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M17 18a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2" />
|
<path d="M16 2v2" />
|
||||||
<rect width="18" height="18" x="3" y="4" rx="2" />
|
<path d="M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2" />
|
||||||
<circle cx="12" cy="10" r="2" />
|
<path d="M8 2v2" />
|
||||||
<line x1="8" x2="8" y1="2" y2="4" />
|
<circle cx="12" cy="11" r="3" />
|
||||||
<line x1="16" x2="16" y1="2" y2="4" />
|
<rect x="3" y="4" width="18" height="18" rx="2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 397 B |
@@ -6,6 +6,13 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"menu",
|
"menu",
|
||||||
"options",
|
"options",
|
||||||
|
"spread",
|
||||||
|
"more",
|
||||||
|
"further",
|
||||||
|
"extra",
|
||||||
|
"overflow",
|
||||||
|
"dots",
|
||||||
|
"…",
|
||||||
"..."
|
"..."
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
|
|||||||
@@ -18,6 +18,11 @@
|
|||||||
"coding",
|
"coding",
|
||||||
"spread",
|
"spread",
|
||||||
"rest",
|
"rest",
|
||||||
|
"more",
|
||||||
|
"further",
|
||||||
|
"extra",
|
||||||
|
"overflow",
|
||||||
|
"dots",
|
||||||
"…",
|
"…",
|
||||||
"..."
|
"..."
|
||||||
],
|
],
|
||||||
|
|||||||
39
icons/ethernet-port.json
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"ericfennis"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"internet",
|
||||||
|
"network",
|
||||||
|
"connection",
|
||||||
|
"cable",
|
||||||
|
"lan",
|
||||||
|
"port",
|
||||||
|
"router",
|
||||||
|
"switch",
|
||||||
|
"hub",
|
||||||
|
"modem",
|
||||||
|
"web",
|
||||||
|
"online",
|
||||||
|
"networking",
|
||||||
|
"communication",
|
||||||
|
"socket",
|
||||||
|
"plug",
|
||||||
|
"slot",
|
||||||
|
"controller",
|
||||||
|
"connector",
|
||||||
|
"interface",
|
||||||
|
"console",
|
||||||
|
"signal",
|
||||||
|
"data",
|
||||||
|
"input",
|
||||||
|
"output"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"communication",
|
||||||
|
"devices",
|
||||||
|
"multimedia",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/ethernet-port.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="m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z" />
|
||||||
|
<path d="M6 8v1" />
|
||||||
|
<path d="M10 8v1" />
|
||||||
|
<path d="M14 8v1" />
|
||||||
|
<path d="M18 8v1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 396 B |
23
icons/eye-closed.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"view",
|
||||||
|
"watch",
|
||||||
|
"see",
|
||||||
|
"hide",
|
||||||
|
"conceal",
|
||||||
|
"mask",
|
||||||
|
"hidden",
|
||||||
|
"visibility",
|
||||||
|
"vision"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"accessibility",
|
||||||
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/eye-closed.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="m15 18-.722-3.25" />
|
||||||
|
<path d="M2 8a10.645 10.645 0 0 0 20 0" />
|
||||||
|
<path d="m20 15-1.726-2.05" />
|
||||||
|
<path d="m4 15 1.726-2.05" />
|
||||||
|
<path d="m9 18 .722-3.25" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 381 B |
@@ -9,11 +9,18 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"view",
|
"view",
|
||||||
"watch",
|
"watch",
|
||||||
|
"see",
|
||||||
"hide",
|
"hide",
|
||||||
"hidden"
|
"conceal",
|
||||||
|
"mask",
|
||||||
|
"hidden",
|
||||||
|
"visibility",
|
||||||
|
"vision"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"accessibility",
|
"accessibility",
|
||||||
"photography"
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,22 @@
|
|||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"view",
|
"view",
|
||||||
"watch"
|
"watch",
|
||||||
|
"see",
|
||||||
|
"show",
|
||||||
|
"expose",
|
||||||
|
"reveal",
|
||||||
|
"display",
|
||||||
|
"visible",
|
||||||
|
"visibility",
|
||||||
|
"vision",
|
||||||
|
"preview",
|
||||||
|
"read"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"accessibility",
|
"accessibility",
|
||||||
"photography"
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
28
icons/file-user.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley",
|
||||||
|
"colebemis",
|
||||||
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"person",
|
||||||
|
"personal information",
|
||||||
|
"people",
|
||||||
|
"listing",
|
||||||
|
"networking",
|
||||||
|
"document",
|
||||||
|
"contact",
|
||||||
|
"cover letter",
|
||||||
|
"resume",
|
||||||
|
"cv",
|
||||||
|
"curriculum vitae",
|
||||||
|
"application form"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"account",
|
||||||
|
"communication",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/file-user.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
|
||||||
|
<path d="M15 18a3 3 0 1 0-6 0" />
|
||||||
|
<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z" />
|
||||||
|
<circle cx="12" cy="13" r="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 392 B |
@@ -11,6 +11,6 @@
|
|||||||
>
|
>
|
||||||
<path d="M11 11a5 5 0 0 1 0 6" />
|
<path d="M11 11a5 5 0 0 1 0 6" />
|
||||||
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
|
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
|
||||||
<path d="M4.268 21A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
|
<path d="M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23" />
|
||||||
<path d="m7 10-3 2H2v4h2l3 2z" />
|
<path d="M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 536 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere"
|
"karsa-mistmere",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"directory",
|
"directory",
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="17" cy="17" r="3" />
|
|
||||||
<path d="M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1" />
|
<path d="M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1" />
|
||||||
<path d="m21 21-1.5-1.5" />
|
<path d="m21 21-1.9-1.9" />
|
||||||
|
<circle cx="17" cy="17" r="3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 396 B |
33
icons/grid-2x2-plus.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley",
|
||||||
|
"chessurisme",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"table",
|
||||||
|
"rows",
|
||||||
|
"columns",
|
||||||
|
"blocks",
|
||||||
|
"plot",
|
||||||
|
"land",
|
||||||
|
"geometry",
|
||||||
|
"measure",
|
||||||
|
"data",
|
||||||
|
"size",
|
||||||
|
"width",
|
||||||
|
"height",
|
||||||
|
"distance",
|
||||||
|
"surface area",
|
||||||
|
"square meter",
|
||||||
|
"acre"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"text",
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"shapes",
|
||||||
|
"maths"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/grid-2x2-plus.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3" />
|
||||||
|
<path d="M16 19h6" />
|
||||||
|
<path d="M19 22v-6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 362 B |
24
icons/headphone-off.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"colebemis",
|
||||||
|
"csandman",
|
||||||
|
"ericfennis",
|
||||||
|
"jguddas",
|
||||||
|
"Need-an-AwP"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"music",
|
||||||
|
"audio",
|
||||||
|
"sound",
|
||||||
|
"mute",
|
||||||
|
"off"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"multimedia",
|
||||||
|
"connectivity",
|
||||||
|
"communication",
|
||||||
|
"devices",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/headphone-off.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="M21 14h-1.343" />
|
||||||
|
<path d="M9.128 3.47A9 9 0 0 1 21 12v3.343" />
|
||||||
|
<path d="m2 2 20 20" />
|
||||||
|
<path d="M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3" />
|
||||||
|
<path d="M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 472 B |
18
icons/id-card.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"jguddas",
|
||||||
|
"karsa-mistmere"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"card",
|
||||||
|
"badge",
|
||||||
|
"identity",
|
||||||
|
"authentication",
|
||||||
|
"secure"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"security",
|
||||||
|
"account"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/id-card.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="M16 10h2" />
|
||||||
|
<path d="M16 14h2" />
|
||||||
|
<path d="M6.17 15a3 3 0 0 1 5.66 0" />
|
||||||
|
<circle cx="9" cy="11" r="2" />
|
||||||
|
<rect x="2" y="5" width="20" height="14" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 384 B |
@@ -13,6 +13,7 @@
|
|||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"food-beverage",
|
"food-beverage",
|
||||||
"emoji"
|
"emoji",
|
||||||
|
"sustainability"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||