Compare commits
75 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d1fdd703c | ||
|
|
706486b3b7 | ||
|
|
3a7b878847 | ||
|
|
2eb158f32b | ||
|
|
3fa66dac91 | ||
|
|
9a236be5d5 | ||
|
|
dd39ba7722 | ||
|
|
1b6847f0c7 | ||
|
|
3b8297f10c | ||
|
|
530fffc49d | ||
|
|
6461798850 | ||
|
|
e731e808a3 | ||
|
|
099575b9cf | ||
|
|
d79a33d514 | ||
|
|
6630882137 | ||
|
|
a723c0f137 | ||
|
|
54a6ec1d5c | ||
|
|
4e53232d9d | ||
|
|
91d0a124ca | ||
|
|
1228999214 | ||
|
|
718f67d339 | ||
|
|
6cc2927ade | ||
|
|
a96e9db8e5 | ||
|
|
ced1431b6b | ||
|
|
82fcb2a896 | ||
|
|
846d303345 | ||
|
|
8ab0d4d739 | ||
|
|
cf19731e6a | ||
|
|
f86a6a960b | ||
|
|
9e63e97f31 | ||
|
|
81b85839eb | ||
|
|
15ac2cf282 | ||
|
|
1c1b6c7732 | ||
|
|
29236b45d1 | ||
|
|
1e9a09e8f3 | ||
|
|
9031285357 | ||
|
|
03fd0452f3 | ||
|
|
e4adf28a48 | ||
|
|
9af28b9247 | ||
|
|
e9879d5db0 | ||
|
|
95f66ca5b0 | ||
|
|
b72d86604b | ||
|
|
97c03c7d15 | ||
|
|
f8f98394f4 | ||
|
|
ff0901bf0c | ||
|
|
66f2dc24b1 | ||
|
|
fd20bc5fd9 | ||
|
|
997daac4e6 | ||
|
|
d218851416 | ||
|
|
acf51993d7 | ||
|
|
02cb296050 | ||
|
|
df3bd24540 | ||
|
|
75887dc14c | ||
|
|
a50076fcb9 | ||
|
|
eeff4e2718 | ||
|
|
f065767560 | ||
|
|
7cbc2ac5a7 | ||
|
|
494292618b | ||
|
|
820727329d | ||
|
|
c51bffbd54 | ||
|
|
cad3214584 | ||
|
|
733448d041 | ||
|
|
c7b9f9aaae | ||
|
|
d0e6b9c015 | ||
|
|
0e83769729 | ||
|
|
da5a92746f | ||
|
|
551cc30e79 | ||
|
|
09edf6d16c | ||
|
|
7cc4041a35 | ||
|
|
5418c63468 | ||
|
|
269d5fa2d0 | ||
|
|
c130e58c46 | ||
|
|
2a8f734a19 | ||
|
|
1ddce5b3cb | ||
|
|
859577768c |
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: Bug report
|
name: Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
labels: bug
|
labels: "🐛 bug"
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE/icon_request.md
vendored
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: Icon request
|
name: Icon request
|
||||||
about: Suggest an new icon for this project
|
about: Suggest an new icon for this project
|
||||||
labels: "icon request"
|
labels: "🙌 icon request"
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
15
.github/PULL_REQUEST_TEMPLATE/new-icon.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
name: New icon
|
||||||
|
about: Add a new icon to the library
|
||||||
|
labels: "🎨 <icon"
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- Thanks for submitting an icon! Please make sure you read the icon design guide
|
||||||
|
at https://github.com/lucide-icons/lucide/blob/master/docs/ICON_DESIGN_GUIDE.md beforehand,
|
||||||
|
and please fill everything below. -->
|
||||||
|
|
||||||
|
- **Name of the icon** : <!-- `icon` -->
|
||||||
|
- **Tags (alternative names for this icon)** (add them in tags.json) :
|
||||||
|
- **What is the purpose of this icon?** : <!-- Shows that one can click it to... / Is used to denote or label... -->
|
||||||
|
- **100% scale preview** : <!-- upload an image -->
|
||||||
|
- **Have you considered alternative possibilities** for its naming or design? :
|
||||||
7
.github/workflows/ci.yml
vendored
@@ -18,11 +18,11 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Fetch tags
|
- name: Fetch tags
|
||||||
run: git fetch --tags
|
run: git fetch --all --tags
|
||||||
|
|
||||||
- name: Get latest tag
|
- name: Get latest tag
|
||||||
id: latest-tag
|
id: latest-tag
|
||||||
run: echo "::set-output name=LATEST_TAG::$(git tag --list 2>/dev/null | tail -n1 2>/dev/null)"
|
run: echo "::set-output name=LATEST_TAG::$(git describe --tags `git rev-list --tags --max-count=1`)"
|
||||||
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarn_cache
|
id: yarn_cache
|
||||||
@@ -39,6 +39,9 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn --pure-lockfile
|
run: yarn --pure-lockfile
|
||||||
|
|
||||||
|
- name: Check if we can patch
|
||||||
|
run: .github/workflows/version-up.sh --patch
|
||||||
|
|
||||||
- name: Create new version
|
- name: Create new version
|
||||||
id: new-version
|
id: new-version
|
||||||
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --patch)"
|
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --patch)"
|
||||||
|
|||||||
18
.github/workflows/close-stale-prs.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: 'Close stale issues and PR'
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '45 1 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v3
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
|
||||||
|
close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.'
|
||||||
|
close-pr-label: '🧶 stale'
|
||||||
|
days-before-stale: 30
|
||||||
|
days-before-close: 5
|
||||||
|
days-before-pr-close: -1
|
||||||
96
.github/workflows/release.yml
vendored
@@ -5,6 +5,12 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: 'Version'
|
||||||
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-build:
|
pre-build:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
@@ -16,7 +22,11 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Get the version
|
- name: Get the version
|
||||||
id: get_version
|
id: get_version
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/\v}
|
run: |
|
||||||
|
echo $VERSION_REF
|
||||||
|
echo ::set-output name=VERSION::${VERSION_REF/refs\/tags\/\v}
|
||||||
|
env:
|
||||||
|
VERSION_REF: ${{ github.event.inputs.version || github.ref }}
|
||||||
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarn_cache
|
id: yarn_cache
|
||||||
@@ -137,6 +147,47 @@ jobs:
|
|||||||
name: lucide-vue-package-json
|
name: lucide-vue-package-json
|
||||||
path: packages/lucide-vue/package.json
|
path: packages/lucide-vue/package.json
|
||||||
|
|
||||||
|
lucide-vue-next:
|
||||||
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: pre-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: '12.x'
|
||||||
|
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn --pure-lockfile
|
||||||
|
|
||||||
|
- name: Set Auth Token
|
||||||
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set new version
|
||||||
|
run: yarn workspace lucide-vue-next version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: yarn workspace lucide-vue-next build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: yarn workspace lucide-vue-next test
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
run: yarn workspace lucide-vue-next publish
|
||||||
|
|
||||||
|
- name: Upload package.json
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: lucide-vue-next-package-json
|
||||||
|
path: packages/lucide-vue-next/package.json
|
||||||
|
|
||||||
lucide-angular:
|
lucide-angular:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -171,12 +222,50 @@ jobs:
|
|||||||
- name: Upload package.json
|
- name: Upload package.json
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
|
name: lucide-angular-package-json
|
||||||
path: packages/lucide-angular/package.json
|
path: packages/lucide-angular/package.json
|
||||||
|
|
||||||
|
lucide-preact:
|
||||||
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: pre-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn --pure-lockfile
|
||||||
|
|
||||||
|
- name: Set Auth Token
|
||||||
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set package.json version lucide
|
||||||
|
run: yarn workspace lucide-preact version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: yarn workspace lucide-preact build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: yarn workspace lucide-preact test
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
run: yarn workspace lucide-preact publish
|
||||||
|
|
||||||
|
- name: Upload package.json
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: lucide-preact-package-json
|
||||||
|
path: packages/lucide-preact/package.json
|
||||||
|
|
||||||
upload-package-jsons:
|
upload-package-jsons:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [lucide, lucide-react, lucide-vue, lucide-angular]
|
needs: [pre-build, lucide, lucide-react, lucide-vue, lucide-vue-next, lucide-angular, lucide-preact]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -187,6 +276,9 @@ jobs:
|
|||||||
mv lucide-package-json/package.json packages/lucide/package.json
|
mv lucide-package-json/package.json packages/lucide/package.json
|
||||||
mv lucide-react-package-json/package.json packages/lucide-react/package.json
|
mv lucide-react-package-json/package.json packages/lucide-react/package.json
|
||||||
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
|
mv lucide-vue-package-json/package.json packages/lucide-vue/package.json
|
||||||
|
mv lucide-preact-package-json/package.json packages/lucide-preact/package.json
|
||||||
|
mv lucide-vue-next-package-json/package.json packages/lucide-vue-next/package.json
|
||||||
|
mv lucide-angular-package-json/package.json packages/lucide-angular/package.json
|
||||||
|
|
||||||
- name: Commit package.jsons
|
- name: Commit package.jsons
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
2
.github/workflows/version-up.sh
vendored
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## get highest version tag for all branches
|
## get highest version tag for all branches
|
||||||
function highest_tag(){
|
function highest_tag(){
|
||||||
local TAG=$(git tag --list 2>/dev/null | tail -n1 2>/dev/null)
|
local TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||||
echo "$TAG"
|
echo "$TAG"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
41
README.md
@@ -9,9 +9,10 @@
|
|||||||
## What is Lucide?
|
## What is Lucide?
|
||||||
|
|
||||||
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
|
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
|
||||||
Started after growing disaffection of the moderation of the [Feather Icons](https://github.com/feathericons/feather) project, with over 300+ open issues and over 100+ open PRs, this project is no longer maintained. The owner of the project stopped merging icons and want to keep the project like it now is. Hundreds of developers/designer wasted their time trying to contribute, what a shame.
|
|
||||||
|
|
||||||
We're trying to expanding the icon set as much as possible while keeping it nice-looking, we do it as a community of devs and designers, join us!
|
It began after growing disaffection of the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
|
||||||
|
|
||||||
|
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers and hope that you'll join us!
|
||||||
|
|
||||||
### Why choose Lucide over Feather Icons
|
### Why choose Lucide over Feather Icons
|
||||||
|
|
||||||
@@ -27,8 +28,10 @@ We're trying to expanding the icon set as much as possible while keeping it nice
|
|||||||
* [Usage](#usage)
|
* [Usage](#usage)
|
||||||
* [Web](#web)
|
* [Web](#web)
|
||||||
* [React](#react)
|
* [React](#react)
|
||||||
* [Vue](#vue)
|
* [Vue 2](#vue-2)
|
||||||
|
* [Vue 3](#vue-3)
|
||||||
* [Angular](#angular)
|
* [Angular](#angular)
|
||||||
|
* [Preact](#preact)
|
||||||
* [Figma](#figma)
|
* [Figma](#figma)
|
||||||
* [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
* [Community](#community)
|
* [Community](#community)
|
||||||
@@ -36,7 +39,7 @@ We're trying to expanding the icon set as much as possible while keeping it nice
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Feather icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web – Implementation Options](https://svgontheweb.com/#implementation)
|
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Lucide icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web – Implementation Options](https://svgontheweb.com/#implementation)
|
||||||
|
|
||||||
The following are additional ways you can use Lucide.
|
The following are additional ways you can use Lucide.
|
||||||
With the Javascript library you can easily incorporate the icon you want in your webpage.
|
With the Javascript library you can easily incorporate the icon you want in your webpage.
|
||||||
@@ -69,7 +72,7 @@ npm install lucide-react
|
|||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-react#lucide-react).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-react#lucide-react).
|
||||||
|
|
||||||
### Vue
|
### Vue 2
|
||||||
|
|
||||||
Implementation of the lucide icon library for vue applications.
|
Implementation of the lucide icon library for vue applications.
|
||||||
|
|
||||||
@@ -83,6 +86,20 @@ npm install lucide-vue
|
|||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue#lucide-vue).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue#lucide-vue).
|
||||||
|
|
||||||
|
### Vue 3
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for vue applications.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-vue-next
|
||||||
|
|
||||||
|
# or
|
||||||
|
|
||||||
|
npm install lucide-vue-next
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue-next#lucide-vue-next).
|
||||||
|
|
||||||
### Angular
|
### Angular
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -95,6 +112,20 @@ npm install lucide-angular
|
|||||||
|
|
||||||
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/packages/lucide-angular#lucide-angular).
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/packages/lucide-angular#lucide-angular).
|
||||||
|
|
||||||
|
### Preact
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for preact applications.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-preact
|
||||||
|
|
||||||
|
# or
|
||||||
|
|
||||||
|
npm install lucide-preact
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-preact#lucide-preact).
|
||||||
|
|
||||||
### Figma
|
### Figma
|
||||||
|
|
||||||
The lucide figma plugin.
|
The lucide figma plugin.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
presets: ['@babel/env'],
|
presets: ['@babel/env'],
|
||||||
|
// babelrcRoots: ['.', './packages/*'],
|
||||||
env: {
|
env: {
|
||||||
test: {
|
test: {
|
||||||
presets: ['@babel/env'],
|
presets: ['@babel/env'],
|
||||||
|
|||||||
16
icons/bell-ring.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
||||||
|
<path d="M13.73 21a2 2 0 01-3.46 0" />
|
||||||
|
<path d="M2 8c0-2.2.7-4.3 2-6" />
|
||||||
|
<path d="M22 8a10 10 0 00-2-6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 378 B |
14
icons/check-circle-2.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z" />
|
||||||
|
<path d="M9 12l2 2 4-4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 325 B |
13
icons/chevrons-down-up.svg
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M7 20l5-5 5 5" />
|
||||||
|
<path d="M7 4l5 5 5-5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 243 B |
14
icons/chevrons-up-down.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M7 15l5 5 5-5" />
|
||||||
|
<path d="M7 9l5-5 5 5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 265 B |
14
icons/circle-slashed.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<circle cx="12" cy="12" r="10" />
|
||||||
|
<path d="M22 2L2 22" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 270 B |
15
icons/clipboard-check.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" />
|
||||||
|
<path d="M15 2H9a1 1 0 00-1 1v2a1 1 0 001 1h6a1 1 0 001-1V3a1 1 0 00-1-1z" />
|
||||||
|
<path d="M9 13l2 2 4-4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 399 B |
16
icons/clipboard-copy.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M16 4h2a2 2 0 012 2v4M8 4H6a2 2 0 00-2 2v14a2 2 0 002 2h12a2 2 0 002-2v-2" />
|
||||||
|
<rect x="8" y="2" width="8" height="4" rx="1" ry="1" />
|
||||||
|
<path d="M21 14H11" />
|
||||||
|
<path d="M15 10l-4 4 4 4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 411 B |
16
icons/clipboard-x.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" />
|
||||||
|
<path d="M15 2H9a1 1 0 00-1 1v2a1 1 0 001 1h6a1 1 0 001-1V3a1 1 0 00-1-1z" />
|
||||||
|
<path d="M15 11l-6 6" />
|
||||||
|
<path d="M9 11l6 6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 422 B |
15
icons/cloud-fog.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M20 16.2A4.5 4.5 0 0017.5 8h-1.8A7 7 0 104 14.9" />
|
||||||
|
<path d="M16 17L7 17" />
|
||||||
|
<path d="M17 21L9 21" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 325 B |
14
icons/cloud-moon.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M13.63 22A3.3 3.3 0 0017 18.79a3.3 3.3 0 00-3.38-3.22h-1.34A5.23 5.23 0 007.25 12 5.13 5.13 0 002 17c0 2.76 2.35 5 5.25 5h6.38z" />
|
||||||
|
<path d="M9.95 9a6.13 6.13 0 015.5-5.18 4.77 4.77 0 006.67 6.67A6.13 6.13 0 0119.46 15" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 444 B |
18
icons/cloud-sun.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M12 2v2" />
|
||||||
|
<path d="M5.22 5.22l1.42 1.42" />
|
||||||
|
<path d="M20 12h2" />
|
||||||
|
<path d="M15.97 12.5A4 4 0 009.5 8.88" />
|
||||||
|
<path d="M13.63 22A3.3 3.3 0 0017 18.79a3.3 3.3 0 00-3.38-3.22h-1.34A5.23 5.23 0 007.25 12 5.13 5.13 0 002 17c0 2.76 2.35 5 5.25 5h6.38z" />
|
||||||
|
<path d="M17.36 6.64l1.42-1.42" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 515 B |
14
icons/cloudy.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M17.5 21a4.5 4.5 0 100-9h-1.8A7 7 0 109 21h8.5z" />
|
||||||
|
<path d="M22 10c0-1.5-1.5-3-3.5-3H17c-.7-2.3-2.9-4-5.4-4-2.7 0-5 2-5.5 4.5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 352 B |
16
icons/expand.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M21 21l-6-6m6 6v-4.8m0 4.8h-4.8" />
|
||||||
|
<path d="M3 16.2V21m0 0h4.8M3 21l6-6" />
|
||||||
|
<path d="M21 7.8V3m0 0h-4.8M21 3l-6 6" />
|
||||||
|
<path d="M3 7.8V3m0 0h4.8M3 3l6 6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 382 B |
16
icons/form-input.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="2" y="6" width="20" height="12" rx="2" />
|
||||||
|
<path d="M12 12h.01" />
|
||||||
|
<path d="M17 12h.01" />
|
||||||
|
<path d="M7 12h.01" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 338 B |
14
icons/forward.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<polyline points="15 17 20 12 15 7"></polyline>
|
||||||
|
<path d="M4 18v-2a4 4 0 0 1 4-4h12"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 304 B |
14
icons/function-square.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
||||||
|
<path d="M9 17c1.93 0 2.85-1 2.85-2.8V9.99c0-1.93 1.03-3.26 3.15-2.93M9 11.24h5.66" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 357 B |
16
icons/hand-metal.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M18 12.5V10a2 2 0 00-2-2v0a2 2 0 00-2 2v1.4" />
|
||||||
|
<path d="M14 11V9a2 2 0 10-4 0v2" />
|
||||||
|
<path d="M10 10.5V5a2 2 0 10-4 0v9" />
|
||||||
|
<path d="M7 15l-1.76-1.76a2 2 0 00-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 008-8V7a2 2 0 10-4 0v5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 460 B |
15
icons/pause-octagon.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 15V9" />
|
||||||
|
<path d="M14 15V9" />
|
||||||
|
<path d="M7.714 2h8.572L22 7.714v8.572L16.286 22H7.714L2 16.286V7.714L7.714 2z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 341 B |
16
icons/person-standing.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<circle cx="12" cy="5" r="1" />
|
||||||
|
<path d="M9 20L12 14L15 20" />
|
||||||
|
<path d="M6 8L12 10L18 8" />
|
||||||
|
<path d="M12 10V14" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 331 B |
18
icons/plug-zap.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M13 2l-2 2.5h3L12 7" />
|
||||||
|
<path d="M12 22v-3" />
|
||||||
|
<path d="M10 13v-2.5" />
|
||||||
|
<path d="M10 12.5v-2" />
|
||||||
|
<path d="M14 12.5v-2" />
|
||||||
|
<path d="M16 15a2 2 0 00-2-2h-4a2 2 0 00-2 2v2a2 2 0 002 2h4a2 2 0 002-2v-2z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 432 B |
15
icons/reply-all.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<polyline points="7 17 2 12 7 7"></polyline>
|
||||||
|
<polyline points="12 17 7 12 12 7"></polyline>
|
||||||
|
<path d="M22 18v-2a4 4 0 0 0-4-4H7"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 350 B |
14
icons/reply.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<polyline points="9 17 4 12 9 7"></polyline>
|
||||||
|
<path d="M20 18v-2a4 4 0 0 0-4-4H4"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 301 B |
17
icons/scale.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M16 16l3-8 3.001 8A5.002 5.002 0 0116 16z" />
|
||||||
|
<path d="M2 16l3-8 3.001 8A5.002 5.002 0 012 16z" />
|
||||||
|
<path d="M7 21h10" />
|
||||||
|
<path d="M12 3v18" />
|
||||||
|
<path d="M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 416 B |
@@ -9,6 +9,6 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
|
<path d="M12.22 2h-.44a2 2 0 00-2 2v.18a2 2 0 01-1 1.73l-.43.25a2 2 0 01-2 0l-.15-.08a2 2 0 00-2.73.73l-.22.38a2 2 0 00.73 2.73l.15.1a2 2 0 011 1.72v.51a2 2 0 01-1 1.74l-.15.09a2 2 0 00-.73 2.73l.22.38a2 2 0 002.73.73l.15-.08a2 2 0 012 0l.43.25a2 2 0 011 1.73V20a2 2 0 002 2h.44a2 2 0 002-2v-.18a2 2 0 011-1.73l.43-.25a2 2 0 012 0l.15.08a2 2 0 002.73-.73l.22-.39a2 2 0 00-.73-2.73l-.15-.08a2 2 0 01-1-1.74v-.5a2 2 0 011-1.74l.15-.09a2 2 0 00.73-2.73l-.22-.38a2 2 0 00-2.73-.73l-.15.08a2 2 0 01-2 0l-.43-.25a2 2 0 01-1-1.73V4a2 2 0 00-2-2z" />
|
||||||
<circle cx="12" cy="12" r="3" />
|
<circle cx="12" cy="12" r="3" />
|
||||||
<path d="M18.727 14.727a1.5 1.5 0 00.3 1.655l.055.054a1.816 1.816 0 010 2.573 1.818 1.818 0 01-2.573 0l-.055-.055a1.5 1.5 0 00-1.654-.3 1.5 1.5 0 00-.91 1.373v.155a1.818 1.818 0 11-3.636 0V20.1a1.5 1.5 0 00-.981-1.373 1.5 1.5 0 00-1.655.3l-.054.055a1.818 1.818 0 01-3.106-1.287 1.818 1.818 0 01.533-1.286l.054-.055a1.5 1.5 0 00.3-1.654 1.5 1.5 0 00-1.372-.91h-.155a1.818 1.818 0 110-3.636H3.9a1.5 1.5 0 001.373-.981 1.5 1.5 0 00-.3-1.655l-.055-.054A1.818 1.818 0 117.491 4.99l.054.054a1.5 1.5 0 001.655.3h.073a1.5 1.5 0 00.909-1.372v-.155a1.818 1.818 0 013.636 0V3.9a1.499 1.499 0 00.91 1.373 1.5 1.5 0 001.654-.3l.054-.055a1.817 1.817 0 012.573 0 1.819 1.819 0 010 2.573l-.055.054a1.5 1.5 0 00-.3 1.655v.073a1.5 1.5 0 001.373.909h.155a1.818 1.818 0 010 3.636H20.1a1.499 1.499 0 00-1.373.91v0z" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 788 B |
16
icons/shrink.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M15 15l6 6m-6-6v4.8m0-4.8h4.8" />
|
||||||
|
<path d="M9 19.8V15m0 0H4.2M9 15l-6 6" />
|
||||||
|
<path d="M15 4.2V9m0 0h4.8M15 9l6-6" />
|
||||||
|
<path d="M9 4.2V9m0 0H4.2M9 9L3 3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 379 B |
15
icons/sidebar-close.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
||||||
|
<line x1="9" y1="3" x2="9" y2="21" />
|
||||||
|
<path d="M17 16L13 12L17 8" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 341 B |
15
icons/sidebar-open.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
|
||||||
|
<line x1="9" y1="3" x2="9" y2="21" />
|
||||||
|
<path d="M13 8L17 12L13 16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 341 B |
17
icons/skull.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<circle cx="9" cy="12" r="1" />
|
||||||
|
<circle cx="15" cy="12" r="1" />
|
||||||
|
<path d="M8 20v2h8v-2" />
|
||||||
|
<path d="M12.5 17l-.5-1-.5 1h1z" />
|
||||||
|
<path d="M16 20a2 2 0 001.56-3.25 8 8 0 10-11.12 0A2 2 0 008 20" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 413 B |
14
icons/smartphone-charging.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<rect x="5" y="2" width="14" height="20" rx="2" ry="2" />
|
||||||
|
<path d="M12.667 8L10 12h4l-2.667 4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 310 B |
17
icons/tent.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M19 20L10 4" />
|
||||||
|
<path d="M5 20l9-16" />
|
||||||
|
<path d="M3 20h18" />
|
||||||
|
<path d="M12 15l-3 5" />
|
||||||
|
<path d="M12 15l3 5" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 338 B |
17
icons/tornado.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M21 4H3" />
|
||||||
|
<path d="M18 8H6" />
|
||||||
|
<path d="M19 12H9" />
|
||||||
|
<path d="M16 16h-6" />
|
||||||
|
<path d="M11 20H9" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 327 B |
15
icons/vibrate.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M2 8l2 2-2 2 2 2-2 2" />
|
||||||
|
<path d="M22 8l-2 2 2 2-2 2 2 2" />
|
||||||
|
<rect x="8" y="5" width="8" height="14" rx="1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 334 B |
@@ -2,8 +2,7 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"workspaces": {
|
"workspaces": {
|
||||||
"packages": [
|
"packages": [
|
||||||
"packages/*",
|
"packages/*"
|
||||||
"site"
|
|
||||||
],
|
],
|
||||||
"nohoist": [
|
"nohoist": [
|
||||||
"**/jest", "**/jest/**",
|
"**/jest", "**/jest/**",
|
||||||
@@ -16,12 +15,14 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "yarn lucide build && yarn lucide-react build && yarn lucide-vue build",
|
"build": "yarn lucide build && yarn lucide-react build && yarn lucide-preact build && yarn lucide-vue build && yarn lucide-vue-next build && yarn lucide-angular build",
|
||||||
"test": "yarn lucide build:icons && yarn lucide-react build:icons && yarn lucide-vue build:icons && jest",
|
"test": "yarn lucide build:icons && yarn lucide-react build:icons && yarn lucide-vue build:icons && jest",
|
||||||
"lucide": "yarn workspace lucide",
|
"lucide": "yarn workspace lucide",
|
||||||
"lucide-angular": "yarn workspace lucide-angular",
|
"lucide-angular": "yarn workspace lucide-angular",
|
||||||
"lucide-react": "yarn workspace lucide-react",
|
"lucide-react": "yarn workspace lucide-react",
|
||||||
|
"lucide-preact": "yarn workspace lucide-preact",
|
||||||
"lucide-vue": "yarn workspace lucide-vue",
|
"lucide-vue": "yarn workspace lucide-vue",
|
||||||
|
"lucide-vue-next": "yarn workspace lucide-vue-next",
|
||||||
"build:icons": "babel-node ./scripts/buildIcons.js --presets @babel/env",
|
"build:icons": "babel-node ./scripts/buildIcons.js --presets @babel/env",
|
||||||
"optimize": "babel-node ./scripts/optimizeSvgs.js --presets @babel/env",
|
"optimize": "babel-node ./scripts/optimizeSvgs.js --presets @babel/env",
|
||||||
"addtags": "babel-node ./scripts/addMissingKeysToTags.js --presets @babel/env",
|
"addtags": "babel-node ./scripts/addMissingKeysToTags.js --presets @babel/env",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-angular",
|
"name": "lucide-angular",
|
||||||
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||||
"version": "0.15.1-beta.1",
|
"version": "0.15.23",
|
||||||
"author": "SMAH1",
|
"author": "SMAH1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
@@ -40,14 +40,14 @@
|
|||||||
"@angular/core": "^11.2.6"
|
"@angular/core": "^11.2.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@angular-devkit/build-angular": "~0.1102.5",
|
||||||
|
"@angular/cli": "~11.2.5",
|
||||||
"@angular/common": "~11.2.6",
|
"@angular/common": "~11.2.6",
|
||||||
"@angular/compiler": "~11.2.6",
|
"@angular/compiler": "~11.2.6",
|
||||||
|
"@angular/compiler-cli": "~11.2.6",
|
||||||
"@angular/core": "~11.2.6",
|
"@angular/core": "~11.2.6",
|
||||||
"@angular/platform-browser": "~11.2.6",
|
"@angular/platform-browser": "~11.2.6",
|
||||||
"@angular/platform-browser-dynamic": "~11.2.6",
|
"@angular/platform-browser-dynamic": "~11.2.6",
|
||||||
"@angular-devkit/build-angular": "~0.1102.5",
|
|
||||||
"@angular/cli": "~11.2.5",
|
|
||||||
"@angular/compiler-cli": "~11.2.6",
|
|
||||||
"@types/jasmine": "~3.6.0",
|
"@types/jasmine": "~3.6.0",
|
||||||
"@types/node": "^12.11.1",
|
"@types/node": "^12.11.1",
|
||||||
"codelyzer": "^6.0.0",
|
"codelyzer": "^6.0.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-figma",
|
"name": "lucide-figma",
|
||||||
"version": "0.15.1",
|
"version": "0.15.11",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "build/ui.js",
|
"main": "build/ui.js",
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
"css-loader": "^3.0.0",
|
"css-loader": "^3.0.0",
|
||||||
"html-webpack-inline-source-plugin": "^0.0.10",
|
"html-webpack-inline-source-plugin": "^0.0.10",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
"lucide-react": "^0.15.1",
|
"lucide-react": "0.15.11",
|
||||||
"react": "^16.8.6",
|
"react": "^16.8.6",
|
||||||
"react-dom": "^16.8.6",
|
"react-dom": "^16.8.6",
|
||||||
"style-loader": "^0.23.1",
|
"style-loader": "^0.23.1",
|
||||||
|
|||||||
@@ -2054,9 +2054,9 @@ locate-path@^3.0.0:
|
|||||||
path-exists "^3.0.0"
|
path-exists "^3.0.0"
|
||||||
|
|
||||||
lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3:
|
lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3:
|
||||||
version "4.17.20"
|
version "4.17.21"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||||
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
|
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||||
|
|
||||||
loose-envify@^1.1.0, loose-envify@^1.4.0:
|
loose-envify@^1.1.0, loose-envify@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
@@ -2077,10 +2077,10 @@ lru-cache@^5.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
yallist "^3.0.2"
|
yallist "^3.0.2"
|
||||||
|
|
||||||
lucide-react@^0.15.1:
|
lucide-react@0.15.11:
|
||||||
version "0.15.5"
|
version "0.15.11"
|
||||||
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.15.5.tgz#694cfe1f6bbc6e736199785c58cc7f8dcfc14309"
|
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.15.11.tgz#34f2d76d1e7fda978f4a8b2d0538b84ecbecf106"
|
||||||
integrity sha512-iCplw/CRck/E5gA5YGGASBm6qvMZfvqtPE+ew75dSz50+LDKEbNhu9wy1s6HC1A6isgvVCeED9mqtdzd0x2RmA==
|
integrity sha512-2NOpAVt2ScBkwlRvub7adfmWZX1o+so+3elAtyp5g9jaAKthszAgKZwNEFhB2Gl1tT5CuvVLPsjaRjhnpNjq9w==
|
||||||
dependencies:
|
dependencies:
|
||||||
prop-types "^15.7.2"
|
prop-types "^15.7.2"
|
||||||
react "^16.5.1"
|
react "^16.5.1"
|
||||||
@@ -2586,9 +2586,9 @@ postcss-value-parser@^4.1.0:
|
|||||||
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
|
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
|
||||||
|
|
||||||
postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
|
postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
|
||||||
version "7.0.35"
|
version "7.0.36"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb"
|
||||||
integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
|
integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^2.4.2"
|
chalk "^2.4.2"
|
||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
|
|||||||
9
packages/lucide-preact/.npmignore
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
stats
|
||||||
|
node_modules
|
||||||
|
tests
|
||||||
|
scripts
|
||||||
|
build
|
||||||
|
src
|
||||||
|
babel.config.js
|
||||||
|
jest.config.js
|
||||||
|
rollup.config.js
|
||||||
15
packages/lucide-preact/LICENSE
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ISC License
|
||||||
|
|
||||||
|
Copyright (c) 2020, Lucide Contributors
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
77
packages/lucide-preact/README.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# Lucide Preact
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for preact applications.
|
||||||
|
|
||||||
|
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-preact
|
||||||
|
|
||||||
|
# or
|
||||||
|
|
||||||
|
npm install lucide-preact
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
It's build with ESmodules so it's completely threeshakable.
|
||||||
|
Each icon can be imported as a preact component.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
|
``` js
|
||||||
|
import { Camera } from 'lucide-preact';
|
||||||
|
// Returns PreactComponent
|
||||||
|
|
||||||
|
// Usage
|
||||||
|
const App = () => {
|
||||||
|
return <Camera color="red" size={48}/>
|
||||||
|
};
|
||||||
|
|
||||||
|
export default App;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Props
|
||||||
|
|
||||||
|
| name | type | default
|
||||||
|
| ------------ | -------- | --------
|
||||||
|
| `size` | *Number* | 24
|
||||||
|
| `color` | *String* | currentColor
|
||||||
|
| `strokeWidth`| *Number* | 2
|
||||||
|
|
||||||
|
### Custom props / svg attributes
|
||||||
|
|
||||||
|
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
|
||||||
|
|
||||||
|
``` js
|
||||||
|
// Usage
|
||||||
|
const App = () => {
|
||||||
|
return <Camera fill="red" stroke-linejoin="bevel"/>
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
> svg attributes in preact aren't transformed, so if want to change e.g. the `stroke-linejoin` you need to pass it in kebabcase, the way svg spec is written so. See this topic in the [preact documentation](https://preactjs.com/guide/v10/differences-to-react/#svg-inside-jsx).
|
||||||
|
|
||||||
|
### One generic icon component
|
||||||
|
|
||||||
|
It is possible to create one generic icon component to load icons.
|
||||||
|
|
||||||
|
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
||||||
|
|
||||||
|
#### Icon Component Example
|
||||||
|
|
||||||
|
``` js
|
||||||
|
import * as icons from 'lucide-preact';
|
||||||
|
|
||||||
|
const Icon = ({name, color, size}) => {
|
||||||
|
const LucideIcon = icons[name];
|
||||||
|
|
||||||
|
return <LucideIcon color={color} size={size} />
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Icon;
|
||||||
|
```
|
||||||
6
packages/lucide-preact/babel.config.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
const mainConfig = require('../../babel.config');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
presets: ['preact'],
|
||||||
|
env: mainConfig.env,
|
||||||
|
};
|
||||||
9
packages/lucide-preact/jest.config.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
module.exports = {
|
||||||
|
verbose: true,
|
||||||
|
roots: ['<rootDir>/src/', '<rootDir>/tests/'],
|
||||||
|
moduleFileExtensions: ['js'],
|
||||||
|
transformIgnorePatterns: [`/node_modules`],
|
||||||
|
transform: {
|
||||||
|
'^.+\\.js$': 'babel-jest',
|
||||||
|
},
|
||||||
|
};
|
||||||
39
packages/lucide-preact/package.json
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"name": "lucide-preact",
|
||||||
|
"description": "Lucide Preact package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||||
|
"version": "0.15.23",
|
||||||
|
"license": "ISC",
|
||||||
|
"homepage": "https://lucide.dev",
|
||||||
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/lucide-icons/lucide.git",
|
||||||
|
"directory": "packages/lucide-preact"
|
||||||
|
},
|
||||||
|
"author": "Eric Fennis",
|
||||||
|
"amdName": "lucide-preact",
|
||||||
|
"main": "dist/cjs/lucide-preact.js",
|
||||||
|
"main:umd": "dist/umd/lucide-preact.js",
|
||||||
|
"module": "dist/esm/lucide-preact.js",
|
||||||
|
"unpkg": "dist/umd/lucide-preact.min.js",
|
||||||
|
"typings": "dist/lucide-preact.d.ts",
|
||||||
|
"sideEffects": false,
|
||||||
|
"scripts": {
|
||||||
|
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:types && yarn build:bundles",
|
||||||
|
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
||||||
|
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-preact/src --templateSrc=../packages/lucide-preact/scripts/exportTemplate --renderUniqueKey",
|
||||||
|
"build:es": "babel src -d dist/esm",
|
||||||
|
"build:types": "yarn --cwd ../../ babel-node packages/lucide-preact/scripts/buildTypes.js",
|
||||||
|
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-preact/rollup.config.js",
|
||||||
|
"test": "jest"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@testing-library/preact": "^2.0.1",
|
||||||
|
"babel-preset-preact": "^2.0.0",
|
||||||
|
"jest": "^26.6.3",
|
||||||
|
"preact": "^10.5.13"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"preact": "^10.5.13"
|
||||||
|
}
|
||||||
|
}
|
||||||
48
packages/lucide-preact/rollup.config.js
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import plugins from '../../rollup.plugins';
|
||||||
|
import pkg from './package.json';
|
||||||
|
|
||||||
|
const packageName = 'LucidePreact';
|
||||||
|
const outputFileName = 'lucide-preact';
|
||||||
|
const rootDir = 'packages/lucide-preact'; // It runs from the root
|
||||||
|
const outputDir = `${rootDir}/dist`;
|
||||||
|
const inputs = [`${rootDir}/src/lucide-preact.js`];
|
||||||
|
const bundles = [
|
||||||
|
{
|
||||||
|
format: 'umd',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
minify: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
format: 'umd',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
format: 'cjs',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const configs = bundles
|
||||||
|
.map(({ inputs, outputDir, format, minify }) =>
|
||||||
|
inputs.map(input => ({
|
||||||
|
input,
|
||||||
|
plugins: plugins(pkg, minify),
|
||||||
|
external: ['preact', 'prop-types', 'lucide'],
|
||||||
|
output: {
|
||||||
|
name: packageName,
|
||||||
|
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
|
||||||
|
format,
|
||||||
|
sourcemap: true,
|
||||||
|
globals: {
|
||||||
|
preact: 'preact',
|
||||||
|
'prop-types': 'PropTypes',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})),
|
||||||
|
)
|
||||||
|
.flat();
|
||||||
|
|
||||||
|
export default configs;
|
||||||
43
packages/lucide-preact/scripts/buildTypes.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import path from 'path';
|
||||||
|
import {
|
||||||
|
writeFile,
|
||||||
|
readSvgDirectory,
|
||||||
|
resetFile,
|
||||||
|
toPascalCase,
|
||||||
|
appendFile,
|
||||||
|
} from '../../../scripts/helpers';
|
||||||
|
|
||||||
|
const srcDirectory = path.join(__dirname, '../dist');
|
||||||
|
|
||||||
|
// Declare type definitions
|
||||||
|
const typeDefinitions = `\
|
||||||
|
/// <reference types="preact" />
|
||||||
|
import { JSX, RefObject } from 'preact'
|
||||||
|
|
||||||
|
interface LucideProps extends Partial<Omit<JSX.SVGAttributes, "ref" | "size">> {
|
||||||
|
key?: string | number;
|
||||||
|
ref?: string | ((component: any) => any) | RefObject<any>;
|
||||||
|
color?: string
|
||||||
|
size?: string | number
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generated icons
|
||||||
|
`;
|
||||||
|
|
||||||
|
const ICONS_DIR = path.resolve(__dirname, '../../../icons');
|
||||||
|
const TYPES_FILE = 'lucide-preact.d.ts';
|
||||||
|
|
||||||
|
resetFile(TYPES_FILE, srcDirectory);
|
||||||
|
writeFile(typeDefinitions, TYPES_FILE, srcDirectory);
|
||||||
|
|
||||||
|
const svgFiles = readSvgDirectory(ICONS_DIR);
|
||||||
|
|
||||||
|
svgFiles.forEach(svgFile => {
|
||||||
|
const iconName = path.basename(svgFile, '.svg');
|
||||||
|
const componentName = toPascalCase(iconName);
|
||||||
|
|
||||||
|
const exportTypeString = `export declare const ${componentName}: (props: LucideProps) => JSX.Element;\n`;
|
||||||
|
appendFile(exportTypeString, TYPES_FILE, srcDirectory);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Generated ${TYPES_FILE} file with`, svgFiles.length, 'icons');
|
||||||
7
packages/lucide-preact/scripts/exportTemplate.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export default ({ componentName, children }) => `
|
||||||
|
import createPreactComponent from '../createPreactComponent';
|
||||||
|
|
||||||
|
const ${componentName} = createPreactComponent('${componentName}', ${JSON.stringify(children)});
|
||||||
|
|
||||||
|
export default ${componentName};
|
||||||
|
`;
|
||||||
22
packages/lucide-preact/src/createPreactComponent.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import { h } from 'preact';
|
||||||
|
import defaultAttributes from './defaultAttributes';
|
||||||
|
|
||||||
|
export default (iconName, iconNode) => {
|
||||||
|
const Component = ({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }) =>
|
||||||
|
h(
|
||||||
|
'svg',
|
||||||
|
{
|
||||||
|
...defaultAttributes,
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
stroke: color,
|
||||||
|
'stroke-width': strokeWidth,
|
||||||
|
...rest,
|
||||||
|
},
|
||||||
|
iconNode.map(([tag, attrs]) => h(tag, attrs)),
|
||||||
|
);
|
||||||
|
|
||||||
|
Component.displayName = `${iconName}`;
|
||||||
|
|
||||||
|
return Component;
|
||||||
|
};
|
||||||
11
packages/lucide-preact/src/defaultAttributes.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
export default {
|
||||||
|
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',
|
||||||
|
};
|
||||||
1
packages/lucide-preact/src/icons/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Folder for generated icons
|
||||||
1
packages/lucide-preact/src/lucide-preact.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export * from './icons';
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should adjust the size, stroke color and stroke width 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"48\\" height=\\"48\\" viewBox=\\"0 0 24 24\\" fill=\\"none\\" stroke=\\"red\\" stroke-width=\\"4\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" data-testid=\\"grid-icon\\"><rect x=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\"></line></svg>"`;
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should render an component 1`] = `"<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=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\"></line></svg>"`;
|
||||||
30
packages/lucide-preact/tests/lucide-preact.spec.js
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import { h } from 'preact'
|
||||||
|
import { render } from '@testing-library/preact'
|
||||||
|
import { Grid } from '../src/icons'
|
||||||
|
|
||||||
|
describe('Using lucide icon components', () => {
|
||||||
|
it('should render an component', () => {
|
||||||
|
const { container } = render( <Grid/> );
|
||||||
|
|
||||||
|
expect( container.innerHTML ).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should adjust the size, stroke color and stroke width', () => {
|
||||||
|
const testId = 'grid-icon';
|
||||||
|
const { container, getByTestId } = render(
|
||||||
|
<Grid
|
||||||
|
data-testid={testId}
|
||||||
|
size={48}
|
||||||
|
stroke="red"
|
||||||
|
strokeWidth={4}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
|
||||||
|
const { attributes } = getByTestId(testId);
|
||||||
|
expect(attributes.stroke.value).toBe('red');
|
||||||
|
expect(attributes.width.value).toBe('48');
|
||||||
|
expect(attributes.height.value).toBe('48');
|
||||||
|
expect(attributes['stroke-width'].value).toBe('4');
|
||||||
|
expect( container.innerHTML ).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
})
|
||||||
@@ -1,6 +1,19 @@
|
|||||||
const mainConfig = require('../../babel.config');
|
const mainConfig = require('../../babel.config');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
presets: ['react-app'],
|
presets: [
|
||||||
env: mainConfig.env,
|
[
|
||||||
|
'@babel/env',
|
||||||
|
{
|
||||||
|
loose: true,
|
||||||
|
modules: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
env: {
|
||||||
|
...mainConfig.env,
|
||||||
|
test: {
|
||||||
|
presets: ['react-app'],
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-react",
|
"name": "lucide-react",
|
||||||
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||||
"version": "0.15.6",
|
"version": "0.15.23",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
@@ -17,23 +17,23 @@
|
|||||||
"module": "dist/esm/lucide-react.js",
|
"module": "dist/esm/lucide-react.js",
|
||||||
"unpkg": "dist/umd/lucide-react.min.js",
|
"unpkg": "dist/umd/lucide-react.min.js",
|
||||||
"typings": "dist/lucide-react.d.ts",
|
"typings": "dist/lucide-react.d.ts",
|
||||||
|
"sideEffects": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:types && yarn build:bundles",
|
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:types && yarn build:bundles",
|
||||||
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
||||||
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-react/src --templateSrc=../packages/lucide-react/scripts/exportTemplate --renderUniqueKey",
|
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-react/src --templateSrc=../packages/lucide-react/scripts/exportTemplate --renderUniqueKey",
|
||||||
"build:es": "yarn --cwd ../../ babel packages/lucide-react/src -d packages/lucide-react/dist/esm",
|
"build:es": "babel src -d dist/esm",
|
||||||
"build:types": "yarn --cwd ../../ babel-node packages/lucide-react/scripts/buildTypes.js",
|
"build:types": "yarn --cwd ../../ babel-node packages/lucide-react/scripts/buildTypes.js",
|
||||||
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-react/rollup.config.js",
|
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-react/rollup.config.js",
|
||||||
"test": "jest"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
|
||||||
"prop-types": "^15.7.2",
|
|
||||||
"react": "^16.5.1"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@testing-library/react": "^11.2.6",
|
||||||
"babel-preset-react-app": "^10.0.0",
|
"babel-preset-react-app": "^10.0.0",
|
||||||
"jest": "^26.6.3",
|
"jest": "^26.6.3",
|
||||||
"react-test-renderer": "^16.5.1"
|
"prop-types": "^15.7.2",
|
||||||
|
"react": "^16.5.1",
|
||||||
|
"react-dom": "^17.0.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
|
|||||||
@@ -11,8 +11,10 @@ const srcDirectory = path.join(__dirname, '../dist');
|
|||||||
|
|
||||||
// Declare type definitions
|
// Declare type definitions
|
||||||
const typeDefinitions = `\
|
const typeDefinitions = `\
|
||||||
/// <reference types="react" />
|
/// <reference types="vue" />
|
||||||
import { SVGAttributes } from 'react'
|
import { SVGAttributes } from 'vue'
|
||||||
|
|
||||||
|
declare module 'lucide-vue-next'
|
||||||
|
|
||||||
// Create interface extending SVGAttributes
|
// Create interface extending SVGAttributes
|
||||||
export interface LucideProps extends Partial<React.SVGProps<SVGSVGElement>> {
|
export interface LucideProps extends Partial<React.SVGProps<SVGSVGElement>> {
|
||||||
@@ -22,6 +24,7 @@ export interface LucideProps extends Partial<React.SVGProps<SVGSVGElement>> {
|
|||||||
strokeWidth?: string | number
|
strokeWidth?: string | number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type Icon = React.FC<LucideProps>;
|
||||||
// Generated icons
|
// Generated icons
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -1,95 +1,5 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Using lucide icon components should adjust the size, stroke color and stroke width 1`] = `
|
exports[`Using lucide icon components should adjust the size, stroke color and stroke width 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"48\\" height=\\"48\\" viewBox=\\"0 0 24 24\\" fill=\\"none\\" stroke=\\"red\\" stroke-width=\\"4\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" data-testid=\\"grid-icon\\"><rect x=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\"></line></svg>"`;
|
||||||
<svg
|
|
||||||
fill="none"
|
|
||||||
height={48}
|
|
||||||
stroke="red"
|
|
||||||
strokeLinecap="round"
|
|
||||||
strokeLinejoin="round"
|
|
||||||
strokeWidth={4}
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width={48}
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<rect
|
|
||||||
height="18"
|
|
||||||
rx="2"
|
|
||||||
ry="2"
|
|
||||||
width="18"
|
|
||||||
x="3"
|
|
||||||
y="3"
|
|
||||||
/>
|
|
||||||
<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>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Using lucide icon components should render an component 1`] = `
|
exports[`Using lucide icon components should render an component 1`] = `"<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=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\"></line></svg>"`;
|
||||||
<svg
|
|
||||||
fill="none"
|
|
||||||
height={24}
|
|
||||||
stroke="currentColor"
|
|
||||||
strokeLinecap="round"
|
|
||||||
strokeLinejoin="round"
|
|
||||||
strokeWidth={2}
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
width={24}
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<rect
|
|
||||||
height="18"
|
|
||||||
rx="2"
|
|
||||||
ry="2"
|
|
||||||
width="18"
|
|
||||||
x="3"
|
|
||||||
y="3"
|
|
||||||
/>
|
|
||||||
<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>
|
|
||||||
`;
|
|
||||||
|
|||||||
@@ -1,27 +1,31 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import renderer from 'react-test-renderer';
|
import { render } from '@testing-library/react'
|
||||||
import { Grid } from '../src/icons'
|
import { Grid } from '../src/icons'
|
||||||
|
|
||||||
describe('Using lucide icon components', () => {
|
describe('Using lucide icon components', () => {
|
||||||
it('should render an component', () => {
|
it('should render an component', () => {
|
||||||
const component = renderer.create(
|
const { container } = render( <Grid/> );
|
||||||
<Grid/>,
|
|
||||||
);
|
|
||||||
|
|
||||||
let tree = component.toJSON();
|
expect( container.innerHTML ).toMatchSnapshot();
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should adjust the size, stroke color and stroke width', () => {
|
it('should adjust the size, stroke color and stroke width', () => {
|
||||||
const component = renderer.create(
|
const testId = 'grid-icon';
|
||||||
|
const { container, getByTestId } = render(
|
||||||
<Grid
|
<Grid
|
||||||
|
data-testid={testId}
|
||||||
size={48}
|
size={48}
|
||||||
stroke="red"
|
stroke="red"
|
||||||
strokeWidth={4}
|
strokeWidth={4}
|
||||||
/>,
|
/>,
|
||||||
);
|
);
|
||||||
|
|
||||||
let tree = component.toJSON();
|
const { attributes } = getByTestId(testId);
|
||||||
expect(tree).toMatchSnapshot();
|
expect(attributes.stroke.value).toBe('red');
|
||||||
|
expect(attributes.width.value).toBe('48');
|
||||||
|
expect(attributes.height.value).toBe('48');
|
||||||
|
expect(attributes['stroke-width'].value).toBe('4');
|
||||||
|
|
||||||
|
expect( container.innerHTML ).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|||||||
9
packages/lucide-vue-next/.npmignore
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
stats
|
||||||
|
node_modules
|
||||||
|
tests
|
||||||
|
scripts
|
||||||
|
build
|
||||||
|
src
|
||||||
|
babel.config.js
|
||||||
|
jest.config.js
|
||||||
|
rollup.config.js
|
||||||
15
packages/lucide-vue-next/LICENSE
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ISC License
|
||||||
|
|
||||||
|
Copyright (c) 2020, Lucide Contributors
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
107
packages/lucide-vue-next/README.md
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# Lucide Vue Next
|
||||||
|
|
||||||
|
Implementation of the lucide icon library for Vue 3 applications.
|
||||||
|
|
||||||
|
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
||||||
|
|
||||||
|
> :warning: This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue#lucide-vue)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add lucide-vue-next
|
||||||
|
|
||||||
|
# or
|
||||||
|
|
||||||
|
npm install lucide-vue-next
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
It's build with ESmodules so it's completely threeshakable.
|
||||||
|
Each icon can be imported as a vue component.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
You can pass additional props to adjust the icon.
|
||||||
|
|
||||||
|
``` vue
|
||||||
|
<template>
|
||||||
|
<Camera
|
||||||
|
color="red"
|
||||||
|
:size="32"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Returns Vue component
|
||||||
|
import { Camera } from 'lucide-vue-next';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "My Component",
|
||||||
|
components: { Camera }
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Props
|
||||||
|
|
||||||
|
| name | type | default
|
||||||
|
| ------------ | -------- | --------
|
||||||
|
| `size` | *Number* | 24
|
||||||
|
| `color` | *String* | currentColor
|
||||||
|
| `strokeWidth`| *Number* | 2
|
||||||
|
| `defaultClass`| *String* | lucide-icon
|
||||||
|
|
||||||
|
### Custom props
|
||||||
|
|
||||||
|
You can also pass custom props that will be added in the svg as attributes.
|
||||||
|
|
||||||
|
``` vue
|
||||||
|
<template>
|
||||||
|
<Camera fill="red" />
|
||||||
|
</template>
|
||||||
|
```
|
||||||
|
|
||||||
|
### One generic icon component
|
||||||
|
|
||||||
|
It is possible to create one generic icon component to load icons.
|
||||||
|
|
||||||
|
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
|
||||||
|
|
||||||
|
#### Icon Component Example
|
||||||
|
|
||||||
|
``` vue
|
||||||
|
<template>
|
||||||
|
<component :is="icon" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as icons from "lucide-vue-next";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
icon() {
|
||||||
|
return icons[this.name];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Then you can use it like this
|
||||||
|
|
||||||
|
``` vue
|
||||||
|
<template>
|
||||||
|
<div id="app">
|
||||||
|
<Icon name="Airplay" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
```
|
||||||
14
packages/lucide-vue-next/babel.config.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
const mainConfig = require('../../babel.config');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'@babel/env',
|
||||||
|
{
|
||||||
|
loose: true,
|
||||||
|
modules: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
env: mainConfig.env,
|
||||||
|
};
|
||||||
14
packages/lucide-vue-next/jest.config.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
module.exports = {
|
||||||
|
verbose: true,
|
||||||
|
roots: ['<rootDir>/src/', '<rootDir>/tests/'],
|
||||||
|
moduleFileExtensions: ['js'],
|
||||||
|
transform: {
|
||||||
|
'^.+\\.js$': 'babel-jest',
|
||||||
|
'^.+\\.vue$': 'vue-jest',
|
||||||
|
},
|
||||||
|
transformIgnorePatterns: [`/node_modules`],
|
||||||
|
snapshotSerializers: ['jest-serializer-vue'],
|
||||||
|
moduleNameMapper: {
|
||||||
|
'^@/(.*)$': '<rootDir>/src/$1',
|
||||||
|
},
|
||||||
|
};
|
||||||
42
packages/lucide-vue-next/package.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"name": "lucide-vue-next",
|
||||||
|
"version": "0.15.23",
|
||||||
|
"author": "Eric Fennis",
|
||||||
|
"description": "Lucide Vue 3 Package",
|
||||||
|
"license": "ISC",
|
||||||
|
"homepage": "https://lucide.dev",
|
||||||
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/lucide-icons/lucide.git",
|
||||||
|
"directory": "packages/lucide-vue-next"
|
||||||
|
},
|
||||||
|
"amdName": "lucide-vue-next",
|
||||||
|
"source": "build/lucide-vue-next.js",
|
||||||
|
"main": "dist/cjs/lucide-vue-next.js",
|
||||||
|
"main:umd": "dist/umd/lucide-vue-next.js",
|
||||||
|
"module": "dist/esm/lucide-vue-next.js",
|
||||||
|
"unpkg": "dist/umd/lucide-vue-next.min.js",
|
||||||
|
"typings": "dist/lucide-vue-next.d.ts",
|
||||||
|
"sideEffects": false,
|
||||||
|
"scripts": {
|
||||||
|
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:types && yarn build:bundles",
|
||||||
|
"clean": "rm -rf dist && rm -rf ./src/icons/*.js",
|
||||||
|
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-vue-next/src --templateSrc=../packages/lucide-vue-next/scripts/exportTemplate",
|
||||||
|
"build:es": "babel src -d dist/esm",
|
||||||
|
"build:types": "yarn --cwd ../../ babel-node packages/lucide-vue-next/scripts/buildTypes.js",
|
||||||
|
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-vue-next/rollup.config.js",
|
||||||
|
"test": "jest",
|
||||||
|
"test:watch": "jest --watchAll"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vue/compiler-sfc": "^3.0.0",
|
||||||
|
"@vue/test-utils": "^2.0.0-rc.6",
|
||||||
|
"jest-serializer-vue": "^2.0.2",
|
||||||
|
"vue": "3.0.6",
|
||||||
|
"vue-jest": "^5.0.0-alpha.7"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
47
packages/lucide-vue-next/rollup.config.js
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import plugins from '../../rollup.plugins';
|
||||||
|
import pkg from './package.json';
|
||||||
|
|
||||||
|
const packageName = 'LucideVueNext';
|
||||||
|
const outputFileName = 'lucide-vue-next';
|
||||||
|
const rootDir = 'packages/lucide-vue-next'; // It runs from the root
|
||||||
|
const outputDir = `${rootDir}/dist`;
|
||||||
|
const inputs = [`${rootDir}/src/lucide-vue-next.js`];
|
||||||
|
const bundles = [
|
||||||
|
{
|
||||||
|
format: 'umd',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
minify: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
format: 'umd',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
format: 'cjs',
|
||||||
|
inputs,
|
||||||
|
outputDir,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const configs = bundles
|
||||||
|
.map(({ inputs, outputDir, format, minify }) =>
|
||||||
|
inputs.map(input => ({
|
||||||
|
input,
|
||||||
|
plugins: plugins(pkg, minify),
|
||||||
|
external: ['vue'],
|
||||||
|
output: {
|
||||||
|
name: packageName,
|
||||||
|
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
|
||||||
|
format,
|
||||||
|
sourcemap: true,
|
||||||
|
globals: {
|
||||||
|
vue: 'vue',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})),
|
||||||
|
)
|
||||||
|
.flat();
|
||||||
|
|
||||||
|
export default configs;
|
||||||
37
packages/lucide-vue-next/scripts/buildTypes.js
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import path from 'path';
|
||||||
|
|
||||||
|
import { readSvgDirectory, resetFile, appendFile, toPascalCase } from '../../../scripts/helpers';
|
||||||
|
import defaultAttributes from '../src/defaultAttributes';
|
||||||
|
|
||||||
|
const TARGET_DIR = path.join(__dirname, '../dist');
|
||||||
|
const ICONS_DIR = path.resolve(__dirname, '../../../icons');
|
||||||
|
const TYPES_FILE_NAME = 'lucide-vue-next.d.ts';
|
||||||
|
|
||||||
|
// Generates header of d.ts file include some types and functions
|
||||||
|
const typeDefinitions = `\
|
||||||
|
import { Component } from 'vue';
|
||||||
|
declare module 'lucide-vue-next'
|
||||||
|
|
||||||
|
// Create interface extending SVGAttributes
|
||||||
|
export interface SVGProps extends Partial<SVGElement> ${JSON.stringify(defaultAttributes, null, 2)}
|
||||||
|
|
||||||
|
// Generated icons
|
||||||
|
`;
|
||||||
|
|
||||||
|
resetFile(TYPES_FILE_NAME, TARGET_DIR);
|
||||||
|
appendFile(typeDefinitions, TYPES_FILE_NAME, TARGET_DIR);
|
||||||
|
|
||||||
|
const svgFiles = readSvgDirectory(ICONS_DIR);
|
||||||
|
|
||||||
|
svgFiles.forEach(svgFile => {
|
||||||
|
const nameSvg = path.basename(svgFile, '.svg');
|
||||||
|
const componentName = toPascalCase(nameSvg);
|
||||||
|
|
||||||
|
appendFile(
|
||||||
|
`export declare const ${componentName}: (props: SVGProps) => Component;\n`,
|
||||||
|
TYPES_FILE_NAME,
|
||||||
|
TARGET_DIR,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Generated ${TYPES_FILE_NAME} file with`, svgFiles.length, 'icons');
|
||||||
7
packages/lucide-vue-next/scripts/exportTemplate.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export default ({ componentName, children }) => `
|
||||||
|
import createVueComponent from '../createVueComponent';
|
||||||
|
|
||||||
|
const ${componentName} = createVueComponent('${componentName}Icon', ${JSON.stringify(children)});
|
||||||
|
|
||||||
|
export default ${componentName};
|
||||||
|
`;
|
||||||
19
packages/lucide-vue-next/src/createVueComponent.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import { h } from 'vue';
|
||||||
|
import defaultAttributes from './defaultAttributes';
|
||||||
|
|
||||||
|
const createVueComponent = (iconName, iconNode) => (props, context) =>
|
||||||
|
h(
|
||||||
|
'svg',
|
||||||
|
{
|
||||||
|
...defaultAttributes,
|
||||||
|
...{
|
||||||
|
width: props.size || defaultAttributes.width,
|
||||||
|
height: props.size || defaultAttributes.height,
|
||||||
|
},
|
||||||
|
...context.attrs,
|
||||||
|
...props,
|
||||||
|
},
|
||||||
|
iconNode.map(child => h(...child)),
|
||||||
|
);
|
||||||
|
|
||||||
|
export default createVueComponent;
|
||||||
11
packages/lucide-vue-next/src/defaultAttributes.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
export default {
|
||||||
|
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',
|
||||||
|
};
|
||||||
1
packages/lucide-vue-next/src/icons/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Folder for generated icons
|
||||||
1
packages/lucide-vue-next/src/lucide-vue-next.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export * from './icons';
|
||||||
@@ -0,0 +1,577 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should add a class to the element 1`] = `
|
||||||
|
VueWrapper {
|
||||||
|
"__app": Object {
|
||||||
|
"_component": Object {
|
||||||
|
"__emits": Object {},
|
||||||
|
"__props": Array [
|
||||||
|
Object {},
|
||||||
|
Array [],
|
||||||
|
],
|
||||||
|
"name": "VTU_ROOT",
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"_container": <div
|
||||||
|
data-v-app=""
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="lucide-icon my-icon"
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>,
|
||||||
|
"_context": Object {
|
||||||
|
"app": [Circular],
|
||||||
|
"components": Object {
|
||||||
|
"transition": Object {
|
||||||
|
"name": "transition",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"transition-group": Object {
|
||||||
|
"name": "transition-group",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directives": Object {},
|
||||||
|
"mixins": Array [
|
||||||
|
Object {
|
||||||
|
"__emits": null,
|
||||||
|
"__props": Array [],
|
||||||
|
"beforeCreate": [Function],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"provides": Object {},
|
||||||
|
"reload": [Function],
|
||||||
|
},
|
||||||
|
"_props": null,
|
||||||
|
"_uid": 2,
|
||||||
|
"component": [Function],
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directive": [Function],
|
||||||
|
"mixin": [Function],
|
||||||
|
"mount": [Function],
|
||||||
|
"provide": [Function],
|
||||||
|
"unmount": [Function],
|
||||||
|
"use": [Function],
|
||||||
|
"version": "3.0.6",
|
||||||
|
},
|
||||||
|
"__setProps": [Function],
|
||||||
|
"componentVM": Object {
|
||||||
|
"hasOwnProperty": [Function],
|
||||||
|
},
|
||||||
|
"rootVM": Object {},
|
||||||
|
"wrapperElement": <svg
|
||||||
|
class="lucide-icon my-icon"
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>,
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should add a style attribute to the element 1`] = `
|
||||||
|
VueWrapper {
|
||||||
|
"__app": Object {
|
||||||
|
"_component": Object {
|
||||||
|
"__emits": Object {},
|
||||||
|
"__props": Array [
|
||||||
|
Object {},
|
||||||
|
Array [],
|
||||||
|
],
|
||||||
|
"name": "VTU_ROOT",
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"_container": <div
|
||||||
|
data-v-app=""
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
style="position: absolute;"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>,
|
||||||
|
"_context": Object {
|
||||||
|
"app": [Circular],
|
||||||
|
"components": Object {
|
||||||
|
"transition": Object {
|
||||||
|
"name": "transition",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"transition-group": Object {
|
||||||
|
"name": "transition-group",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directives": Object {},
|
||||||
|
"mixins": Array [
|
||||||
|
Object {
|
||||||
|
"__emits": null,
|
||||||
|
"__props": Array [],
|
||||||
|
"beforeCreate": [Function],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"provides": Object {},
|
||||||
|
"reload": [Function],
|
||||||
|
},
|
||||||
|
"_props": null,
|
||||||
|
"_uid": 3,
|
||||||
|
"component": [Function],
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directive": [Function],
|
||||||
|
"mixin": [Function],
|
||||||
|
"mount": [Function],
|
||||||
|
"provide": [Function],
|
||||||
|
"unmount": [Function],
|
||||||
|
"use": [Function],
|
||||||
|
"version": "3.0.6",
|
||||||
|
},
|
||||||
|
"__setProps": [Function],
|
||||||
|
"componentVM": Object {
|
||||||
|
"hasOwnProperty": [Function],
|
||||||
|
},
|
||||||
|
"rootVM": Object {},
|
||||||
|
"wrapperElement": <svg
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
style="position: absolute;"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>,
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should adjust the size, stroke color and stroke width 1`] = `
|
||||||
|
VueWrapper {
|
||||||
|
"__app": Object {
|
||||||
|
"_component": Object {
|
||||||
|
"__emits": Object {},
|
||||||
|
"__props": Array [
|
||||||
|
Object {},
|
||||||
|
Array [],
|
||||||
|
],
|
||||||
|
"name": "VTU_ROOT",
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"_container": <div
|
||||||
|
data-v-app=""
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
fill="none"
|
||||||
|
height="48"
|
||||||
|
size="48"
|
||||||
|
stroke="red"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
strokeWidth="4"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="48"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>,
|
||||||
|
"_context": Object {
|
||||||
|
"app": [Circular],
|
||||||
|
"components": Object {
|
||||||
|
"transition": Object {
|
||||||
|
"name": "transition",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"transition-group": Object {
|
||||||
|
"name": "transition-group",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directives": Object {},
|
||||||
|
"mixins": Array [
|
||||||
|
Object {
|
||||||
|
"__emits": null,
|
||||||
|
"__props": Array [],
|
||||||
|
"beforeCreate": [Function],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"provides": Object {},
|
||||||
|
"reload": [Function],
|
||||||
|
},
|
||||||
|
"_props": null,
|
||||||
|
"_uid": 1,
|
||||||
|
"component": [Function],
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directive": [Function],
|
||||||
|
"mixin": [Function],
|
||||||
|
"mount": [Function],
|
||||||
|
"provide": [Function],
|
||||||
|
"unmount": [Function],
|
||||||
|
"use": [Function],
|
||||||
|
"version": "3.0.6",
|
||||||
|
},
|
||||||
|
"__setProps": [Function],
|
||||||
|
"componentVM": Object {
|
||||||
|
"hasOwnProperty": [Function],
|
||||||
|
},
|
||||||
|
"rootVM": Object {},
|
||||||
|
"wrapperElement": <svg
|
||||||
|
fill="none"
|
||||||
|
height="48"
|
||||||
|
size="48"
|
||||||
|
stroke="red"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
strokeWidth="4"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="48"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>,
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Using lucide icon components should render an component 1`] = `
|
||||||
|
VueWrapper {
|
||||||
|
"__app": Object {
|
||||||
|
"_component": Object {
|
||||||
|
"__emits": Object {},
|
||||||
|
"__props": Array [
|
||||||
|
Object {},
|
||||||
|
Array [],
|
||||||
|
],
|
||||||
|
"name": "VTU_ROOT",
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"_container": <div
|
||||||
|
data-v-app=""
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>,
|
||||||
|
"_context": Object {
|
||||||
|
"app": [Circular],
|
||||||
|
"components": Object {
|
||||||
|
"transition": Object {
|
||||||
|
"name": "transition",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
"transition-group": Object {
|
||||||
|
"name": "transition-group",
|
||||||
|
"props": undefined,
|
||||||
|
"render": [Function],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directives": Object {},
|
||||||
|
"mixins": Array [
|
||||||
|
Object {
|
||||||
|
"__emits": null,
|
||||||
|
"__props": Array [],
|
||||||
|
"beforeCreate": [Function],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"provides": Object {},
|
||||||
|
"reload": [Function],
|
||||||
|
},
|
||||||
|
"_props": null,
|
||||||
|
"_uid": 0,
|
||||||
|
"component": [Function],
|
||||||
|
"config": Object {
|
||||||
|
"errorHandler": undefined,
|
||||||
|
"globalProperties": Object {},
|
||||||
|
"isCustomElement": [Function],
|
||||||
|
"isNativeTag": [Function],
|
||||||
|
"optionMergeStrategies": Object {},
|
||||||
|
"performance": false,
|
||||||
|
"warnHandler": undefined,
|
||||||
|
},
|
||||||
|
"directive": [Function],
|
||||||
|
"mixin": [Function],
|
||||||
|
"mount": [Function],
|
||||||
|
"provide": [Function],
|
||||||
|
"unmount": [Function],
|
||||||
|
"use": [Function],
|
||||||
|
"version": "3.0.6",
|
||||||
|
},
|
||||||
|
"__setProps": [Function],
|
||||||
|
"componentVM": Object {
|
||||||
|
"hasOwnProperty": [Function],
|
||||||
|
},
|
||||||
|
"rootVM": Object {},
|
||||||
|
"wrapperElement": <svg
|
||||||
|
fill="none"
|
||||||
|
height="24"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
stroke-width="2"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="12"
|
||||||
|
r="10"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M8 14s1.5 2 4 2 4-2 4-2"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="9"
|
||||||
|
x2="9.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
<line
|
||||||
|
x1="15"
|
||||||
|
x2="15.01"
|
||||||
|
y1="9"
|
||||||
|
y2="9"
|
||||||
|
/>
|
||||||
|
</svg>,
|
||||||
|
}
|
||||||
|
`;
|
||||||
44
packages/lucide-vue-next/tests/lucide-vue-next.spec.js
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import { mount } from '@vue/test-utils'
|
||||||
|
import { Smile } from '../src/icons'
|
||||||
|
|
||||||
|
describe('Using lucide icon components', () => {
|
||||||
|
it('should render an component', () => {
|
||||||
|
const wrapper = mount(Smile)
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should adjust the size, stroke color and stroke width', () => {
|
||||||
|
const wrapper = mount(Smile, {
|
||||||
|
propsData: {
|
||||||
|
size: 48,
|
||||||
|
stroke: 'red',
|
||||||
|
strokeWidth: 4
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
it('should add a class to the element', () => {
|
||||||
|
const wrapper = mount(Smile, {
|
||||||
|
attrs: {
|
||||||
|
class: "lucide-icon my-icon"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
expect(String(wrapper.classes())).toBe(String(['lucide-icon', 'my-icon']))
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should add a style attribute to the element', () => {
|
||||||
|
const wrapper = mount(Smile, {
|
||||||
|
attrs: {
|
||||||
|
style: 'position: absolute',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
expect(wrapper.attributes('style')).toContain('position: absolute')
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -4,6 +4,8 @@ Implementation of the lucide icon library for Vue applications.
|
|||||||
|
|
||||||
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
|
||||||
|
|
||||||
|
> :warning: This version of lucide is for Vue 2, For Vue 3 got to [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-vue-next#lucide-vue-next)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-vue",
|
"name": "lucide-vue",
|
||||||
"version": "0.15.6",
|
"version": "0.15.23",
|
||||||
"author": "Eric Fennis",
|
"author": "Eric Fennis",
|
||||||
"description": "Lucide Vue Package",
|
"description": "Lucide Vue Package",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
@@ -17,14 +17,12 @@
|
|||||||
"main:umd": "dist/umd/lucide-vue.js",
|
"main:umd": "dist/umd/lucide-vue.js",
|
||||||
"module": "dist/esm/lucide-vue.js",
|
"module": "dist/esm/lucide-vue.js",
|
||||||
"unpkg": "dist/umd/lucide-vue.min.js",
|
"unpkg": "dist/umd/lucide-vue.min.js",
|
||||||
"dependencies": {
|
"sideEffects": false,
|
||||||
"vue": "^2.6.12"
|
|
||||||
},
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:bundles",
|
"build": "yarn clean && yarn build:icons && yarn build:es && yarn build:bundles",
|
||||||
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
|
||||||
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-vue/src --templateSrc=../packages/lucide-vue/scripts/exportTemplate",
|
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-vue/src --templateSrc=../packages/lucide-vue/scripts/exportTemplate",
|
||||||
"build:es": "yarn --cwd ../../ babel packages/lucide-vue/src -d packages/lucide-vue/dist/esm",
|
"build:es": "babel src -d dist/esm",
|
||||||
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-vue/rollup.config.js",
|
"build:bundles": "yarn --cwd ../../ rollup -c packages/lucide-vue/rollup.config.js",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test:watch": "jest --watchAll"
|
"test:watch": "jest --watchAll"
|
||||||
@@ -32,6 +30,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/test-utils": "^1.1.2",
|
"@vue/test-utils": "^1.1.2",
|
||||||
"jest-serializer-vue": "^2.0.2",
|
"jest-serializer-vue": "^2.0.2",
|
||||||
|
"vue": "^2.6.12",
|
||||||
"vue-jest": "^3.0.7",
|
"vue-jest": "^3.0.7",
|
||||||
"vue-template-compiler": "^2.6.12"
|
"vue-template-compiler": "^2.6.12"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide",
|
"name": "lucide",
|
||||||
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||||
"version": "0.15.6",
|
"version": "0.15.23",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
|
|||||||
@@ -11,16 +11,18 @@
|
|||||||
"test": "jest"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@chakra-ui/core": "^1.0.0-rc.8",
|
"@chakra-ui/react": "^1.6.0",
|
||||||
|
"@emotion/react": "^11",
|
||||||
|
"@emotion/styled": "^11",
|
||||||
"downloadjs": "^1.4.7",
|
"downloadjs": "^1.4.7",
|
||||||
"framer-motion": "^3.3.0",
|
"framer-motion": "^4",
|
||||||
"jszip": "^3.4.0",
|
"jszip": "^3.4.0",
|
||||||
"lodash": "^4.17.20",
|
"lodash": "^4.17.20",
|
||||||
"lucide-react": "0.14.0",
|
"lucide-react": "0.14.0",
|
||||||
"next": "^10.0.4",
|
"next": "^10.0.4",
|
||||||
"react": "^16.13.1",
|
"react": "^17.0.1",
|
||||||
"react-color": "2.17.3",
|
"react-color": "^2.19.3",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^17.0.1",
|
||||||
"react-svg-loader": "^3.0.3"
|
"react-svg-loader": "^3.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -35,7 +37,6 @@
|
|||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"cheerio": "^1.0.0-rc.3",
|
"cheerio": "^1.0.0-rc.3",
|
||||||
"jest": "^26.5.2",
|
"jest": "^26.5.2",
|
||||||
"react-test-renderer": "^16.13.1",
|
"typescript": "^4.2.4"
|
||||||
"typescript": "^3.9.5"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import { SyntheticEvent, useEffect, useRef, useState } from 'react';
|
import { SyntheticEvent, useEffect, useRef, useState } from 'react';
|
||||||
import { FormLabel, Icon, Input, InputGroup, InputLeftElement } from '@chakra-ui/core';
|
import { FormLabel, Icon, Input, InputGroup, InputLeftElement } from '@chakra-ui/react';
|
||||||
import { CustomPicker } from 'react-color';
|
import { Saturation, Hue, ColorWrap as CustomPicker } from 'react-color/lib/components/common';
|
||||||
|
|
||||||
const { Saturation, Hue } = require('react-color/lib/components/common');
|
|
||||||
|
|
||||||
type ColorPickerProps = {
|
type ColorPickerProps = {
|
||||||
value: string;
|
value: string;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Button, Flex, Link, WrapItem, Text, Wrap } from "@chakra-ui/core";
|
import { Button, Flex, Link, WrapItem, Text, Wrap } from "@chakra-ui/react";
|
||||||
import download from "downloadjs";
|
import download from "downloadjs";
|
||||||
import JSZip from "jszip";
|
import JSZip from "jszip";
|
||||||
import { Download, Github } from 'lucide-react';
|
import { Download, Github } from 'lucide-react';
|
||||||
@@ -17,7 +17,7 @@ const Header = ({ data }) => {
|
|||||||
const downloadAllIcons = async () => {
|
const downloadAllIcons = async () => {
|
||||||
|
|
||||||
const zip = await generateZip(data);
|
const zip = await generateZip(data);
|
||||||
download(zip, 'feather.zip');
|
download(zip, 'lucide.zip');
|
||||||
};
|
};
|
||||||
|
|
||||||
const repositoryUrl = 'https://github.com/lucide-icons/lucide';
|
const repositoryUrl = 'https://github.com/lucide-icons/lucide';
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
SliderTrack,
|
SliderTrack,
|
||||||
Flex,
|
Flex,
|
||||||
Text,
|
Text,
|
||||||
} from '@chakra-ui/core';
|
} from '@chakra-ui/react';
|
||||||
import ColorPicker from './ColorPicker';
|
import ColorPicker from './ColorPicker';
|
||||||
|
|
||||||
export function IconCustomizerDrawer() {
|
export function IconCustomizerDrawer() {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Box, Text, IconButton, useColorMode, Flex, Slide, ButtonGroup, Button, useToast, Heading, Avatar, AvatarGroup, Link, Tooltip, useMediaQuery, useDisclosure } from "@chakra-ui/core";
|
import { Box, Text, IconButton, useColorMode, Flex, Slide, ButtonGroup, Button, useToast, Heading, Avatar, AvatarGroup, Link, Tooltip, useMediaQuery, useDisclosure } from "@chakra-ui/react";
|
||||||
import theme from "../lib/theme";
|
import theme from "../lib/theme";
|
||||||
import download from 'downloadjs';
|
import download from 'downloadjs';
|
||||||
import copy from "copy-to-clipboard";
|
import copy from "copy-to-clipboard";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Button, Flex, Grid, Text, useToast } from "@chakra-ui/core";
|
import { Button, Flex, Grid, Text, useToast } from "@chakra-ui/react";
|
||||||
import download from 'downloadjs';
|
import download from 'downloadjs';
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import copy from "copy-to-clipboard";
|
import copy from "copy-to-clipboard";
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
Text,
|
Text,
|
||||||
useColorMode,
|
useColorMode,
|
||||||
Icon,
|
Icon,
|
||||||
} from '@chakra-ui/core';
|
} from '@chakra-ui/react';
|
||||||
import IconList from './IconList';
|
import IconList from './IconList';
|
||||||
import { useEffect, useMemo, useRef, useState } from 'react';
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
||||||
import useSearch from '../lib/useSearch';
|
import useSearch from '../lib/useSearch';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Box, Divider, Flex, Text, Link, Icon, useColorMode, useColorModeValue, IconButton } from "@chakra-ui/core";
|
import { Box, Divider, Flex, Text, Link, Icon, useColorMode, useColorModeValue, IconButton } from "@chakra-ui/react";
|
||||||
import { useKeyBindings } from "../lib/key";
|
import { useKeyBindings } from "../lib/key";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import NextLink from "next/link"
|
import NextLink from "next/link"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Box, Tooltip, useColorMode } from "@chakra-ui/core";
|
import { Box, Tooltip, useColorMode } from "@chakra-ui/react";
|
||||||
import theme from '../lib/theme';
|
import theme from '../lib/theme';
|
||||||
|
|
||||||
const ModifiedTooltip = ({}) => {
|
const ModifiedTooltip = ({}) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { theme as chakraTheme } from "@chakra-ui/core";
|
import { theme as chakraTheme } from "@chakra-ui/react";
|
||||||
|
|
||||||
const theme = {
|
const theme = {
|
||||||
...chakraTheme,
|
...chakraTheme,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { ChakraProvider } from '@chakra-ui/core';
|
import { ChakraProvider } from '@chakra-ui/react';
|
||||||
import customTheme from '../lib/theme';
|
import customTheme from '../lib/theme';
|
||||||
import '../assets/styling.css';
|
import '../assets/styling.css';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Document, { Head, Html, Main, NextScript } from "next/document";
|
import Document, { Head, Html, Main, NextScript } from "next/document";
|
||||||
import { ColorModeScript } from "@chakra-ui/core"
|
import { ColorModeScript } from "@chakra-ui/react"
|
||||||
|
|
||||||
class MyDocument extends Document {
|
class MyDocument extends Document {
|
||||||
render() {
|
render() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "es5",
|
"target": "ESNext",
|
||||||
"lib": ["dom", "dom.iterable", "esnext"],
|
"lib": ["dom", "dom.iterable", "esnext"],
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
@@ -14,6 +14,6 @@
|
|||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"jsx": "preserve"
|
"jsx": "preserve"
|
||||||
},
|
},
|
||||||
"exclude": ["node_modules"],
|
"exclude": ["node_modules", "use-popper.d.ts"],
|
||||||
"include": ["next-env.d.ts", "src/**/*.ts", "src/**/*.tsx"]
|
"include": ["next-env.d.ts", "src/**/*.ts", "src/**/*.tsx"]
|
||||||
}
|
}
|
||||||
|
|||||||
4533
site/yarn.lock
390
tags.json
@@ -13,7 +13,9 @@
|
|||||||
"alarm-check": [
|
"alarm-check": [
|
||||||
"done"
|
"done"
|
||||||
],
|
],
|
||||||
"alarm-clock": [],
|
"alarm-clock": [
|
||||||
|
"morning"
|
||||||
|
],
|
||||||
"alarm-minus": [
|
"alarm-minus": [
|
||||||
"remove"
|
"remove"
|
||||||
],
|
],
|
||||||
@@ -80,18 +82,42 @@
|
|||||||
"key",
|
"key",
|
||||||
"forward"
|
"forward"
|
||||||
],
|
],
|
||||||
"arrow-down": [],
|
"arrow-down": [
|
||||||
"arrow-down-circle": [],
|
"direction"
|
||||||
"arrow-down-left": [],
|
],
|
||||||
"arrow-down-right": [],
|
"arrow-down-circle": [
|
||||||
"arrow-left": [],
|
"direction"
|
||||||
"arrow-left-circle": [],
|
],
|
||||||
"arrow-right": [],
|
"arrow-down-left": [
|
||||||
"arrow-right-circle": [],
|
"direction"
|
||||||
"arrow-up": [],
|
],
|
||||||
"arrow-up-circle": [],
|
"arrow-down-right": [
|
||||||
"arrow-up-left": [],
|
"direction"
|
||||||
"arrow-up-right": [],
|
],
|
||||||
|
"arrow-left": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-left-circle": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-right": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-right-circle": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-up": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-up-circle": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-up-left": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
|
"arrow-up-right": [
|
||||||
|
"direction"
|
||||||
|
],
|
||||||
"asterisk": [
|
"asterisk": [
|
||||||
"reference"
|
"reference"
|
||||||
],
|
],
|
||||||
@@ -131,9 +157,18 @@
|
|||||||
"power",
|
"power",
|
||||||
"electricity"
|
"electricity"
|
||||||
],
|
],
|
||||||
"battery-full": [],
|
"battery-full": [
|
||||||
"battery-low": [],
|
"power",
|
||||||
"battery-medium": [],
|
"electricity"
|
||||||
|
],
|
||||||
|
"battery-low": [
|
||||||
|
"power",
|
||||||
|
"electricity"
|
||||||
|
],
|
||||||
|
"battery-medium": [
|
||||||
|
"power",
|
||||||
|
"electricity"
|
||||||
|
],
|
||||||
"beaker": [
|
"beaker": [
|
||||||
"cup"
|
"cup"
|
||||||
],
|
],
|
||||||
@@ -171,7 +206,13 @@
|
|||||||
"transport",
|
"transport",
|
||||||
"trip"
|
"trip"
|
||||||
],
|
],
|
||||||
"binary": [],
|
"binary": [
|
||||||
|
"code",
|
||||||
|
"digits",
|
||||||
|
"computer",
|
||||||
|
"zero",
|
||||||
|
"one"
|
||||||
|
],
|
||||||
"bitcoin": [
|
"bitcoin": [
|
||||||
"currency",
|
"currency",
|
||||||
"money",
|
"money",
|
||||||
@@ -234,6 +275,11 @@
|
|||||||
"paint",
|
"paint",
|
||||||
"color"
|
"color"
|
||||||
],
|
],
|
||||||
|
"bug": [
|
||||||
|
"issue",
|
||||||
|
"report",
|
||||||
|
"insect"
|
||||||
|
],
|
||||||
"building": [
|
"building": [
|
||||||
"organisation",
|
"organisation",
|
||||||
"organization"
|
"organization"
|
||||||
@@ -280,14 +326,38 @@
|
|||||||
"check-square": [
|
"check-square": [
|
||||||
"done"
|
"done"
|
||||||
],
|
],
|
||||||
"chevron-down": [],
|
"chevron-down": [
|
||||||
"chevron-left": [],
|
"arrow"
|
||||||
"chevron-right": [],
|
],
|
||||||
"chevron-up": [],
|
"chevron-left": [
|
||||||
"chevrons-down": [],
|
"arrow"
|
||||||
"chevrons-left": [],
|
],
|
||||||
"chevrons-right": [],
|
"chevron-right": [
|
||||||
"chevrons-up": [],
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevron-up": [
|
||||||
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevrons-down": [
|
||||||
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevrons-down-up": [
|
||||||
|
"arrow",
|
||||||
|
"fold"
|
||||||
|
],
|
||||||
|
"chevrons-left": [
|
||||||
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevrons-right": [
|
||||||
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevrons-up": [
|
||||||
|
"arrow"
|
||||||
|
],
|
||||||
|
"chevrons-up-down": [
|
||||||
|
"arrow",
|
||||||
|
"unfold"
|
||||||
|
],
|
||||||
"chrome": [
|
"chrome": [
|
||||||
"browser"
|
"browser"
|
||||||
],
|
],
|
||||||
@@ -296,10 +366,21 @@
|
|||||||
"zero",
|
"zero",
|
||||||
"record"
|
"record"
|
||||||
],
|
],
|
||||||
|
"circle-slashed": [
|
||||||
|
"diameter",
|
||||||
|
"zero",
|
||||||
|
"Ø",
|
||||||
|
"null",
|
||||||
|
"nothing"
|
||||||
|
],
|
||||||
"clipboard": [
|
"clipboard": [
|
||||||
"copy",
|
"copy",
|
||||||
"paste"
|
"paste"
|
||||||
],
|
],
|
||||||
|
"clipboard-check": [
|
||||||
|
"copied",
|
||||||
|
"pasted"
|
||||||
|
],
|
||||||
"clipboard-list": [
|
"clipboard-list": [
|
||||||
"copy",
|
"copy",
|
||||||
"paste",
|
"paste",
|
||||||
@@ -317,6 +398,10 @@
|
|||||||
"weather",
|
"weather",
|
||||||
"shower"
|
"shower"
|
||||||
],
|
],
|
||||||
|
"cloud-fog": [
|
||||||
|
"weather",
|
||||||
|
"mist"
|
||||||
|
],
|
||||||
"cloud-hail": [
|
"cloud-hail": [
|
||||||
"weather",
|
"weather",
|
||||||
"rainfall"
|
"rainfall"
|
||||||
@@ -325,6 +410,10 @@
|
|||||||
"weather",
|
"weather",
|
||||||
"bolt"
|
"bolt"
|
||||||
],
|
],
|
||||||
|
"cloud-moon": [
|
||||||
|
"weather",
|
||||||
|
"night"
|
||||||
|
],
|
||||||
"cloud-off": [
|
"cloud-off": [
|
||||||
"disconnect"
|
"disconnect"
|
||||||
],
|
],
|
||||||
@@ -340,13 +429,28 @@
|
|||||||
"weather",
|
"weather",
|
||||||
"blizzard"
|
"blizzard"
|
||||||
],
|
],
|
||||||
|
"cloud-sun": [
|
||||||
|
"weather",
|
||||||
|
"partly"
|
||||||
|
],
|
||||||
|
"cloudy": [
|
||||||
|
"clouds"
|
||||||
|
],
|
||||||
"clover": [
|
"clover": [
|
||||||
"leaf",
|
"leaf",
|
||||||
"luck"
|
"luck"
|
||||||
],
|
],
|
||||||
"code": [
|
"code": [
|
||||||
"source",
|
"source",
|
||||||
"programming"
|
"programming",
|
||||||
|
"html",
|
||||||
|
"xml"
|
||||||
|
],
|
||||||
|
"code-2": [
|
||||||
|
"source",
|
||||||
|
"programming",
|
||||||
|
"html",
|
||||||
|
"xml"
|
||||||
],
|
],
|
||||||
"codepen": [
|
"codepen": [
|
||||||
"logo"
|
"logo"
|
||||||
@@ -480,8 +584,13 @@
|
|||||||
"money",
|
"money",
|
||||||
"payment"
|
"payment"
|
||||||
],
|
],
|
||||||
"download": [],
|
"download": [
|
||||||
"download-cloud": [],
|
"import",
|
||||||
|
"export"
|
||||||
|
],
|
||||||
|
"download-cloud": [
|
||||||
|
"import"
|
||||||
|
],
|
||||||
"dribbble": [],
|
"dribbble": [],
|
||||||
"droplet": [
|
"droplet": [
|
||||||
"water"
|
"water"
|
||||||
@@ -514,6 +623,10 @@
|
|||||||
"money",
|
"money",
|
||||||
"payment"
|
"payment"
|
||||||
],
|
],
|
||||||
|
"expand": [
|
||||||
|
"scale",
|
||||||
|
"fullscreen"
|
||||||
|
],
|
||||||
"external-link": [
|
"external-link": [
|
||||||
"outbound"
|
"outbound"
|
||||||
],
|
],
|
||||||
@@ -540,56 +653,79 @@
|
|||||||
"design",
|
"design",
|
||||||
"tool"
|
"tool"
|
||||||
],
|
],
|
||||||
"file": [],
|
"file": [
|
||||||
|
"document"
|
||||||
|
],
|
||||||
"file-check": [
|
"file-check": [
|
||||||
"done"
|
"done",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-check-2": [
|
"file-check-2": [
|
||||||
"done"
|
"done",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-code": [
|
"file-code": [
|
||||||
"script"
|
"script",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-digit": [
|
"file-digit": [
|
||||||
"number"
|
"number",
|
||||||
|
"document"
|
||||||
|
],
|
||||||
|
"file-input": [
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-minus": [
|
"file-minus": [
|
||||||
"delete",
|
"delete",
|
||||||
"remove",
|
"remove",
|
||||||
"erase"
|
"erase",
|
||||||
|
"document"
|
||||||
|
],
|
||||||
|
"file-minus-2": [
|
||||||
|
"document"
|
||||||
|
],
|
||||||
|
"file-output": [
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-minus-2": [],
|
|
||||||
"file-plus": [
|
"file-plus": [
|
||||||
"add",
|
"add",
|
||||||
"create",
|
"create",
|
||||||
"new"
|
"new",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-plus-2": [
|
"file-plus-2": [
|
||||||
"add",
|
"add",
|
||||||
"create",
|
"create",
|
||||||
"new"
|
"new",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-search": [
|
"file-search": [
|
||||||
"lost"
|
"lost",
|
||||||
|
"document",
|
||||||
|
"find"
|
||||||
],
|
],
|
||||||
"file-text": [
|
"file-text": [
|
||||||
"data",
|
"data",
|
||||||
"txt",
|
"txt",
|
||||||
"pdf"
|
"pdf",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-x": [
|
"file-x": [
|
||||||
"lost",
|
"lost",
|
||||||
"delete",
|
"delete",
|
||||||
"remove"
|
"remove",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"file-x-2": [
|
"file-x-2": [
|
||||||
"lost",
|
"lost",
|
||||||
"delete",
|
"delete",
|
||||||
"remove"
|
"remove",
|
||||||
|
"document"
|
||||||
],
|
],
|
||||||
"files": [
|
"files": [
|
||||||
"multiple",
|
"multiple",
|
||||||
"copy"
|
"copy",
|
||||||
|
"documents"
|
||||||
],
|
],
|
||||||
"film": [
|
"film": [
|
||||||
"movie",
|
"movie",
|
||||||
@@ -628,6 +764,13 @@
|
|||||||
"folder-plus": [
|
"folder-plus": [
|
||||||
"directory"
|
"directory"
|
||||||
],
|
],
|
||||||
|
"form-input": [
|
||||||
|
"2fa",
|
||||||
|
"authenticate",
|
||||||
|
"login",
|
||||||
|
"field",
|
||||||
|
"text"
|
||||||
|
],
|
||||||
"framer": [
|
"framer": [
|
||||||
"logo",
|
"logo",
|
||||||
"design",
|
"design",
|
||||||
@@ -653,6 +796,10 @@
|
|||||||
"hammer",
|
"hammer",
|
||||||
"mallet"
|
"mallet"
|
||||||
],
|
],
|
||||||
|
"ghost": [
|
||||||
|
"pacman",
|
||||||
|
"spooky"
|
||||||
|
],
|
||||||
"gift": [
|
"gift": [
|
||||||
"present",
|
"present",
|
||||||
"box",
|
"box",
|
||||||
@@ -745,6 +892,10 @@
|
|||||||
"number",
|
"number",
|
||||||
"pound"
|
"pound"
|
||||||
],
|
],
|
||||||
|
"haze": [
|
||||||
|
"mist",
|
||||||
|
"fog"
|
||||||
|
],
|
||||||
"headphones": [
|
"headphones": [
|
||||||
"music",
|
"music",
|
||||||
"audio",
|
"audio",
|
||||||
@@ -875,6 +1026,12 @@
|
|||||||
"photo",
|
"photo",
|
||||||
"item"
|
"item"
|
||||||
],
|
],
|
||||||
|
"layout-template": [
|
||||||
|
"window",
|
||||||
|
"webpage",
|
||||||
|
"block",
|
||||||
|
"section"
|
||||||
|
],
|
||||||
"library": [
|
"library": [
|
||||||
"book",
|
"book",
|
||||||
"music",
|
"music",
|
||||||
@@ -887,7 +1044,11 @@
|
|||||||
],
|
],
|
||||||
"lightbulb": [
|
"lightbulb": [
|
||||||
"idea",
|
"idea",
|
||||||
"bright"
|
"bright",
|
||||||
|
"lights"
|
||||||
|
],
|
||||||
|
"lightbulb-off": [
|
||||||
|
"lights"
|
||||||
],
|
],
|
||||||
"link": [
|
"link": [
|
||||||
"chain",
|
"chain",
|
||||||
@@ -916,7 +1077,13 @@
|
|||||||
"number",
|
"number",
|
||||||
"order"
|
"order"
|
||||||
],
|
],
|
||||||
"loader": [],
|
"loader": [
|
||||||
|
"load",
|
||||||
|
"wait"
|
||||||
|
],
|
||||||
|
"loader-2": [
|
||||||
|
"load"
|
||||||
|
],
|
||||||
"locate": [
|
"locate": [
|
||||||
"map",
|
"map",
|
||||||
"gps",
|
"gps",
|
||||||
@@ -1037,6 +1204,11 @@
|
|||||||
"monitor-off": [
|
"monitor-off": [
|
||||||
"share"
|
"share"
|
||||||
],
|
],
|
||||||
|
"monitor-speaker": [
|
||||||
|
"devices",
|
||||||
|
"connect",
|
||||||
|
"cast"
|
||||||
|
],
|
||||||
"moon": [
|
"moon": [
|
||||||
"dark",
|
"dark",
|
||||||
"night"
|
"night"
|
||||||
@@ -1061,6 +1233,11 @@
|
|||||||
"cursor",
|
"cursor",
|
||||||
"click"
|
"click"
|
||||||
],
|
],
|
||||||
|
"mouse-pointer-click": [
|
||||||
|
"arrow",
|
||||||
|
"cursor",
|
||||||
|
"click"
|
||||||
|
],
|
||||||
"move": [
|
"move": [
|
||||||
"arrows"
|
"arrows"
|
||||||
],
|
],
|
||||||
@@ -1127,6 +1304,11 @@
|
|||||||
"audio",
|
"audio",
|
||||||
"stop"
|
"stop"
|
||||||
],
|
],
|
||||||
|
"pause-octagon": [
|
||||||
|
"music",
|
||||||
|
"audio",
|
||||||
|
"stop"
|
||||||
|
],
|
||||||
"pen-tool": [
|
"pen-tool": [
|
||||||
"vector",
|
"vector",
|
||||||
"drawing",
|
"drawing",
|
||||||
@@ -1140,6 +1322,12 @@
|
|||||||
"percent": [
|
"percent": [
|
||||||
"discount"
|
"discount"
|
||||||
],
|
],
|
||||||
|
"person-standing": [
|
||||||
|
"people",
|
||||||
|
"human",
|
||||||
|
"accessibility",
|
||||||
|
"stick figure"
|
||||||
|
],
|
||||||
"phone": [
|
"phone": [
|
||||||
"call"
|
"call"
|
||||||
],
|
],
|
||||||
@@ -1182,6 +1370,12 @@
|
|||||||
"music",
|
"music",
|
||||||
"start"
|
"start"
|
||||||
],
|
],
|
||||||
|
"plug-zap": [
|
||||||
|
"charge",
|
||||||
|
"charging",
|
||||||
|
"battery",
|
||||||
|
"connect"
|
||||||
|
],
|
||||||
"plus": [
|
"plus": [
|
||||||
"add",
|
"add",
|
||||||
"new"
|
"new"
|
||||||
@@ -1212,7 +1406,11 @@
|
|||||||
],
|
],
|
||||||
"power": [
|
"power": [
|
||||||
"on",
|
"on",
|
||||||
"off"
|
"off",
|
||||||
|
"device"
|
||||||
|
],
|
||||||
|
"power-off": [
|
||||||
|
"device"
|
||||||
],
|
],
|
||||||
"printer": [
|
"printer": [
|
||||||
"fax",
|
"fax",
|
||||||
@@ -1284,6 +1482,14 @@
|
|||||||
"save": [
|
"save": [
|
||||||
"floppy disk"
|
"floppy disk"
|
||||||
],
|
],
|
||||||
|
"scale": [
|
||||||
|
"balance",
|
||||||
|
"legal",
|
||||||
|
"license",
|
||||||
|
"right",
|
||||||
|
"rule",
|
||||||
|
"law"
|
||||||
|
],
|
||||||
"scissors": [
|
"scissors": [
|
||||||
"cut"
|
"cut"
|
||||||
],
|
],
|
||||||
@@ -1301,11 +1507,12 @@
|
|||||||
"magnifying glass"
|
"magnifying glass"
|
||||||
],
|
],
|
||||||
"send": [
|
"send": [
|
||||||
|
"email",
|
||||||
"message",
|
"message",
|
||||||
"mail",
|
"mail",
|
||||||
"email",
|
|
||||||
"paper airplane",
|
"paper airplane",
|
||||||
"paper aeroplane"
|
"paper aeroplane",
|
||||||
|
"submit"
|
||||||
],
|
],
|
||||||
"separator-horizontal": [
|
"separator-horizontal": [
|
||||||
"move",
|
"move",
|
||||||
@@ -1315,16 +1522,30 @@
|
|||||||
"move",
|
"move",
|
||||||
"split"
|
"split"
|
||||||
],
|
],
|
||||||
"server": [],
|
"server": [
|
||||||
"server-crash": [],
|
"cloud",
|
||||||
"server-off": [],
|
"storage"
|
||||||
|
],
|
||||||
|
"server-crash": [
|
||||||
|
"cloud",
|
||||||
|
"storage",
|
||||||
|
"problem",
|
||||||
|
"error"
|
||||||
|
],
|
||||||
|
"server-off": [
|
||||||
|
"cloud",
|
||||||
|
"storage"
|
||||||
|
],
|
||||||
"settings": [
|
"settings": [
|
||||||
"cog",
|
"cog",
|
||||||
"edit",
|
"edit",
|
||||||
"gear",
|
"gear",
|
||||||
"preferences"
|
"preferences"
|
||||||
],
|
],
|
||||||
"share": [],
|
"share": [
|
||||||
|
"network",
|
||||||
|
"connections"
|
||||||
|
],
|
||||||
"share-2": [
|
"share-2": [
|
||||||
"network",
|
"network",
|
||||||
"connections"
|
"connections"
|
||||||
@@ -1387,12 +1608,22 @@
|
|||||||
"dig",
|
"dig",
|
||||||
"spade"
|
"spade"
|
||||||
],
|
],
|
||||||
|
"shrink": [
|
||||||
|
"scale",
|
||||||
|
"fullscreen"
|
||||||
|
],
|
||||||
"shuffle": [
|
"shuffle": [
|
||||||
"music"
|
"music"
|
||||||
],
|
],
|
||||||
"sidebar": [
|
"sidebar": [
|
||||||
"menu"
|
"menu"
|
||||||
],
|
],
|
||||||
|
"sidebar-close": [
|
||||||
|
"menu"
|
||||||
|
],
|
||||||
|
"sidebar-open": [
|
||||||
|
"menu"
|
||||||
|
],
|
||||||
"sigma": [
|
"sigma": [
|
||||||
"sum",
|
"sum",
|
||||||
"calculate"
|
"calculate"
|
||||||
@@ -1403,6 +1634,11 @@
|
|||||||
"skip-forward": [
|
"skip-forward": [
|
||||||
"music"
|
"music"
|
||||||
],
|
],
|
||||||
|
"skull": [
|
||||||
|
"death",
|
||||||
|
"danger",
|
||||||
|
"bone"
|
||||||
|
],
|
||||||
"slack": [
|
"slack": [
|
||||||
"logo"
|
"logo"
|
||||||
],
|
],
|
||||||
@@ -1457,7 +1693,16 @@
|
|||||||
"star": [
|
"star": [
|
||||||
"bookmark",
|
"bookmark",
|
||||||
"favorite",
|
"favorite",
|
||||||
"like"
|
"like",
|
||||||
|
"review",
|
||||||
|
"rating"
|
||||||
|
],
|
||||||
|
"star-half": [
|
||||||
|
"bookmark",
|
||||||
|
"favorite",
|
||||||
|
"like",
|
||||||
|
"review",
|
||||||
|
"rating"
|
||||||
],
|
],
|
||||||
"stop-circle": [
|
"stop-circle": [
|
||||||
"media",
|
"media",
|
||||||
@@ -1510,10 +1755,21 @@
|
|||||||
"logo",
|
"logo",
|
||||||
"bullseye"
|
"bullseye"
|
||||||
],
|
],
|
||||||
|
"tent": [
|
||||||
|
"campsite",
|
||||||
|
"wigwam"
|
||||||
|
],
|
||||||
"terminal": [
|
"terminal": [
|
||||||
"code",
|
"code",
|
||||||
"command line",
|
"command line",
|
||||||
"prompt"
|
"prompt",
|
||||||
|
"shell"
|
||||||
|
],
|
||||||
|
"terminal-square": [
|
||||||
|
"code",
|
||||||
|
"command line",
|
||||||
|
"prompt",
|
||||||
|
"shell"
|
||||||
],
|
],
|
||||||
"thermometer": [
|
"thermometer": [
|
||||||
"temperature",
|
"temperature",
|
||||||
@@ -1521,6 +1777,23 @@
|
|||||||
"fahrenheit",
|
"fahrenheit",
|
||||||
"weather"
|
"weather"
|
||||||
],
|
],
|
||||||
|
"thermometer-snowflake": [
|
||||||
|
"temperature",
|
||||||
|
"celsius",
|
||||||
|
"fahrenheit",
|
||||||
|
"weather",
|
||||||
|
"cold",
|
||||||
|
"freeze",
|
||||||
|
"freezing"
|
||||||
|
],
|
||||||
|
"thermometer-sun": [
|
||||||
|
"temperature",
|
||||||
|
"celsius",
|
||||||
|
"fahrenheit",
|
||||||
|
"weather",
|
||||||
|
"warm",
|
||||||
|
"hot"
|
||||||
|
],
|
||||||
"thumbs-down": [
|
"thumbs-down": [
|
||||||
"dislike",
|
"dislike",
|
||||||
"bad",
|
"bad",
|
||||||
@@ -1531,6 +1804,11 @@
|
|||||||
"good",
|
"good",
|
||||||
"emotion"
|
"emotion"
|
||||||
],
|
],
|
||||||
|
"ticket": [
|
||||||
|
"entry",
|
||||||
|
"pass",
|
||||||
|
"voucher"
|
||||||
|
],
|
||||||
"timer": [
|
"timer": [
|
||||||
"time",
|
"time",
|
||||||
"timer",
|
"timer",
|
||||||
@@ -1546,6 +1824,12 @@
|
|||||||
"off",
|
"off",
|
||||||
"switch"
|
"switch"
|
||||||
],
|
],
|
||||||
|
"tornado": [
|
||||||
|
"weather",
|
||||||
|
"wind",
|
||||||
|
"storm",
|
||||||
|
"hurricane"
|
||||||
|
],
|
||||||
"trash": [
|
"trash": [
|
||||||
"garbage",
|
"garbage",
|
||||||
"delete",
|
"delete",
|
||||||
|
|||||||