Compare commits

...

24 Commits

Author SHA1 Message Date
Eric Fennis
9fb4b0b161 Add multiline support 2023-08-07 12:59:26 +02:00
Daniel Bayley
9ec40ae506 Add transport icons (#1412)
* Refine `truck` icon

* Refine `train` icon

* Rename `train` icon to `tram`

* Add `rail-symbol` icon

* Add `m-square` (metro) icon

* Add `train-track` icon

* Add `cable-car` icon

* Add `coach` icon

* Add `traffic-cone` icon

* Add `traffic-cone` variant

* Improve metadata

* Refine `bus` icon

* Add `traffic-lights` icon

* Revert "Add `traffic-lights` icon"

This reverts commit 22dcfc7aad.

* Refine `train-track` icon

* Rename `train` to `train-high-speed`

* Refine `car` icon

* Add `car-front` variant

* Add `car-taxi` icon

* Add `car-sports` icon

* Add `parking-meter` icon

* Add `tractor` icon

* Refine `bus` icon

* Refine `tractor` icon

* Refine `car-front` icon

* Refine `car-taxi` icon

* Refine `car-sports` icon

* Add `bus-school` icon

* Remove `traffic-cone` variant

* Add `train-high-speed-tunnel` icon

* Refine `coach` icon

* Refine `cable-car` icon

* Refine `car` icon

* Refine `train-high-speed` icon

* Refine `train-high-speed-tunnel` icon

* Update icons/car-front.svg

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

* Update icons/car.svg

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

* Update icons/car-taxi.svg

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

* Refine `coach` icon

* Add `coach` variant

* Rename `tram` to `tram-front`

* Rename `train-high-speed` to `train-front`

* Rename `train-high-speed-tunnel` to `train-front-tunnel`

* Rename `bus-school` to `bus-school-front`

* Rename `coach` to `coach-front`

* Rename `coach` variant to `coach-front` variant

* Rename `car-taxi` to `car-taxi-front`

* Rename `car-sports` to `car-sports-front`

* Add `car-electric-front` icon

* Refine `car-electric-front` icon

* Refine `car` icon

* Add `ship-wheel` icon

* Improve `ship` metadata

* Remove `bus-school-front` icon

* Remove `car-electric-front` icon

* Remove `car-sports-front` icon

* Remove `coach-front` variant

* Rename `coach-front` to `bus-front`

* Improve `train-front-tunnel` metadata

* Refine `car-taxi-front` icon

---------

Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2023-08-07 11:21:42 +02:00
Daniel Bayley
890514de6c Add blocks icons (#1055)
* Optimise `grid` icon

* Rename `grid` to `grid-3x3`

* Add `grid-2x2` icon

* Add `blocks` icon

* Update icons/blocks.svg

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

---------

Co-authored-by: Karsa <contact@karsa.org>
2023-08-06 16:24:50 +02:00
Eric Fennis
9463b2e445 Revert .mjs modules in build for Lucide React (#1471)
* switch to different build strategy for dynamicIconImports

* add remove for dynamicIconImports files
2023-08-06 15:47:07 +02:00
dependabot[bot]
0221022e24 Bump semver from 7.5.0 to 7.5.2 (#1469)
Bumps [semver](https://github.com/npm/node-semver) from 7.5.0 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.0...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 10:47:48 +02:00
Eric Fennis
751f7cb1e3 Adjust workflow 2023-07-31 21:21:43 +02:00
Daniel Bayley
4c90b84236 Add rabbit & turtle/snail & shell/aminal icons (#1234)
* Add `rabbit` icon

* Add `turtle` icon

* Update icons/rabbit.svg

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

* Refine `rabbit` icon

* Add `snail` icon

* Add `shell` icon

* Refine `snail` icon

* Refine `shell` icon

* Refine `snail` icon

* Refine `shell` icon

…to match `snail`.

* Flip `snail` icon to better match Lucide logo

* Refine `shell` icon

…to better match `snail` and the Lucide logo.

* Improve `shell` icon metadata

* Refine `turtle` icon

* Improve `contributor`s

* Reverse `snail` icon

* Reverse `shell` icon

* Reverse `lollipop` icon

* Add `paw-print` icon

* Add `fish-symbol` icon

* Improve metadata

* Update icons/egg-off.json

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

* Update icons/paw-print.svg

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

* Update icons/rabbit.svg

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

* Update icons/shell.svg

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

* Update icons/snail.svg

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

* Update icons/turtle.svg

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

* Fix `turtle` icon

* Update icons/turtle.svg

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

* Update turtle.svg

Restores @danielbayley's original optimization.

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Karsa <contact@karsa.org>
2023-07-31 12:32:44 +02:00
Eric Fennis
01be733532 update workflow 2023-07-30 20:39:47 +02:00
Ishan
4ffa38e013 Add: Missing README Image (#1456)
* Create powered-by-vercel.svg

* Update README.md

Add Missing Image

* Update README.md

* Delete assets directory

Cleanup
2023-07-25 12:53:28 +02:00
Alexandru Bacanu
0a38dccdae Update package.json (#1452) 2023-07-24 21:48:14 +02:00
Eric Fennis
3391b5b717 update workflows 2023-07-21 10:17:43 +02:00
Daniel Bayley
5c145f4e72 Refine [pencil-]ruler icons (#1442)
* Refine `pencil-ruler` icon

* Refine `ruler` icon

…to match `pencil-ruler`.

* Update icons/ruler.svg

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

* Update icons/pencil-ruler.svg

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

* Update icons/pencil-ruler.svg

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

* Update icons/pencil-ruler.svg

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

---------

Co-authored-by: Karsa <contact@karsa.org>
2023-07-21 09:47:16 +02:00
Daniel Bayley
74429a8e92 Optimise send icon/add variant (#1411)
* Add `send` variant

* Optimise `send` icon

* Refine `send` variant

* Refine `send` variant

* Rename `send-2` to `send-horizonal`
2023-07-19 21:17:31 +02:00
Ishan
1e99499dc8 Update createLucideIcon.ts (#1439)
* Update createLucideIcon.ts

Added Missing ref prop

* Update createLucideIcon.ts

* Update createLucideIcon.ts

ForwardRef need RefAttributes

* Update packages/lucide-react/src/createLucideIcon.ts

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

* Update createLucideIcon.ts

In needs RefAttributes for Forward Ref

* Update createLucideIcon.ts

* Update createLucideIcon.ts

cleanup

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2023-07-19 21:16:33 +02:00
Eric Fennis
724a43e3f0 fix site build 2023-07-19 19:37:07 +02:00
Eric Fennis
fb79059fca Move dynamicImportFile to dedicated file (#1440)
* test this

* Fixes dynamicImportsMap and types
2023-07-19 19:32:34 +02:00
Daniel Bayley
9a54838538 Sort out pen[cil]/edit icons/add pencil-ruler (stationery) icon/improve metadata (#1286)
* Add `pencil-ruler` icon

* Add `pencil-eraser` icon

* Optimise `pencil` icon

* Improve stationery metadata

* Fix/rename/refine/optimise `pen`[`cil`]/`edit` icons

* Improve metadata
2023-07-18 12:26:49 +02:00
James Yeoman
c7438c0c10 Add forward and backward overlap icons (#1425)
* Add forward and backward overlap icons

* Apply code suggestions

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

* Apply metadata suggestions

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

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
2023-07-18 09:56:25 +02:00
Eric Fennis
667ae303f8 add inputs in workflow 2023-07-18 09:55:07 +02:00
Eric Fennis
dc1d17181f Fix createdRelease in writeReleaseMetadata 2023-07-17 21:58:10 +02:00
Eric Fennis
26abdb904d Merge branch 'main' of https://github.com/lucide-icons/lucide 2023-07-17 21:28:46 +02:00
Eric Fennis
cf0264745e Remove alias 2023-07-17 21:28:43 +02:00
Daniel Bayley
510a5ec3b9 Add boombox icon (#1249)
* Add `boombox` icon

* Rename/refine `boom-box` icon

* Refine `boom-box` icon
2023-07-17 21:16:43 +02:00
Eric Fennis
e1bc19be4e Refactor to workflow call 2023-07-17 21:12:03 +02:00
103 changed files with 7896 additions and 7259 deletions

View File

@@ -10,8 +10,9 @@ on:
jobs:
create-release:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
outputs:
VERSION: ${{ steps.new-version.outputs.NEW_VERSION }}
steps:
- uses: actions/checkout@v3
@@ -64,15 +65,14 @@ jobs:
run: |
CHANGE_LOG=$(pnpm run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }})
CHANGE_LOG=$(tail -n +5 <<< $CHANGE_LOG)
CHANGE_LOG="${CHANGE_LOG//'%'/'%25'}"
CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}"
CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}"
echo $CHANGE_LOG
echo "CHANGE_LOG=$CHANGE_LOG" >> $GITHUB_OUTPUT
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:
GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}
- name: Check output
run: |
echo '${{ steps.new-version.outputs.NEW_VERSION }}'
@@ -85,7 +85,10 @@ jobs:
name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
body: ${{ steps.change-log.outputs.CHANGE_LOG }}
- name: Release packages
uses: './.github/workflows/release.yml'
with:
version: ${{ steps.new-version.outputs.NEW_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 }}

View File

@@ -5,6 +5,13 @@ on:
tags:
- 'v*'
workflow_call:
inputs:
version:
required: true
description: Version
type: string
workflow_dispatch:
inputs:
version:
@@ -25,7 +32,7 @@ jobs:
echo $VERSION_REF
echo "VERSION=${VERSION_REF/refs\/tags\/\v}" >> $GITHUB_OUTPUT
env:
VERSION_REF: ${{ github.event.inputs.version || github.ref }}
VERSION_REF: ${{ inputs.version || github.event.inputs.version || github.ref }}
release:
if: github.repository == 'lucide-icons/lucide'
@@ -74,7 +81,7 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Set Auth Token
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
run: npm config set //registry.npmjs.org/:_authToken ${{ inputs.NPM_TOKEN || secrets.NPM_TOKEN }}
- name: Set new version
run: pnpm --filter ${{ matrix.package }} version --new-version ${{ needs.pre-release.outputs.VERSION }} --no-git-tag-version
@@ -206,7 +213,7 @@ jobs:
- name: Release zip and fonts
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ needs.pre-release.outputs.VERSION }}
tag_name: ${{ needs.pre-release.outputs.VERSION }}
files: |
lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip
lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip

3
.gitignore vendored
View File

@@ -18,6 +18,9 @@ packages/**/src/icons/*.ts
packages/**/src/icons/*.tsx
packages/**/src/aliases.ts
packages/**/src/dynamicIconImports.ts
packages/**/dynamicIconImports.js
packages/**/dynamicIconImports.d.ts
packages/**/dynamicIconImports.js.map
packages/**/LICENSE
categories.json
tags.json

View File

@@ -286,5 +286,5 @@ Thank you to all the people who contributed to Lucide!
## Sponsors
<a href="https://vercel.com?utm_source=lucide&utm_campaign=oss">
<img src="./site/public/vercel.svg" alt="Powered by Vercel" width="200" />
<img src="/docs/public/vercel.svg" alt="Powered by Vercel" width="200" />
</a>

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Transportation",
"icon": "train"
"icon": "train-front"
}

View File

@@ -40,7 +40,7 @@ export default defineConfig({
},
head: [
[ 'script', {
src: 'https://plausible.io/js/script.js',
src: 'https://analytics.lucide.dev/js/script.js',
'data-domain': 'lucide.dev',
defer: ''
}],

View File

@@ -138,7 +138,8 @@ In NextJS [the dynamic function](https://nextjs.org/docs/pages/building-your-app
```tsx
import dynamic from 'next/dynamic'
import { dynamicIconImports, LucideProps } from 'lucide-react';
import { LucideProps } from 'lucide-react';
import dynamicIconImports from 'lucide-react/dynamicIconImports';
interface IconProps extends LucideProps {
name: keyof typeof dynamicIconImports;

View File

@@ -44,7 +44,7 @@
"lucide-vue-next": "workspace:*",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"semver": "^7.5.0",
"semver": "^7.5.2",
"shiki": "^0.14.2",
"shiki-processor": "^0.1.3",
"simple-git": "^3.18.0",

View File

@@ -8,7 +8,8 @@
"peace",
"freedom",
"wing",
"avian"
"avian",
"tweet"
],
"categories": [
"animals"

23
icons/blocks.json Normal file
View File

@@ -0,0 +1,23 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"addon",
"plugin",
"integration",
"extension",
"package",
"build",
"stack",
"toys",
"kids",
"children",
"learning"
],
"categories": [
"development",
"shapes"
]
}

14
icons/blocks.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"
>
<rect width="7" height="7" x="14" y="3" rx="1" />
<path d="M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3" />
</svg>

After

Width:  |  Height:  |  Size: 367 B

View File

@@ -5,14 +5,16 @@
"jguddas"
],
"tags": [
"medical",
"health",
"skeleton",
"skull",
"death",
"pet",
"gaming"
"pets",
"dog"
],
"categories": [
"animals",
"medical",
"animals"
"gaming"
]
}

18
icons/boom-box.json Normal file
View File

@@ -0,0 +1,18 @@
{
"$schema": "../icon.schema.json",
"tags": [
"radio",
"speakers",
"audio",
"music",
"sound",
"broadcast",
"live",
"frequency"
],
"categories": [
"devices",
"multimedia",
"social"
]
}

19
icons/boom-box.svg Normal file
View 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="M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4" />
<path d="M8 8v1" />
<path d="M12 8v1" />
<path d="M16 8v1" />
<rect width="20" height="12" x="2" y="9" rx="2" />
<circle cx="8" cy="15" r="2" />
<circle cx="16" cy="15" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 453 B

20
icons/bring-to-front.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"james-yeoman",
"jguddas"
],
"tags": [
"bring",
"send",
"move",
"over",
"forward",
"front",
"layer"
],
"categories": [
"design",
"layout"
]
}

15
icons/bring-to-front.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="8" y="8" width="8" height="8" rx="2" />
<path d="M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2" />
<path d="M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2" />
</svg>

After

Width:  |  Height:  |  Size: 395 B

15
icons/bus-front.json Normal file
View File

@@ -0,0 +1,15 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"coach",
"vehicle",
"trip",
"road"
],
"categories": [
"transportation"
]
}

21
icons/bus-front.svg Normal file
View File

@@ -0,0 +1,21 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 6 2 7" />
<path d="M10 6h4" />
<path d="m22 7-2-1" />
<rect width="16" height="16" x="4" y="3" rx="2" />
<path d="M4 11h16" />
<path d="M8 15h.01" />
<path d="M16 15h.01" />
<path d="M6 19v2" />
<path d="M18 21v-2" />
</svg>

After

Width:  |  Height:  |  Size: 456 B

View File

@@ -9,8 +9,11 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19 17h2l.64-2.54c.24-.959.24-1.962 0-2.92l-1.07-4.27A3 3 0 0 0 17.66 5H4a2 2 0 0 0-2 2v10h2" />
<path d="M14 17H9" />
<circle cx="6.5" cy="17.5" r="2.5" />
<circle cx="16.5" cy="17.5" r="2.5" />
<path d="M8 6v6" />
<path d="M15 6v6" />
<path d="M2 12h19.6" />
<path d="M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3" />
<circle cx="7" cy="18" r="2" />
<path d="M9 18h5" />
<circle cx="16" cy="18" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 421 B

After

Width:  |  Height:  |  Size: 492 B

17
icons/cable-car.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"ski lift",
"winter holiday",
"alpine",
"resort",
"mountains"
],
"categories": [
"transportation",
"travel"
]
}

20
icons/cable-car.svg Normal file
View File

@@ -0,0 +1,20 @@
<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 3h.01" />
<path d="M14 2h.01" />
<path d="m2 9 20-5" />
<path d="M12 12V6.5" />
<rect width="16" height="10" x="4" y="12" rx="3" />
<path d="M9 12v5" />
<path d="M15 12v5" />
<path d="M4 17h16" />
</svg>

After

Width:  |  Height:  |  Size: 434 B

15
icons/car-front.json Normal file
View File

@@ -0,0 +1,15 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"vehicle",
"drive",
"trip",
"journey"
],
"categories": [
"transportation"
]
}

18
icons/car-front.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="m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8" />
<path d="M7 14h.01" />
<path d="M17 14h.01" />
<rect width="18" height="8" x="3" y="10" rx="2" />
<path d="M5 18v2" />
<path d="M19 18v2" />
</svg>

After

Width:  |  Height:  |  Size: 446 B

16
icons/car-taxi-front.json Normal file
View File

@@ -0,0 +1,16 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"cab",
"vehicle",
"drive",
"trip",
"journey"
],
"categories": [
"transportation"
]
}

19
icons/car-taxi-front.svg Normal file
View 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 2h4" />
<path d="m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8" />
<path d="M7 14h.01" />
<path d="M17 14h.01" />
<rect width="18" height="8" x="3" y="10" rx="2" />
<path d="M5 18v2" />
<path d="M19 18v2" />
</svg>

After

Width:  |  Height:  |  Size: 469 B

View File

@@ -7,8 +7,9 @@
],
"tags": [
"vehicle",
"transport",
"trip"
"drive",
"trip",
"journey"
],
"categories": [
"transportation"

View File

@@ -9,7 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14 16H9m10 0h3v-3.15a1 1 0 0 0-.84-.99L16 11l-2.7-3.6a1 1 0 0 0-.8-.4H5.24a2 2 0 0 0-1.8 1.1l-.8 1.63A6 6 0 0 0 2 12.42V16h2" />
<circle cx="6.5" cy="16.5" r="2.5" />
<circle cx="16.5" cy="16.5" r="2.5" />
<path d="M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2" />
<circle cx="7" cy="17" r="2" />
<path d="M9 17h6" />
<circle cx="17" cy="17" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 430 B

After

Width:  |  Height:  |  Size: 486 B

View File

@@ -1,17 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"aliases": ["pen"],
"tags": [
"pencil",
"change"
],
"categories": [
"text"
]
}

View File

@@ -1,17 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"aliases": ["pen-line"],
"tags": [
"pencil",
"change"
],
"categories": [
"text"
]
}

View File

@@ -1,17 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"aliases": ["pen-box"],
"tags": [
"pencil",
"change"
],
"categories": [
"text"
]
}

View File

@@ -6,7 +6,9 @@
],
"tags": [
"egg free",
"food"
"vegan",
"hatched",
"bad egg"
],
"categories": [
"food-beverage"

View File

@@ -6,9 +6,18 @@
"ericfennis"
],
"tags": [
"food",
"bird",
"chick"
"chicken",
"nest",
"hatch",
"shell",
"incubate",
"soft boiled",
"hard",
"breakfast",
"brunch",
"morning",
"easter"
],
"categories": [
"food-beverage",

20
icons/fish-symbol.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"dish",
"restaurant",
"course",
"meal",
"seafood",
"pet",
"sea",
"marine"
],
"categories": [
"food-beverage",
"animals"
]
}

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" />
<path d="M2 16s9-15 20-4C11 23 2 8 2 8" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 253 B

View File

@@ -4,13 +4,11 @@
"kemie"
],
"tags": [
"food",
"dish",
"restaurant",
"course",
"meal",
"seafood",
"animal",
"pet",
"sea",
"marine"

30
icons/grid-2x2.json Normal file
View File

@@ -0,0 +1,30 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"table",
"rows",
"columns",
"blocks",
"plot",
"land",
"geometry",
"measure",
"size",
"width",
"height",
"distance",
"surface area",
"square meter",
"acre"
],
"categories": [
"text",
"layout",
"design",
"shapes",
"maths"
]
}

15
icons/grid-2x2.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M3 12h18" />
<path d="M12 3v18" />
</svg>

After

Width:  |  Height:  |  Size: 309 B

View File

@@ -8,11 +8,16 @@
"mittalyashu"
],
"tags": [
"table"
"table",
"rows",
"columns"
],
"categories": [
"text",
"layout",
"design"
],
"aliases": [
"grid"
]
}

17
icons/grid-3x3.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"
>
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M3 9h18" />
<path d="M3 15h18" />
<path d="M9 3v18" />
<path d="M15 3v18" />
</svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -1,17 +0,0 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
<line x1="3" x2="21" y1="9" y2="9" />
<line x1="3" x2="21" y1="15" y2="15" />
<line x1="9" x2="9" y1="3" y2="21" />
<line x1="15" x2="15" y1="3" y2="21" />
</svg>

Before

Width:  |  Height:  |  Size: 432 B

18
icons/m-square.json Normal file
View File

@@ -0,0 +1,18 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"metro",
"subway",
"underground",
"track",
"line"
],
"categories": [
"transportation",
"maps",
"navigation"
]
}

14
icons/m-square.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"
>
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M8 16V8l4 4 4-4v8" />
</svg>

After

Width:  |  Height:  |  Size: 294 B

17
icons/parking-meter.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"driving",
"car park",
"pay",
"sidewalk",
"pavement"
],
"categories": [
"transportation",
"maps"
]
}

17
icons/parking-meter.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="M9 9a3 3 0 1 1 6 0" />
<path d="M12 12v3" />
<path d="M11 15h2" />
<path d="M19 9a7 7 0 1 0-13.6 2.3C6.4 14.4 8 19 8 19h8s1.6-4.6 2.6-7.7c.3-.8.4-1.5.4-2.3" />
<path d="M12 19v3" />
</svg>

After

Width:  |  Height:  |  Size: 409 B

18
icons/paw-print.json Normal file
View File

@@ -0,0 +1,18 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"pets",
"vets",
"veterinarian",
"domesticated",
"cat",
"dog",
"bear"
],
"categories": [
"animals"
]
}

16
icons/paw-print.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="11" cy="4" r="2" />
<circle cx="18" cy="8" r="2" />
<circle cx="20" cy="16" r="2" />
<path d="M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z" />
</svg>

After

Width:  |  Height:  |  Size: 419 B

31
icons/pen-line.json Normal file
View File

@@ -0,0 +1,31 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"tags": [
"pencil",
"change",
"create",
"draw",
"writer",
"writing",
"biro",
"ink",
"marker",
"felt tip",
"stationery",
"artist"
],
"categories": [
"text",
"design",
"tools"
],
"aliases": [
"edit-3"
]
}

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M12 20h9" />
<path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" />
<path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
</svg>

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 292 B

32
icons/pen-square.json Normal file
View File

@@ -0,0 +1,32 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"tags": [
"pencil",
"change",
"create",
"draw",
"sketch",
"draft",
"writer",
"writing",
"biro",
"ink",
"marker",
"felt tip",
"stationery",
"artist"
],
"categories": [
"text"
],
"aliases": [
"pen-box",
"edit"
]
}

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" />
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" />
<path d="M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z" />
</svg>

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 343 B

31
icons/pen.json Normal file
View File

@@ -0,0 +1,31 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis"
],
"tags": [
"pencil",
"change",
"create",
"draw",
"writer",
"writing",
"biro",
"ink",
"marker",
"felt tip",
"stationery",
"artist"
],
"categories": [
"text",
"design",
"tools"
],
"aliases": [
"edit-2"
]
}

13
icons/pen.svg Normal file
View File

@@ -0,0 +1,13 @@
<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="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" />
</svg>

After

Width:  |  Height:  |  Size: 272 B

31
icons/pencil-line.json Normal file
View File

@@ -0,0 +1,31 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis",
"csandman",
"mittalyashu",
"ericfennis",
"danielbayley"
],
"tags": [
"pencil",
"change",
"create",
"draw",
"sketch",
"draft",
"writer",
"writing",
"biro",
"ink",
"marker",
"felt tip",
"stationery",
"artist"
],
"categories": [
"text",
"design",
"tools"
]
}

15
icons/pencil-line.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 20h9" />
<path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" />
<path d="m15 5 3 3" />
</svg>

After

Width:  |  Height:  |  Size: 317 B

41
icons/pencil-ruler.json Normal file
View File

@@ -0,0 +1,41 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"edit",
"create",
"draw",
"sketch",
"draft",
"writer",
"writing",
"stationery",
"artist",
"measurements",
"centimeters",
"cm",
"millimeters",
"mm",
"metre",
"foot",
"feet",
"inches",
"units",
"size",
"length",
"width",
"height",
"dimensions",
"depth",
"breadth",
"extent"
],
"categories": [
"tools",
"design",
"layout",
"text"
]
}

18
icons/pencil-ruler.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="m15 5 4 4" />
<path d="M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13" />
<path d="m8 6 2-2" />
<path d="m2 22 5.5-1.5L21.17 6.83a2.82 2.82 0 0 0-4-4L3.5 16.5Z" />
<path d="m18 16 2-2" />
<path d="m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17" />
</svg>

After

Width:  |  Height:  |  Size: 527 B

View File

@@ -3,15 +3,25 @@
"contributors": [
"ericfennis",
"wojtekmaj",
"mittalyashu"
"mittalyashu",
"danielbayley"
],
"tags": [
"rubber",
"edit",
"pen",
"create"
"create",
"draw",
"sketch",
"draft",
"writer",
"writing",
"stationery",
"artist"
],
"categories": [
"design",
"cursors"
"cursors",
"tools",
"text"
]
}

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="18" x2="22" y1="2" y2="6" />
<path d="M7.5 20.5 19 9l-4-4L3.5 16.5 2 22z" />
<path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" />
<path d="m15 5 4 4" />
</svg>

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 297 B

17
icons/rabbit.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "../icon.schema.json",
"tags": [
"animal",
"rodent",
"pet",
"pest",
"bunny",
"hare",
"fast",
"speed",
"hop"
],
"categories": [
"animals"
]
}

17
icons/rabbit.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="M20 8.54V4a2 2 0 1 0-4 0v3" />
<path d="M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1.93 1.93 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1c-1.7 0-3 1.3-3 3" />
<path d="M7.61 12.53a3 3 0 1 0-1.6 4.3" />
<path d="M13 16a3 3 0 0 1 2.24 5" />
<path d="M18 12h.01" />
</svg>

After

Width:  |  Height:  |  Size: 510 B

16
icons/rail-symbol.json Normal file
View File

@@ -0,0 +1,16 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"railway",
"train",
"track",
"line"
],
"categories": [
"transportation",
"maps"
]
}

15
icons/rail-symbol.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 15h14" />
<path d="M5 9h14" />
<path d="m14 20-5-5 6-6-5-5" />
</svg>

After

Width:  |  Height:  |  Size: 289 B

View File

@@ -7,13 +7,14 @@
"danielbayley"
],
"tags": [
"animal",
"mouse",
"mice",
"gerbil",
"rodent",
"pet",
"pest",
"plague"
"plague",
"disease"
],
"categories": [
"animals"

View File

@@ -7,12 +7,28 @@
"karsa-mistmere"
],
"tags": [
"measure",
"meter",
"measurements",
"centimeters",
"cm",
"millimeters",
"mm",
"metre",
"foot",
"inch"
"feet",
"inches",
"units",
"size",
"length",
"width",
"height",
"dimensions",
"depth",
"breadth",
"extent",
"stationery"
],
"categories": [
"tools",
"design",
"layout"
]

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21.3 8.7 8.7 21.3c-1 1-2.5 1-3.4 0l-2.6-2.6c-1-1-1-2.5 0-3.4L15.3 2.7c1-1 2.5-1 3.4 0l2.6 2.6c1 1 1 2.5 0 3.4Z" />
<path d="m7.5 10.5 2 2" />
<path d="m10.5 7.5 2 2" />
<path d="m13.5 4.5 2 2" />
<path d="m4.5 13.5 2 2" />
<path d="M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z" />
<path d="m14.5 12.5 2-2" />
<path d="m11.5 9.5 2-2" />
<path d="m8.5 6.5 2-2" />
<path d="m17.5 15.5 2-2" />
</svg>

Before

Width:  |  Height:  |  Size: 451 B

After

Width:  |  Height:  |  Size: 461 B

19
icons/send-horizonal.json Normal file
View File

@@ -0,0 +1,19 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"email",
"message",
"mail",
"paper airplane",
"paper aeroplane",
"submit"
],
"categories": [
"mail",
"communication",
"connectivity"
]
}

14
icons/send-horizonal.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"
>
<path d="m3 3 3 9-3 9 19-9Z" />
<path d="M6 12h16" />
</svg>

After

Width:  |  Height:  |  Size: 266 B

20
icons/send-to-back.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"james-yeoman",
"jguddas"
],
"tags": [
"bring",
"send",
"move",
"under",
"back",
"backwards",
"layer"
],
"categories": [
"design",
"layout"
]
}

16
icons/send-to-back.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="14" y="14" width="8" height="8" rx="2" />
<rect x="2" y="2" width="8" height="8" rx="2" />
<path d="M7 14v1a2 2 0 0 0 2 2h1" />
<path d="M14 7h1a2 2 0 0 1 2 2v1" />
</svg>

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="22" x2="11" y1="2" y2="13" />
<polygon points="22 2 15 22 11 13 2 9 22 2" />
<path d="m22 2-7 20-4-9-9-4Z" />
<path d="M22 2 11 13" />
</svg>

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 270 B

43
icons/shell.json Normal file
View File

@@ -0,0 +1,43 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"beach",
"sand",
"holiday",
"sealife",
"fossil",
"ammonite",
"biology",
"ocean",
"terminal",
"command line",
"session",
"bash",
"zsh",
"roll",
"wrap",
"chewing gum",
"bubble gum",
"sweet",
"sugar",
"hosepipe",
"carpet",
"string",
"spiral",
"spinner",
"hypnotise",
"hypnosis"
],
"categories": [
"animals",
"development",
"nature",
"science",
"travel",
"food-beverage",
"home"
]
}

13
icons/shell.svg Normal file
View File

@@ -0,0 +1,13 @@
<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 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44" />
</svg>

After

Width:  |  Height:  |  Size: 353 B

27
icons/ship-wheel.json Normal file
View File

@@ -0,0 +1,27 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"steering",
"rudder",
"boat",
"knots",
"nautical mile",
"maritime",
"sailing",
"yacht",
"cruise",
"ocean liner",
"tanker",
"vessel",
"navy",
"trip"
],
"categories": [
"transportation",
"travel",
"maps"
]
}

22
icons/ship-wheel.svg Normal file
View File

@@ -0,0 +1,22 @@
<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="8" />
<path d="M12 2v7.5" />
<path d="m19 5-5.23 5.23" />
<path d="M22 12h-7.5" />
<path d="m19 19-5.23-5.23" />
<path d="M12 14.5V22" />
<path d="M10.23 13.77 5 19" />
<path d="M9.5 12H2" />
<path d="M10.23 10.23 5 5" />
<circle cx="12" cy="12" r="2.5" />
</svg>

After

Width:  |  Height:  |  Size: 512 B

View File

@@ -5,9 +5,17 @@
],
"tags": [
"boat",
"trip",
"knots",
"nautical mile",
"maritime",
"navy"
"sailing",
"yacht",
"cruise",
"ocean liner",
"tanker",
"vessel",
"navy",
"trip"
],
"categories": [
"transportation",

18
icons/snail.json Normal file
View File

@@ -0,0 +1,18 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"animal",
"insect",
"slow",
"speed",
"delicacy",
"spiral"
],
"categories": [
"animals",
"food-beverage"
]
}

17
icons/snail.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="M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0" />
<circle cx="10" cy="13" r="8" />
<path d="M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6" />
<path d="M18 3 19.1 5.2" />
<path d="M22 3 20.9 5.2" />
</svg>

After

Width:  |  Height:  |  Size: 425 B

19
icons/tractor.json Normal file
View File

@@ -0,0 +1,19 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"farming",
"farmer",
"ranch",
"harvest",
"equipment",
"vehicle"
],
"categories": [
"transportation",
"sustainability",
"food-beverage"
]
}

21
icons/tractor.svg Normal file
View File

@@ -0,0 +1,21 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 4h9l1 7" />
<path d="M4 11V4" />
<path d="M8 10V4" />
<path d="M18 5c-.6 0-1 .4-1 1v5.6" />
<path d="m10 11 11 .9c.6 0 .9.5.8 1.1l-.8 5h-1" />
<circle cx="7" cy="15" r=".5" />
<circle cx="7" cy="15" r="5" />
<path d="M16 18h-5" />
<circle cx="18" cy="18" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 502 B

15
icons/traffic-cone.json Normal file
View File

@@ -0,0 +1,15 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"roadworks",
"tarmac",
"safety",
"block"
],
"categories": [
"transportation"
]
}

16
icons/traffic-cone.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9.3 6.2a4.55 4.55 0 0 0 5.4 0" />
<path d="M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3" />
<path d="M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z" />
<path d="m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8" />
</svg>

After

Width:  |  Height:  |  Size: 561 B

View File

@@ -0,0 +1,21 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"railway",
"metro",
"subway",
"underground",
"speed",
"bullet",
"fast",
"track",
"line"
],
"categories": [
"transportation",
"maps"
]
}

View 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="M2 22V12a10 10 0 1 1 20 0v10" />
<path d="M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8" />
<path d="M10 15h.01" />
<path d="M14 15h.01" />
<path d="M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z" />
<path d="m9 19-2 3" />
<path d="m15 19 2 3" />
</svg>

After

Width:  |  Height:  |  Size: 473 B

20
icons/train-front.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"railway",
"metro",
"subway",
"underground",
"high-speed",
"bullet",
"fast",
"track",
"line"
],
"categories": [
"transportation"
]
}

18
icons/train-front.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 3.1V7a4 4 0 0 0 8 0V3.1" />
<path d="m9 15-1-1" />
<path d="m15 15 1-1" />
<path d="M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z" />
<path d="m8 19-2 3" />
<path d="m16 19 2 3" />
</svg>

After

Width:  |  Height:  |  Size: 427 B

14
icons/train-track.json Normal file
View File

@@ -0,0 +1,14 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
],
"tags": [
"railway",
"line"
],
"categories": [
"transportation",
"maps"
]
}

19
icons/train-track.svg Normal file
View 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="M2 17 17 2" />
<path d="m2 14 8 8" />
<path d="m5 11 8 8" />
<path d="m8 8 8 8" />
<path d="m11 5 8 8" />
<path d="m14 2 8 8" />
<path d="M7 22 22 7" />
</svg>

After

Width:  |  Height:  |  Size: 384 B

View File

@@ -5,12 +5,18 @@
"karsa-mistmere"
],
"tags": [
"transport",
"railway",
"metro",
"subway",
"underground"
"underground",
"track",
"line",
"tourism"
],
"categories": [
"transportation"
],
"aliases": [
"train"
]
}

View File

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 406 B

View File

@@ -6,13 +6,14 @@
"ericfennis",
"Andreto",
"csandman",
"karsa-mistmere"
"karsa-mistmere",
"danielbayley"
],
"tags": [
"delivery",
"van",
"shipping",
"transport",
"haulage",
"lorry"
],
"categories": [

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 17h4V5H2v12h3" />
<path d="M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5" />
<path d="M14 17h1" />
<circle cx="7.5" cy="17.5" r="2.5" />
<circle cx="17.5" cy="17.5" r="2.5" />
<path d="M5 18H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v11" />
<path d="M14 9h4l4 4v4c0 .6-.4 1-1 1h-2" />
<circle cx="7" cy="18" r="2" />
<path d="M15 18H9" />
<circle cx="17" cy="18" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 404 B

After

Width:  |  Height:  |  Size: 420 B

13
icons/turtle.json Normal file
View File

@@ -0,0 +1,13 @@
{
"$schema": "../icon.schema.json",
"tags": [
"animal",
"pet",
"tortoise",
"slow",
"speed"
],
"categories": [
"animals"
]
}

16
icons/turtle.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z" />
<path d="M4.82 7.9 8 10" />
<path d="M15.18 7.9 12 10" />
<path d="M16.93 10H20a2 2 0 0 1 0 4H2" />
</svg>

After

Width:  |  Height:  |  Size: 432 B

View File

@@ -1,8 +1,5 @@
{
"$schema": "../icon.schema.json",
"aliases": [
"tv-2"
],
"contributors": [
"ericfennis"
],
@@ -30,4 +27,4 @@
"devices",
"multimedia"
]
}
}

View File

@@ -44,7 +44,7 @@
"node-fetch": "^3.3.1",
"p-memoize": "^7.1.1",
"prettier": "2.7.1",
"semver": "^7.5.3",
"semver": "^7.5.2",
"simple-git": "^3.19.1",
"svgo": "^3.0.2",
"svgson": "^5.2.1"

View File

@@ -112,7 +112,8 @@ In NextJS [the dynamic function](https://nextjs.org/docs/pages/building-your-app
```tsx
import dynamic from 'next/dynamic'
import { dynamicIconImports, LucideProps } from 'lucide-react';
import { LucideProps } from 'lucide-react';
import dynamicIconImports from 'lucide-react/dynamicIconImports';
interface IconProps extends LucideProps {
name: keyof typeof dynamicIconImports;

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-react",
"description": "A Lucide icon library package for React applications",
"version": "0.0.1",
"version": "0.263.2-beta.0",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",
@@ -19,12 +19,15 @@
"typings": "dist/lucide-react.d.ts",
"sideEffects": false,
"files": [
"dist"
"dist",
"dynamicIconImports.js",
"dynamicIconImports.js.map",
"dynamicIconImports.d.ts"
],
"scripts": {
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm typecheck && pnpm build:bundles",
"copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.ts",
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.ts && rm -f dynamicIconImports.*",
"build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --withDynamicImports --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=index.ts",
"build:types": "node ./scripts/buildTypes.mjs",
"build:bundles": "rollup -c ./rollup.config.mjs",

View File

@@ -23,7 +23,6 @@ const bundles = [
inputs,
outputDir,
aliasesSupport: true,
withDynamicImports: true,
},
{
format: 'esm',
@@ -31,12 +30,25 @@ const bundles = [
outputDir,
preserveModules: true,
aliasesSupport: true,
withDynamicImports: true,
},
{
format: 'esm',
inputs: ['src/dynamicIconImports.ts'],
outputFile: 'dynamicIconImports.js',
aliasesSupport: true,
external: [/src/],
paths: (id) => {
if (id.match(/src/)) {
const [, modulePath] = id.match(/src\/(.*)\.ts/)
return `dist/esm/${modulePath}.js`
}
}
},
];
const configs = bundles
.map(({ inputs, outputDir, format, minify, preserveModules, aliasesSupport, withDynamicImports }) =>
.map(({ inputs, outputDir, outputFile, format, minify, preserveModules, aliasesSupport, entryFileNames, external = [], paths }) =>
inputs.map(input => ({
input,
plugins: [
@@ -50,27 +62,24 @@ const configs = bundles
}),
] : []
),
...(
!withDynamicImports ? [
replace({
"export { default as dynamicIconImports } from './dynamicIconImports';": '',
delimiters: ['', ''],
preventAssignment: false,
}),
] : []
),
...plugins(pkg, minify)
],
external: ['react', 'prop-types'],
external: [
'react',
'prop-types',
...external
],
output: {
name: packageName,
...(preserveModules
? {
dir: `${outputDir}/${format}`,
dir:`${outputDir}/${format}`,
}
: {
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
file: outputFile ?? `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
}),
paths,
entryFileNames,
format,
sourcemap: true,
preserveModules,
@@ -84,6 +93,13 @@ const configs = bundles
.flat();
export default [
{
input: 'src/dynamicIconImports.ts',
output: [{
file: `dynamicIconImports.d.ts`, format: "es"
}],
plugins: [dts()],
},
{
input: inputs[0],
output: [{

View File

@@ -4,13 +4,14 @@ import defaultAttributes from './defaultAttributes';
export type IconNode = [elementName: keyof ReactSVG, attrs: Record<string, string>][]
export type SVGAttributes = Partial<SVGProps<SVGSVGElement>>
type ComponentAttributes = RefAttributes<SVGSVGElement> & SVGAttributes
export interface LucideProps extends SVGAttributes {
export interface LucideProps extends ComponentAttributes {
size?: string | number
absoluteStrokeWidth?: boolean
}
export type LucideIcon = ForwardRefExoticComponent<LucideProps & RefAttributes<SVGSVGElement>>
export type LucideIcon = ForwardRefExoticComponent<LucideProps>;
/**
* Converts string to KebabCase
* Copied from scripts/helper. If anyone knows how to properly import it here

View File

@@ -1,7 +1,6 @@
export * from './icons';
export * as icons from './icons';
export * from './aliases';
export { default as dynamicIconImports } from './dynamicIconImports';
export {
default as createLucideIcon,
type IconNode,

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