Compare commits

...

31 Commits

Author SHA1 Message Date
Eric Fennis
d1d57d3c85 Format code 2025-07-04 17:40:28 +02:00
Eric Fennis
701c2fb6b2 Delete lucide-vue 2024-01-23 18:24:03 +01:00
Eric Fennis
294ec9c727 Add simlinks 2024-01-23 17:46:05 +01:00
Eric Fennis
99c883e60a revert import change 2024-01-23 17:45:55 +01:00
Eric Fennis
9e68779d22 create new vue directory 2024-01-23 17:45:43 +01:00
Daniel Bayley
06372db723 Optimise/add missing calendar[-*] icons/improve metadata (#1377)
* Optimise `calendar`[`-*`] icons

* Add `calendar-plus` variant

* Add `calendar-minus` variant

* Add `calendar-slash` icon

* Improve `calendar`[`-*`] icons metadata

* Add `calendar-fold` icon

* Remove calendar-slash

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-22 20:02:19 +01:00
Eric Fennis
114fb08556 fix icon preview comment (#1823) 2024-01-21 19:45:21 +01:00
Eric Fennis
3bad7f6ced fix site, downgrade sandpack-vue3 2024-01-21 18:20:52 +01:00
Daniel Bayley
e450afe408 Add ticket-* icons/improve metadata (#1312)
* Add `ticket-x` (cancel/refund) icon

* Improve `ticket` metadata

* Add `ticket-slash` (marked/redeemed) icon

* Terminal Add `ticket-check` (purchased) icon

* Add `ticket-plus` (book) icon

* Add `ticket-minus` (remove from basket) icon

* Add `ticket-percent` (discount) icon

* Add `ticket-text` (T&Cs) icon

* Remove ticket text

* Fix duplicate item

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-21 18:04:03 +01:00
Daniel Bayley
6fcfc820ca Add text-search icon (#1807) 2024-01-21 17:22:12 +01:00
dependabot[bot]
55f264bea6 Bump vite from 5.0.10 to 5.0.12 (#1817)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 16:46:12 +01:00
Han Yeong-woo
675158df16 Cleanup tools (#1756)
* Use prettier own instead of eslint plugin

* Extend prettier config angular eslint

* Upgrade root prettier to 3

* Fix css syntax errors

* Change eslint ignore to prettier ignore

* Ignore formatting for outputs

* Fix lint-staged error when edited multiple files

* Bump pnpm version

* Remove unnecessary pnpm config

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-18 12:36:48 +01:00
Gustavo Bonfim
042393a931 docs(react-native): fix generic icon import (#1813) 2024-01-18 12:27:02 +01:00
Daniel Bayley
551635003c Optimise/add receipt[-*] icons (#1401)
* Optimise `receipt` icon

* Add `receipt-text` icon

* Improve `receipt` metadata

* Add `receipt-pound-sterling` icon

* Add `receipt-euro` icon

* Add `receipt-swiss-franc` icon

* Add `receipt-japanese-yen` icon

* Add `receipt-indian-rupee` icon

* Add `receipt-russian-ruble` icon

* Add `receipt-cent` icon

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-17 20:06:56 +01:00
Eric Fennis
5c7119f6d1 Export all types lucide-react-native (#1809) 2024-01-17 14:28:14 +01:00
Daniel Bayley
7bfdb2f54a Fix missing metadata (#1808)
* Fix missing metadata

From #1280.

* Fix more missing metadata

From #1378.
2024-01-17 12:13:47 +01:00
Eric Fennis
e3abcdbcc6 Remove v-memo 2024-01-17 11:17:09 +01:00
Daniel Bayley
62d350140e Add missing arrow-*-from-square/optimise external-link icon/s (#1383)
* Add `arrow-up-right-from-square` (share) icon

* Add `arrow-up-left-from-square` icon

* Add `arrow-down-left-from-square` icon

* Add `arrow-down-right-from-square` icon

* Optimise `external-link` icon

* Improve `external-link` metadata

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-16 16:44:44 +01:00
Daniel Bayley
ad90ee7582 Refine file/sticky-note[-*] icons/add file-dot (dotfile) icon (#1378)
* Refine `file`[`-*`] icons

* Refine `sticker` icon fold

* Refine `sticky-note` icon

* Improve `sticky-note` metadata

* Add `sticky-note-text` icon

* Add `file-dot` icon

* Update icons/file-badge-2.svg

Co-authored-by: Jakob Guddas <github@jguddas.de>

* Add `file-sliders-big` (config) icon

* Add `file-sliders` (config) icon

* Improve `folder-dot` metadata

* Remove icons

* Remove sticky note text

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-01-16 16:41:08 +01:00
Eric Fennis
b0e825cb57 Site improvements and update site dependencies (#1805)
* try to speed up build times

* Update deps

* Update site deps and fix search issue

* Small improvements

* fix imports

* Remove unused var
2024-01-16 16:22:09 +01:00
Karsa
d4cbe899fb Remove aliasesSupport flag from rollup.config.mjs (#1794)
* Remove aliasesSupport flag from rollup.config.mjs and add always add aliases

* Update rollup.config.mjs

* Update rollup.config.mjs

* Update rollup.config.mjs

* Update rollup.config.mjs

---------

Co-authored-by: Rigó József Karsa <karsa@sztaki.hu>
2024-01-16 16:21:57 +01:00
Daniel Bayley
be3ccc8ece Add/optimise swatch-book/aperture/blend/eclipse (dark/light) mode/paint-roller icons and improve palette/brush metadata (#1280)
* Add `swatch-book` icon

* Improve `palette`/`brush` icons metadata

* Update icons/swatch-book.svg

Co-authored-by: Karsa <contact@karsa.org>

* Add `color-wheel` icon

* Improve `palette`/`swatch-book` icons metadata

* Update icons/color-wheel.svg

Co-authored-by: Jakob Guddas <github@jguddas.de>

* Add `paint-roller` icon

* Improve metadata

* Add `contrast` alternate icon

* Add `eclipse` (dark/light mode toggle) icon

* Add `blend` icon

* Refine `color-wheel` icon

* Optimise `aperture` icon

* Add `aperture` variant

* Drop `color-wheel` icon

* Refine `paint-roller` icon

* Fix `aperture-2` optimisation

* Update icons/aperture.svg

Co-authored-by: Karsa <contact@karsa.org>

* Fix `aperture` variant optimisation

* Rename `contrast-2` to `circle-line-vertical`

* Remove aperture-2 and circle-line-vertical

---------

Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-01-16 15:42:22 +01:00
Eric Fennis
e56b09d400 Add cache header site assets (#1801) 2024-01-13 15:32:18 +01:00
Eric Fennis
7e936c8803 Update stale action 2024-01-13 10:10:43 +01:00
ocavue
c9ffa4033f Add list-collapse icon (#1790)
* Add `list-collapse` icon

* Update icons/list-collapse.json

Co-authored-by: Karsa <contact@karsa.org>

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-01-10 10:12:13 +01:00
Karsa
32a6187d69 Fixes pen-square (#1784) 2024-01-09 15:42:14 +01:00
Staffan Mowitz
2bf20db4bf Update CONTRIBUTING.md (#1787)
Update link for creating a new icon request issue
2024-01-09 11:25:03 +01:00
Eric Fennis
4473df5ad5 Export all types from lucide-svelte (#1779)
* Export all types from lucide-svelte

* Export all types
2024-01-07 17:26:15 +01:00
Jakob Guddas
bc5efd7f0d feat(ci): added filename lint job (#1782) 2024-01-07 17:15:49 +01:00
Eric Fennis
05f209cb04 Fix icon preview comment workflow (#1775)
* Add helpers

* fix preview script

* refactor markup to javascript

* test

* Add escaping

* Try alternative escaping

* test comment markup

* update comment markup

* Revert comment markup step

* revert escaping

* Test with markup file instead of GITHUB_OUTPUT var
2024-01-07 15:59:33 +01:00
Eric Fennis
ef89510a47 Implement deprecated block comment (#1765)
* Implement deprecate comment lucide-react

* Add export template with comment

* Add block comment to Lucide Svelte

* Add blockcomment to lucide-angular

* Add block comment to lucide-static

* revert runtime change build:tags

* Fix failed tests

* Remove optional property in icon schema
2024-01-07 15:59:19 +01:00
321 changed files with 2926 additions and 2293 deletions

View File

@@ -7,20 +7,12 @@ module.exports = {
node: true, node: true,
}, },
extends: ['airbnb-base', 'prettier'], extends: ['airbnb-base', 'prettier'],
plugins: ['import', 'prettier', '@html-eslint'], plugins: ['import', '@html-eslint'],
rules: { rules: {
'no-console': 'off', 'no-console': 'off',
'no-param-reassign': 'off', 'no-param-reassign': 'off',
'no-shadow': 'off', 'no-shadow': 'off',
'no-use-before-define': 'off', 'no-use-before-define': 'off',
'prettier/prettier': [
'error',
{
singleQuote: true,
trailingComma: 'all',
printWidth: 100
},
],
'import/no-extraneous-dependencies': [ 'import/no-extraneous-dependencies': [
'error', 'error',
{ devDependencies: ['**/*.test.js', '**/*.spec.js', './scripts/**'] }, { devDependencies: ['**/*.test.js', '**/*.spec.js', './scripts/**'] },
@@ -46,7 +38,6 @@ module.exports = {
files: ['./icons/*.svg'], files: ['./icons/*.svg'],
parser: '@html-eslint/parser', parser: '@html-eslint/parser',
rules: { rules: {
'prettier/prettier': 'off',
'@html-eslint/require-doctype': 'off', '@html-eslint/require-doctype': 'off',
'@html-eslint/no-duplicate-attrs': 'error', '@html-eslint/no-duplicate-attrs': 'error',
'@html-eslint/no-inline-styles': 'error', '@html-eslint/no-inline-styles': 'error',

View File

@@ -18,7 +18,7 @@ runs:
name: Install pnpm name: Install pnpm
id: pnpm-install id: pnpm-install
with: with:
version: 7 version: 8
run_install: false run_install: false
- name: Get pnpm store directory - name: Get pnpm store directory

View File

@@ -18,7 +18,7 @@ runs:
name: Install pnpm name: Install pnpm
id: pnpm-install id: pnpm-install
with: with:
version: 7 version: 8
run_install: false run_install: false
- name: Get pnpm store directory - name: Get pnpm store directory

View File

@@ -14,5 +14,4 @@ jobs:
close-pr-message: This PR was closed because it has been stalled for 5 days with no activity. close-pr-message: This PR was closed because it has been stalled for 5 days with no activity.
close-pr-label: 🧶 stale close-pr-label: 🧶 stale
days-before-stale: 30 days-before-stale: 30
days-before-close: 5 days-before-close: -1
days-before-pr-close: -1

View File

@@ -6,8 +6,29 @@ on:
- 'icons/*.svg' - 'icons/*.svg'
branches: branches:
- main - main
- fix-icon-preview
jobs: jobs:
lint-filenames:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
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@v41
with:
files: icons/*
- name: Generate annotations
run: node ./scripts/lintFilenames.mjs
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
lint-contributors: lint-contributors:
if: github.repository == 'lucide-icons/lucide' if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -46,184 +67,43 @@ jobs:
# Example for the previous substitution # Example for the previous substitution
# input: +++ b/icons/accessibility.json%0A@@ -2,0 +3 @@%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A # input: +++ b/icons/accessibility.json%0A@@ -2,0 +3 @@%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A
# output: ::$ANNOTATION_SEVERITY file=icons/accessibility.json,line=2,endLine=3,title=$ANNOTATION_TITLE::$ANNOTATION_DESCRIPTION%0A%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A # output: ::$ANNOTATION_SEVERITY file=icons/accessibility.json,line=2,endLine=3,title=$ANNOTATION_TITLE::$ANNOTATION_DESCRIPTION%0A%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A
# - name: Fail if contributors have changed
# run: git diff --exit-code -- icons/*.json
generate-changed-icons-comment-data: generate-changed-icons-comment:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
outputs: pull-requests: write
generate-1px-stroke-width: ${{ steps.generate-1px-stroke-width.outputs.body }}
generate-2px-stroke-width: ${{ steps.generate-2px-stroke-width.outputs.body }}
generate-3px-stroke-width: ${{ steps.generate-3px-stroke-width.outputs.body }}
generate-24px-dpi-preview: ${{ steps.generate-24px-dpi-preview.outputs.body }}
generate-cohesion-check-random: ${{ steps.generate-cohesion-check-random.outputs.body }}
generate-cohesion-check-squares: ${{ steps.generate-cohesion-check-squares.outputs.body }}
generate-x-rays: ${{ steps.generate-x-rays.outputs.body }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v41 uses: tj-actions/changed-files@v41
with: with:
files: icons/*.svg files: icons/*.svg
- name: Generate 24px dpi preview
id: generate-24px-dpi-preview
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
while IFS= read -r file; 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/dpi/24/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate cohesion check random
id: generate-cohesion-check-random
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate cohesion check squares
id: generate-cohesion-check-squares
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*square*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate 1px stroke-width
id: generate-1px-stroke-width
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
while IFS= read -r file; 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/1/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate 2px stroke-width
id: generate-2px-stroke-width
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
while IFS= read -r file; 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate 3px stroke-width
id: generate-3px-stroke-width
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
while IFS= read -r file; 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 title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/3/&.svg\"/> |"
done <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Generate X-rays
id: generate-x-rays
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
while IFS= read -r file; 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 <<< "$CHANGED_FILES" | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
add-changed-icons-comment:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
permissions:
pull-requests: write
needs: [generate-changed-icons-comment-data]
steps:
- name: Find Comment - name: Find Comment
uses: peter-evans/find-comment@v2 uses: peter-evans/find-comment@v2
id: fc id: pr-comment
with: with:
issue-number: ${{ github.event.pull_request.number }} issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]' comment-author: 'github-actions[bot]'
body-includes: Added or changed icons body-includes: Added or changed icons
- name: Generate comment markup
run: node ./scripts/generateChangedIconsCommentMarkup.mjs >> comment-markup.md
id: comment-markup
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
- name: Create or update comment - name: Create or update comment
uses: peter-evans/create-or-update-comment@v3 uses: peter-evans/create-or-update-comment@v3
with: with:
comment-id: ${{ steps.fc.outputs.comment-id }} comment-id: ${{ steps.pr-comment.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }} issue-number: ${{ github.event.pull_request.number }}
body: | body-path: ./comment-markup.md
### Added or changed icons
${{ needs.generate-changed-icons-comment-data.outputs.generate-2px-stroke-width }}<br/>
<details>
<summary>Preview cohesion</summary>
${{ needs.generate-changed-icons-comment-data.outputs.generate-cohesion-check-squares }}<br/>
${{ needs.generate-changed-icons-comment-data.outputs.generate-2px-stroke-width }}<br/>
${{ needs.generate-changed-icons-comment-data.outputs.generate-cohesion-check-random }}<br/>
</details>
<details>
<summary>Preview stroke widths</summary>
${{ needs.generate-changed-icons-comment-data.outputs.generate-1px-stroke-width }}<br/>
${{ needs.generate-changed-icons-comment-data.outputs.generate-2px-stroke-width }}<br/>
${{ needs.generate-changed-icons-comment-data.outputs.generate-3px-stroke-width }}<br/>
</details>
<details>
<summary>DPI Preview (24px)</summary>
${{ needs.generate-changed-icons-comment-data.outputs.generate-24px-dpi-preview }}
</details>
<details>
<summary>Icon X-rays</summary>
${{ needs.generate-changed-icons-comment-data.outputs.generate-x-rays }}
</details>
edit-mode: replace edit-mode: replace

16
.prettierignore Normal file
View File

@@ -0,0 +1,16 @@
pnpm-lock.yaml
# lucide-angular
packages/lucide-angular/.angular/cache
# lucide-static
packages/lucide-static/icons
packages/lucide-static/lib
packages/lucide-static/sprite.svg
packages/lucide-static/tags.json
packages/lucide-static/icon-nodes.json
packages/lucide-static/font
# lucide-svelte
packages/lucide-svelte/src/icons/*.svelte
packages/lucide-svelte/.svelte-kit

View File

@@ -50,7 +50,7 @@ Seperate them by two PRs; 'pr-01' `arrow`, `arrow-down` and 'pr-02' `bicycle`.
Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a :+1:. Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a :+1:.
If the icon has not already been requested, [create an issue](https://github.com/lucide-icons/lucide/issues/new?title=Icon%20Request:) with a title of `Icon request: <icon name>` and add as much information as possible. If the icon has not already been requested, [create an icon request issue](https://github.com/lucide-icons/lucide/issues/new?assignees=&labels=%F0%9F%99%8C+icon+request&projects=&template=01_icon_request.yml) and add as much information as possible.
### Icon Requests from Feather ### Icon Requests from Feather
@@ -72,8 +72,8 @@ pnpm install # 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/enhttps://lucide.dev/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/enhttps://lucide.dev/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](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`](./pnpm-workspace.yaml). There are more workspaces defined, see [`pnpm-workspace.yaml`](https://github.com/lucide-icons/lucide/blob/main/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.

View File

@@ -74,10 +74,6 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
}, },
{ {
text: 'Lucide Vue', text: 'Lucide Vue',
link: '/guide/packages/lucide-vue'
},
{
text: 'Lucide Vue Next (Vue 3)',
link: '/guide/packages/lucide-vue-next' link: '/guide/packages/lucide-vue-next'
}, },
{ {
@@ -100,10 +96,6 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
text: 'Lucide Static', text: 'Lucide Static',
link: '/guide/packages/lucide-static' link: '/guide/packages/lucide-static'
}, },
{
text: 'Lucide Flutter',
link: '/guide/packages/lucide-flutter'
},
] ]
}, },
{ {

View File

@@ -9,8 +9,6 @@ const props = defineProps<{
}>() }>()
const component = computed(() => props.href ? 'a' : 'div') const component = computed(() => props.href ? 'a' : 'div')
</script> </script>
<template> <template>
@@ -25,7 +23,7 @@ const component = computed(() => props.href ? 'a' : 'div')
</template> </template>
<style> <style>
.badge, a.badge { .badge, a.badge, .vp-doc a.badge {
display: block; display: block;
border: 1px solid transparent; border: 1px solid transparent;
text-align: center; text-align: center;
@@ -60,4 +58,6 @@ const component = computed(() => props.href ? 'a' : 'div')
/* color: var(--vp-button-alt-active-text); /* color: var(--vp-button-alt-active-text);
background-color: var(--vp-button-alt-active-bg); */ background-color: var(--vp-button-alt-active-bg); */
} }
</style> </style>

View File

@@ -94,8 +94,7 @@ const ChevronUp = createLucideIcon('ChevronUp', chevronUp)
.menu { .menu {
position: relative; position: relative;
} }
.menu-items { ul.menu-items {
--menu-offset: 44px;
position: absolute; position: absolute;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -103,7 +102,7 @@ const ChevronUp = createLucideIcon('ChevronUp', chevronUp)
padding: 12px; padding: 12px;
min-width: 128px; min-width: 128px;
border: 1px solid var(--vp-c-divider); border: 1px solid var(--vp-c-divider);
background-color: var(--vp-c-bg); background-color: var(--vp-c-bg-elv);
box-shadow: var(--vp-shadow-3); box-shadow: var(--vp-shadow-3);
transition: background-color 0.5s; transition: background-color 0.5s;
max-height: calc(100vh - var(--vp-nav-height)); max-height: calc(100vh - var(--vp-nav-height));
@@ -124,11 +123,12 @@ const ChevronUp = createLucideIcon('ChevronUp', chevronUp)
color: var(--vp-c-text-1); color: var(--vp-c-text-1);
white-space: nowrap; white-space: nowrap;
transition: background-color .25s,color .25s; transition: background-color .25s,color .25s;
list-style: none;
} }
.menu-item:hover { .menu-item:hover {
color: var(--vp-c-brand); color: var(--vp-c-brand);
background-color: var(--vp-c-bg-elv-mute); background-color: var(--vp-c-default-soft);
} }
.menu-item:active { .menu-item:active {
@@ -170,11 +170,11 @@ const ChevronUp = createLucideIcon('ChevronUp', chevronUp)
} }
.menu-items.bottom { .menu-items.bottom {
top: var(--menu-offset); top: 32px;
} }
.menu-items.top { .menu-items.top {
bottom: var(--menu-offset); bottom: 48px;
} }
.arrow-up-button.top::before { .arrow-up-button.top::before {

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, defineProps, onMounted } from 'vue' import { computed, onMounted } from 'vue'
const props = defineProps<{ const props = defineProps<{
groups: string[] | undefined, groups: string[] | undefined,
groupName: string, groupName: string,

View File

@@ -17,7 +17,7 @@ const SearchIcon = createLucideIcon('search', search)
background: var(--vp-c-bg-soft); background: var(--vp-c-bg-soft);
border-radius: 8px; border-radius: 8px;
color: var(--vp-c-text-2); color: var(--vp-c-text-2);
padding: 12px 16px; padding: 11px 16px;
height: auto; height: auto;
font-size: 14px; font-size: 14px;
/* box-shadow: var(--vp-shadow-4), var(--vp-shadow-2); */ /* box-shadow: var(--vp-shadow-4), var(--vp-shadow-2); */

View File

@@ -1,5 +1,4 @@
<script setup lang="ts"> <script setup lang="ts">
import { onMounted } from 'vue';
import { useCategoryView } from '../../composables/useCategoryView'; import { useCategoryView } from '../../composables/useCategoryView';
interface Header { interface Header {

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, ref } from 'vue'; import { computed } from 'vue';
import { startCase, camelCase } from 'lodash-es' import { startCase, camelCase } from 'lodash-es'
import ButtonMenu from '../base/ButtonMenu.vue' import ButtonMenu from '../base/ButtonMenu.vue'
import { useIconStyleContext } from '../../composables/useIconStyle'; import { useIconStyleContext } from '../../composables/useIconStyle';

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import type { IconEntity } from '../../types' import type { IconEntity } from '../../types'
import { computed, ref, watch } from 'vue' import { computed } from 'vue'
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon'; import createLucideIcon from 'lucide-vue-next/src/createLucideIcon';
import IconButton from '../base/IconButton.vue'; import IconButton from '../base/IconButton.vue';
import IconContributors from './IconContributors.vue'; import IconContributors from './IconContributors.vue';

View File

@@ -19,7 +19,11 @@ function setActiveIcon(name: string) {
<template> <template>
<div class="icons"> <div class="icons">
<div class="icon" v-for="icon in icons" :key="icon.name"> <div
class="icon"
v-for="icon in icons"
:key="icon.name"
>
<IconItem <IconItem
v-bind="icon" v-bind="icon"
@setActiveIcon="setActiveIcon(icon.name)" @setActiveIcon="setActiveIcon(icon.name)"

View File

@@ -1,4 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed } from 'vue';
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon'; import createLucideIcon from 'lucide-vue-next/src/createLucideIcon';
import { useMediaQuery } from '@vueuse/core'; import { useMediaQuery } from '@vueuse/core';
import { useRouter } from 'vitepress'; import { useRouter } from 'vitepress';
@@ -27,7 +28,10 @@ const showOverlay = useMediaQuery('(min-width: 860px)');
const { animate, confetti, confettiText } = useConfetti() const { animate, confetti, confettiText } = useConfetti()
const icon = createLucideIcon(props.name, props.iconNode) const icon = computed(() => {
if (!props.name || !props.iconNode) return null
return createLucideIcon(props.name, props.iconNode)
})
async function navigateToIcon(event) { async function navigateToIcon(event) {

View File

@@ -6,7 +6,6 @@ import InputSearch from '../base/InputSearch.vue';
import useSearchInput from '../../composables/useSearchInput'; import useSearchInput from '../../composables/useSearchInput';
import StickyBar from './StickyBar.vue'; import StickyBar from './StickyBar.vue';
import IconsCategory from './IconsCategory.vue'; import IconsCategory from './IconsCategory.vue';
import { useFetch } from '@vueuse/core';
import useFetchTags from '../../composables/useFetchTags'; import useFetchTags from '../../composables/useFetchTags';
import useFetchCategories from '../../composables/useFetchCategories'; import useFetchCategories from '../../composables/useFetchCategories';

View File

@@ -3,12 +3,8 @@ import { nextTick, onMounted, ref, watch } from 'vue';
const useSearchInput = () => { const useSearchInput = () => {
const searchInput = ref(); const searchInput = ref();
const searchQuery = ref( const searchQuery = ref<string>('');
typeof window === 'undefined' const searchQueryDebounced = useDebounce<string>(searchQuery, 200);
? ''
: new URLSearchParams(window.location.search).get('search') || ''
);
const searchQueryDebounced = useDebounce(searchQuery, 250);
watch(searchQueryDebounced, (searchString) => { watch(searchQueryDebounced, (searchString) => {
const newUrl = new URL(window.location.href); const newUrl = new URL(window.location.href);
@@ -26,6 +22,11 @@ const useSearchInput = () => {
onMounted(() => { onMounted(() => {
const searchParams = new URLSearchParams(window.location.search); const searchParams = new URLSearchParams(window.location.search);
if (searchParams.has('search')) {
searchQuery.value = searchParams.get('search');
}
if (searchParams.has('focus')) { if (searchParams.has('focus')) {
searchInput.value.focus(); searchInput.value.focus();
} }

View File

@@ -11,6 +11,6 @@
.app { .app {
display: grid; display: grid;
grid-template-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr grid-template-rows: 1fr 1fr 1fr;
gap: 6px; gap: 6px;
} }

View File

@@ -9,6 +9,6 @@
.app { .app {
display: grid; display: grid;
grid-template-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr grid-template-rows: 1fr 1fr 1fr;
gap: 6px; gap: 6px;
} }

View File

@@ -72,7 +72,7 @@ The example below imports all ES Modules, so exercise caution when using it. Imp
### Icon Component Example ### Icon Component Example
```jsx ```jsx
import { icons } from 'lucide-react'; import { icons } from 'lucide-react-native';
const Icon = ({ name, color, size }) => { const Icon = ({ name, color, size }) => {
const LucideIcon = icons[name]; const LucideIcon = icons[name];

View File

@@ -109,7 +109,8 @@ Example with React suspense:
```tsx ```tsx
import React, { lazy, Suspense } from 'react'; import React, { lazy, Suspense } from 'react';
import { dynamicIconImports, LucideProps } from 'lucide-react'; import { LucideProps } from 'lucide-react';
import dynamicIconImports from 'lucide-react/dynamicIconImports';
const fallback = <div style={{ background: '#ddd', width: 24, height: 24 }}/> const fallback = <div style={{ background: '#ddd', width: 24, height: 24 }}/>

View File

@@ -1,5 +1,6 @@
--- ---
aside: false aside: false
editLink: false
--- ---
# Lucide License # Lucide License

View File

@@ -2,7 +2,7 @@ import copy from 'rollup-plugin-copy';
import replace from '@rollup/plugin-replace'; import replace from '@rollup/plugin-replace';
export default defineNitroConfig({ export default defineNitroConfig({
preset: 'vercel-edge', preset: 'vercel_edge',
srcDir: '.vitepress', srcDir: '.vitepress',
routeRules: { routeRules: {
'/api/**': { cors: false }, '/api/**': { cors: false },

View File

@@ -5,9 +5,9 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"docs:dev": "pnpm prebuild && pnpm prepare && vitepress dev", "docs:dev": "pnpm run /^prebuild:.*/ && vitepress dev",
"docs:build": "pnpm prebuild && pnpm prepare && vitepress build", "docs:build": "pnpm run /^prebuild:.*/ && vitepress build",
"docs:preview": "pnpm prebuild && pnpm prepare && vitepress preview", "docs:preview": "vitepress preview",
"build:docs": "vitepress build", "build:docs": "vitepress build",
"prebuild:iconNodes": "node ../scripts/writeIconNodes.mjs", "prebuild:iconNodes": "node ../scripts/writeIconNodes.mjs",
"prebuild:metaJson": "node ../scripts/writeIconMetaIndex.mjs", "prebuild:metaJson": "node ../scripts/writeIconMetaIndex.mjs",
@@ -16,10 +16,9 @@
"prebuild:iconDetails": "node ../scripts/writeIconDetails.mjs", "prebuild:iconDetails": "node ../scripts/writeIconDetails.mjs",
"postbuild:vercelJson": "node ../scripts/writeVercelOutput.mjs", "postbuild:vercelJson": "node ../scripts/writeVercelOutput.mjs",
"dev": "npx nitropack dev", "dev": "npx nitropack dev",
"prepare": "npx nitropack prepare", "prebuild:api": "npx nitropack prepare",
"build:api": "npx nitropack build", "build:api": "npx nitropack build",
"prebuild": "pnpm prebuild:iconNodes && pnpm prebuild:metaJson && pnpm prebuild:releaseJson && pnpm prebuild:relatedIcons && pnpm prebuild:iconDetails", "build": "pnpm run /^prebuild:.*/ && pnpm run /^build:.*/ && pnpm postbuild:vercelJson",
"build": "pnpm prebuild && pnpm build:api && pnpm build:docs && pnpm postbuild:vercelJson",
"preview": "node .output/server/index.mjs" "preview": "node .output/server/index.mjs"
}, },
"author": "Eric Fennis", "author": "Eric Fennis",
@@ -28,17 +27,17 @@
"@rollup/plugin-replace": "^5.0.2", "@rollup/plugin-replace": "^5.0.2",
"@types/semver": "^7.5.3", "@types/semver": "^7.5.3",
"h3": "^1.8.0", "h3": "^1.8.0",
"nitropack": "npm:nitropack-edge@latest", "nitropack": "2.8.1",
"node-fetch": "2", "node-fetch": "2",
"rollup-plugin-copy": "^3.4.0", "rollup-plugin-copy": "^3.4.0",
"vitepress": "1.0.0-rc.30" "vitepress": "1.0.0-rc.36"
}, },
"dependencies": { "dependencies": {
"@floating-ui/vue": "^1.0.1", "@floating-ui/vue": "^1.0.3",
"@headlessui/vue": "^1.7.13", "@headlessui/vue": "^1.7.17",
"@resvg/resvg-wasm": "^2.4.1", "@resvg/resvg-wasm": "^2.4.1",
"@vueuse/components": "^10.1.0", "@vueuse/components": "^10.7.2",
"@vueuse/core": "^10.1.0", "@vueuse/core": "^10.7.2",
"element-to-path": "^1.2.1", "element-to-path": "^1.2.1",
"fuse.js": "^6.5.3", "fuse.js": "^6.5.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
@@ -49,13 +48,13 @@
"lucide-vue-next": "workspace:*", "lucide-vue-next": "workspace:*",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"sandpack-vue3": "^3.1.6", "sandpack-vue3": "3.1.8",
"semver": "^7.5.2", "semver": "^7.5.2",
"shikiji": "^0.7.4", "shikiji": "^0.7.4",
"simple-git": "^3.18.0", "simple-git": "^3.18.0",
"sitemap": "^7.1.1", "sitemap": "^7.1.1",
"svg-pathdata": "^6.0.3", "svg-pathdata": "^6.0.3",
"svgson": "^5.2.1", "svgson": "^5.2.1",
"vue": "^3.2.47" "vue": "^3.4.13"
} }
} }

View File

@@ -35,5 +35,16 @@
"destination": "/icons", "destination": "/icons",
"permanent": false "permanent": false
} }
],
"headers": [
{
"source": "/assets/:path*",
"headers": [
{
"key": "Cache-Control",
"value": "cache-control: public, max-age=31536000, immutable"
}
]
}
] ]
} }

View File

@@ -47,6 +47,10 @@
}, },
"minItems": 1, "minItems": 1,
"uniqueItems": true "uniqueItems": true
},
"deprecated": {
"type": "boolean",
"default": false
} }
}, },
"description": "A JSON Schema for icons defined by Lucide Icons." "description": "A JSON Schema for icons defined by Lucide Icons."

View File

@@ -6,7 +6,10 @@
], ],
"tags": [ "tags": [
"camera", "camera",
"photo" "photo",
"pictures",
"shutter",
"exposure"
], ],
"categories": [ "categories": [
"photography" "photography"

View File

@@ -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" x2="20.05" y1="8" y2="17.94" /> <path d="m14.31 8 5.74 9.94" />
<line x1="9.69" x2="21.17" y1="8" y2="8" /> <path d="M9.69 8h11.48" />
<line x1="7.38" x2="13.12" y1="12" y2="2.06" /> <path d="m7.38 12 5.74-9.94" />
<line x1="9.69" x2="3.95" y1="16" y2="6.06" /> <path d="M9.69 16 3.95 6.06" />
<line x1="14.31" x2="2.83" y1="16" y2="16" /> <path d="M14.31 16H2.83" />
<line x1="16.62" x2="10.88" y1="12" y2="21.94" /> <path d="m16.62 12-5.74 9.94" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 540 B

After

Width:  |  Height:  |  Size: 440 B

View File

@@ -0,0 +1,16 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"outwards",
"direction",
"south-west",
"diagonal"
],
"categories": [
"arrows",
"navigation"
]
}

View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6" />
<path d="m3 21 9-9" />
<path d="M9 21H3v-6" />
</svg>

After

Width:  |  Height:  |  Size: 331 B

View File

@@ -0,0 +1,16 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"outwards",
"direction",
"south-east",
"diagonal"
],
"categories": [
"arrows",
"navigation"
]
}

View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6" />
<path d="m21 21-9-9" />
<path d="M21 15v6h-6" />
</svg>

After

Width:  |  Height:  |  Size: 334 B

View File

@@ -0,0 +1,16 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"outwards",
"direction",
"north-west",
"diagonal"
],
"categories": [
"arrows",
"navigation"
]
}

View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6" />
<path d="m3 3 9 9" />
<path d="M3 9V3h6" />
</svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"outwards",
"direction",
"north-east",
"diagonal",
"share",
"open",
"external"
],
"categories": [
"arrows",
"navigation",
"social"
]
}

View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6" />
<path d="m21 3-9 9" />
<path d="M15 3h6v6" />
</svg>

After

Width:  |  Height:  |  Size: 330 B

32
icons/blend.json Normal file
View File

@@ -0,0 +1,32 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"mode",
"overlay",
"multiply",
"screen",
"opacity",
"transparency",
"alpha",
"filters",
"lenses",
"mixed",
"shades",
"tints",
"hues",
"saturation",
"brightness",
"overlap",
"colors",
"colours"
],
"categories": [
"design",
"photography",
"tools",
"development"
]
}

14
icons/blend.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="9" cy="9" r="7" />
<circle cx="15" cy="15" r="7" />
</svg>

After

Width:  |  Height:  |  Size: 276 B

View File

@@ -6,7 +6,8 @@
"tags": [ "tags": [
"draw", "draw",
"paint", "paint",
"color" "color",
"artist"
], ],
"categories": [ "categories": [
"text", "text",

View File

@@ -6,10 +6,13 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"confirm", "confirm",
"subscribe", "subscribe",
"schedule",
"done", "done",
"todo", "todo",
"tick", "tick",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M8 2v4" />
<path d="M16 2v4" />
<path d="M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" /> <path d="M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M3 10h18" />
<line x1="8" x2="8" y1="2" y2="6" />
<line x1="3" x2="21" y1="10" y2="10" />
<path d="m16 20 2 2 4-4" /> <path d="m16 20 2 2 4-4" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 380 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"confirm", "confirm",
"subscribe", "subscribe",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect width="18" height="18" x="3" y="4" rx="2" ry="2" /> <path d="M8 2v4" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M16 2v4" />
<line x1="8" x2="8" y1="2" y2="6" /> <rect width="18" height="18" x="3" y="4" rx="2" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M3 10h18" />
<path d="m9 16 2 2 4-4" /> <path d="m9 16 2 2 4-4" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 359 B

View File

@@ -6,9 +6,12 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"clock" "clock",
"hour"
], ],
"categories": [ "categories": [
"time" "time"

View File

@@ -13,6 +13,6 @@
<path d="M16 2v4" /> <path d="M16 2v4" />
<path d="M8 2v4" /> <path d="M8 2v4" />
<path d="M3 10h5" /> <path d="M3 10h5" />
<path d="M17.5 17.5 16 16.25V14" /> <path d="M17.5 17.5 16 16.3V14" />
<path d="M22 16a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z" /> <circle cx="16" cy="16" r="6" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 443 B

After

Width:  |  Height:  |  Size: 424 B

View File

@@ -6,7 +6,8 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "month",
"year",
"event" "event"
], ],
"categories": [ "categories": [

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect width="18" height="18" x="3" y="4" rx="2" ry="2" /> <path d="M8 2v4" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M16 2v4" />
<line x1="8" x2="8" y1="2" y2="6" /> <rect width="18" height="18" x="3" y="4" rx="2" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M3 10h18" />
<path d="M8 14h.01" /> <path d="M8 14h.01" />
<path d="M12 14h.01" /> <path d="M12 14h.01" />
<path d="M16 14h.01" /> <path d="M16 14h.01" />

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 484 B

19
icons/calendar-fold.json Normal file
View File

@@ -0,0 +1,19 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"date",
"month",
"year",
"event",
"birthday",
"birthdate",
"ics"
],
"categories": [
"time",
"files"
]
}

17
icons/calendar-fold.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 2v4" />
<path d="M16 2v4" />
<path d="M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z" />
<path d="M3 10h18" />
<path d="M15 22v-4a2 2 0 0 1 2-2h4" />
</svg>

After

Width:  |  Height:  |  Size: 393 B

View File

@@ -5,11 +5,13 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "month",
"year",
"event", "event",
"heart", "heart",
"favourite", "favourite",
"subscribe" "subscribe",
"valentines day"
], ],
"categories": [ "categories": [
"time" "time"

View File

@@ -9,9 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M21 10V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h7" /> <path d="M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7" />
<path d="M16 2v4" />
<path d="M8 2v4" /> <path d="M8 2v4" />
<path d="M3 10h18" /> <path d="M16 2v4" />
<path d="M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z" /> <path d="M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 547 B

After

Width:  |  Height:  |  Size: 525 B

View File

@@ -0,0 +1,18 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"date",
"day",
"month",
"year",
"event",
"delete",
"remove"
],
"categories": [
"time"
]
}

View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8 2v4" />
<path d="M16 2v4" />
<rect width="18" height="18" x="3" y="4" rx="2" />
<path d="M3 10h18" />
<path d="M10 16h4" />
</svg>

After

Width:  |  Height:  |  Size: 354 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"delete", "delete",
"remove" "remove"

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M8 2v4" />
<path d="M16 2v4" />
<path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" /> <path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M3 10h18" />
<line x1="8" x2="8" y1="2" y2="6" /> <path d="M16 19h6" />
<line x1="3" x2="21" y1="10" y2="10" />
<line x1="16" x2="22" y1="19" y2="19" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 374 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"delete", "delete",
"remove" "remove"

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M4.18 4.18A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18" /> <path d="M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18" />
<path d="M21 15.5V6a2 2 0 0 0-2-2H9.5" /> <path d="M21 15.5V6a2 2 0 0 0-2-2H9.5" />
<path d="M16 2v4" /> <path d="M16 2v4" />
<path d="M3 10h7" /> <path d="M3 10h7" />
<path d="M21 10h-5.5" /> <path d="M21 10h-5.5" />
<line x1="2" x2="22" y1="2" y2="22" /> <path d="m2 2 20 20" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 429 B

View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"date",
"day",
"month",
"year",
"event",
"add",
"subscribe",
"create",
"new"
],
"categories": [
"time"
]
}

18
icons/calendar-plus-2.svg Normal file
View 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="M8 2v4" />
<path d="M16 2v4" />
<rect width="18" height="18" x="3" y="4" rx="2" />
<path d="M3 10h18" />
<path d="M10 16h4" />
<path d="M12 14v4" />
</svg>

After

Width:  |  Height:  |  Size: 378 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"add", "add",
"subscribe", "subscribe",

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M8 2v4" />
<path d="M16 2v4" />
<path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" /> <path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M3 10h18" />
<line x1="8" x2="8" y1="2" y2="6" /> <path d="M16 19h6" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M19 16v6" />
<line x1="19" x2="19" y1="16" y2="22" />
<line x1="16" x2="22" y1="19" y2="19" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 398 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"range", "range",
"period" "period"

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect width="18" height="18" x="3" y="4" rx="2" ry="2" /> <rect width="18" height="18" x="3" y="4" rx="2" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M16 2v4" />
<line x1="8" x2="8" y1="2" y2="6" /> <path d="M3 10h18" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M8 2v4" />
<path d="M17 14h-6" /> <path d="M17 14h-6" />
<path d="M13 18H7" /> <path d="M13 18H7" />
<path d="M7 14h.01" /> <path d="M7 14h.01" />

Before

Width:  |  Height:  |  Size: 490 B

After

Width:  |  Height:  |  Size: 430 B

View File

@@ -6,9 +6,11 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"search", "month",
"events" "year",
"events",
"search"
], ],
"categories": [ "categories": [
"time" "time"

View File

@@ -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 2v14c0 1.1.9 2 2 2h7.5" /> <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="M8 2v4" />
<path d="M3 10h18" /> <path d="M3 10h18" />
<path d="M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6v0Z" /> <circle cx="18" cy="18" r="3" />
<path d="m22 22-1.5-1.5" /> <path d="m22 22-1.5-1.5" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 435 B

After

Width:  |  Height:  |  Size: 417 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"remove" "remove"
], ],

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M8 2v4" />
<path d="M16 2v4" />
<path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" /> <path d="M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M3 10h18" />
<line x1="8" x2="8" y1="2" y2="6" /> <path d="m17 22 5-5" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="m17 17 5 5" />
<line x1="17" x2="22" y1="17" y2="22" />
<line x1="17" x2="22" y1="22" y2="17" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 402 B

View File

@@ -6,7 +6,9 @@
], ],
"tags": [ "tags": [
"date", "date",
"time", "day",
"month",
"year",
"event", "event",
"remove", "remove",
"busy" "busy"

View File

@@ -9,10 +9,10 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect width="18" height="18" x="3" y="4" rx="2" ry="2" /> <path d="M8 2v4" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M16 2v4" />
<line x1="8" x2="8" y1="2" y2="6" /> <rect width="18" height="18" x="3" y="4" rx="2" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M3 10h18" />
<line x1="10" x2="14" y1="14" y2="18" /> <path d="m14 14-4 4" />
<line x1="14" x2="10" y1="14" y2="18" /> <path d="m10 14 4 4" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 382 B

View File

@@ -6,10 +6,11 @@
], ],
"tags": [ "tags": [
"date", "date",
"birthdate", "month",
"year",
"event",
"birthday", "birthday",
"time", "birthdate"
"event"
], ],
"categories": [ "categories": [
"time" "time"

View File

@@ -9,8 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<rect width="18" height="18" x="3" y="4" rx="2" ry="2" /> <path d="M8 2v4" />
<line x1="16" x2="16" y1="2" y2="6" /> <path d="M16 2v4" />
<line x1="8" x2="8" y1="2" y2="6" /> <rect width="18" height="18" x="3" y="4" rx="2" />
<line x1="3" x2="21" y1="10" y2="10" /> <path d="M3 10h18" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 330 B

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"colebemis", "colebemis",
"ericfennis" "ericfennis"

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"colebemis", "colebemis",
"ericfennis" "ericfennis"

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"colebemis", "colebemis",
"csandman", "csandman",

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"ahtohbi4", "ahtohbi4",
"karsa-mistmere" "karsa-mistmere"

38
icons/eclipse.json Normal file
View File

@@ -0,0 +1,38 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"lunar",
"solar",
"crescent moon",
"sun",
"earth",
"day",
"night",
"planet",
"space",
"mode",
"dark",
"light",
"toggle",
"switch",
"color",
"css",
"styles",
"display",
"accessibility",
"contrast",
"brightness",
"blend",
"shade"
],
"categories": [
"science",
"design",
"development",
"accessibility",
"photography"
]
}

14
icons/eclipse.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="M12 2a7 7 0 1 0 10 10" />
</svg>

After

Width:  |  Height:  |  Size: 281 B

View File

@@ -6,10 +6,13 @@
"ericfennis" "ericfennis"
], ],
"tags": [ "tags": [
"outbound" "outbound",
"open",
"share"
], ],
"categories": [ "categories": [
"arrows",
"text", "text",
"arrows" "social"
] ]
} }

View File

@@ -9,7 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" /> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
<polyline points="15 3 21 3 21 9" />
<line x1="10" x2="21" y1="14" y2="3" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"colebemis", "colebemis",
"csandman", "csandman",

View File

@@ -1,5 +1,6 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"deprecated": true,
"contributors": [ "contributors": [
"colebemis", "colebemis",
"csandman", "csandman",

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"zip", "zip",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M4 22V4c0-.5.2-1 .6-1.4C5 2.2 5.5 2 6 2h8.5L20 7.5V20c0 .5-.2 1-.6 1.4-.4.4-.9.6-1.4.6h-2" /> <path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v18" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<circle cx="10" cy="20" r="2" /> <circle cx="10" cy="20" r="2" />
<path d="M10 7V6" /> <path d="M10 7V6" />
<path d="M10 12v-1" /> <path d="M10 12v-1" />

Before

Width:  |  Height:  |  Size: 460 B

After

Width:  |  Height:  |  Size: 419 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"music", "music",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v2" /> <path d="M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<circle cx="3" cy="17" r="1" />
<path d="M2 17v-3a4 4 0 0 1 8 0v3" /> <path d="M2 17v-3a4 4 0 0 1 8 0v3" />
<circle cx="9" cy="17" r="1" /> <circle cx="9" cy="17" r="1" />
<circle cx="3" cy="17" r="1" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 418 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"music", "music",

View File

@@ -9,9 +9,7 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M17.5 22h.5c.5 0 1-.2 1.4-.6.4-.4.6-.9.6-1.4V7.5L14.5 2H6c-.5 0-1 .2-1.4.6C4.2 3 4 3.5 4 4v3" /> <path d="M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M10 20v-1a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0Z" /> <path d="M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0" />
<path d="M6 20v-1a2 2 0 1 0-4 0v1a2 2 0 1 0 4 0Z" />
<path d="M2 19v-3a6 6 0 0 1 12 0v3" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 507 B

After

Width:  |  Height:  |  Size: 415 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"model", "model",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" /> <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M8 10v8h8" />
<path d="m8 18 4-4" /> <path d="m8 18 4-4" />
<path d="M8 10v8h8" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 371 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"award", "award",

View File

@@ -9,7 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" /> <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" />
<path d="M12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" /> <circle cx="12" cy="10" r="3" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="m14 12.5 1 5.5-3-1-3 1 1-5.5" /> <path d="m14 12.5 1 5.5-3-1-3 1 1-5.5" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 388 B

After

Width:  |  Height:  |  Size: 400 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"award", "award",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M4 7V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-6" /> <path d="M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" /> <path d="M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" />
<path d="M7 16.5 8 22l-3-1-3 1 1-5.5" /> <path d="M7 16.5 8 22l-3-1-3 1 1-5.5" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 403 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"statistics", "statistics",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" /> <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M12 18v-6" />
<path d="M8 18v-1" /> <path d="M8 18v-1" />
<path d="M12 18v-6" />
<path d="M16 18v-3" /> <path d="M16 18v-3" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 395 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"statistics", "statistics",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
> >
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" /> <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" />
<polyline points="14 2 14 8 20 8" /> <path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M12 18v-4" />
<path d="M8 18v-2" /> <path d="M8 18v-2" />
<path d="M12 18v-4" />
<path d="M16 18v-6" /> <path d="M16 18v-6" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 395 B

View File

@@ -1,7 +1,8 @@
{ {
"$schema": "../icon.schema.json", "$schema": "../icon.schema.json",
"contributors": [ "contributors": [
"karsa-mistmere" "karsa-mistmere",
"danielbayley"
], ],
"tags": [ "tags": [
"box", "box",

Some files were not shown because too many files have changed in this diff Show More