Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a98692b37c | ||
|
|
a843cf6d6b | ||
|
|
72736a6879 | ||
|
|
296bb35317 | ||
|
|
7adecdc5df | ||
|
|
23259c9e3f | ||
|
|
5770517a71 | ||
|
|
601b7ad1fc | ||
|
|
e79d778606 | ||
|
|
04dad48bc5 | ||
|
|
dd9c48196d | ||
|
|
db9cd7af52 | ||
|
|
893dc9e0e8 | ||
|
|
b172f4316e | ||
|
|
60e42bd350 | ||
|
|
272e33d320 | ||
|
|
0af9969e53 | ||
|
|
afbe6576d6 | ||
|
|
a61276c72e | ||
|
|
e43c2a7f23 | ||
|
|
06fe7d6a3f | ||
|
|
81ff3fc1d1 | ||
|
|
776ef4f43c | ||
|
|
e4edabddb9 | ||
|
|
028afec837 | ||
|
|
049c4cd61e | ||
|
|
b13a7bf1ab | ||
|
|
e278f27a61 | ||
|
|
f70a0e1945 | ||
|
|
26f85a75d2 | ||
|
|
da7c09f66e | ||
|
|
f5175bd4b2 | ||
|
|
cb7da732fe | ||
|
|
2200ab47d3 | ||
|
|
c537469638 | ||
|
|
f09836cc84 | ||
|
|
eaf51b2da4 | ||
|
|
66b3574d64 | ||
|
|
435d2bd66b | ||
|
|
ca330378d0 | ||
|
|
aa7efeacc4 | ||
|
|
0febdd831f | ||
|
|
99d5d7a6da | ||
|
|
533b820e32 | ||
|
|
cd7b9bf03d | ||
|
|
c97b456bce | ||
|
|
9a04665ad2 | ||
|
|
2d5a5fd90a | ||
|
|
7ed8092d8a | ||
|
|
7128fc608e | ||
|
|
b470bc691c | ||
|
|
d67626a6e1 | ||
|
|
10b146a358 | ||
|
|
641bf8a933 | ||
|
|
f0f168376a | ||
|
|
34594af2bd | ||
|
|
e686494545 | ||
|
|
6eb0acac4e | ||
|
|
8b0cf96c69 | ||
|
|
48376a2621 | ||
|
|
2c580552b4 | ||
|
|
95a625dcd4 | ||
|
|
3af8508c46 | ||
|
|
609fd065da | ||
|
|
b4afb9c8da | ||
|
|
3292edab39 | ||
|
|
754300465a | ||
|
|
5834504dd9 | ||
|
|
29a7763ce2 | ||
|
|
f19e0696ce | ||
|
|
872adfa333 | ||
|
|
428460ea46 | ||
|
|
f78ef546a8 | ||
|
|
7558bef262 |
67
.github/workflows/font.yml
vendored
@@ -1,67 +0,0 @@
|
||||
name: Build Lucide
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
Build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Clone 'Lucide'
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Update repos
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install FontForge
|
||||
run: sudo apt-get install zlib1g-dev fontforge
|
||||
|
||||
- name: Clone sfnt2woff-zopfli repo
|
||||
run: git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli
|
||||
|
||||
- name: Install and move sfnt2woff-zopfli
|
||||
run: |
|
||||
cd sfnt2woff-zopfli
|
||||
make
|
||||
sudo mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff
|
||||
|
||||
- name: Clone woff2
|
||||
run: git clone --recursive https://github.com/google/woff2.git
|
||||
|
||||
- name: Install woff2
|
||||
run: |
|
||||
cd woff2
|
||||
sudo make clean all
|
||||
sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/
|
||||
|
||||
- name: Install Font Custom dependency
|
||||
run: sudo gem install fontcustom
|
||||
|
||||
- name: Install "outline-stroke"
|
||||
run: sudo yarn add svg-outline-stroke -W
|
||||
|
||||
- name: "Outline SVG"
|
||||
run: node scripts/outline_svg.js
|
||||
|
||||
- name: Build 'Lucide'
|
||||
run: |
|
||||
mkdir build
|
||||
list=(_200 _300 "" _500 _600)
|
||||
for name in "${list[@]}"
|
||||
do
|
||||
fontcustom compile "./converted_icons${name}" -h -n "Lucide${name}" -o ./tmp -F && mv ./tmp/* build
|
||||
done
|
||||
|
||||
- name: Zip 'Lucide'
|
||||
run: zip -r Lucide.zip build
|
||||
|
||||
- name: 'Upload to Artifacts'
|
||||
uses: actions/upload-artifact@v1.0.0
|
||||
with:
|
||||
name: Lucide
|
||||
path: build
|
||||
254
.github/workflows/release.yml
vendored
@@ -13,11 +13,10 @@ on:
|
||||
|
||||
jobs:
|
||||
pre-build:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey"]', github.actor)
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
||||
YARN_CACHE_DIR: ${{ steps.yarn_cache.outputs.YARN_CACHE_DIR }}
|
||||
|
||||
steps:
|
||||
- name: Get the version
|
||||
@@ -28,25 +27,19 @@ jobs:
|
||||
env:
|
||||
VERSION_REF: ${{ github.event.inputs.version || github.ref }}
|
||||
|
||||
- name: Get yarn cache directory path
|
||||
id: yarn_cache
|
||||
run: echo "::set-output name=YARN_CACHE_DIR::$(yarn cache dir)"
|
||||
|
||||
lucide:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
with:
|
||||
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-yarn-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
run: yarn
|
||||
|
||||
- name: Set Auth Token
|
||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||
@@ -75,15 +68,13 @@ jobs:
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
with:
|
||||
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-yarn-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
run: yarn
|
||||
|
||||
- name: Set Auth Token
|
||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||
@@ -112,19 +103,13 @@ jobs:
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
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-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
run: yarn
|
||||
|
||||
- name: Set Auth Token
|
||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||
@@ -153,19 +138,13 @@ jobs:
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
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-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
run: yarn
|
||||
|
||||
- name: Set Auth Token
|
||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||
@@ -194,12 +173,10 @@ jobs:
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
with:
|
||||
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-yarn-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
@@ -231,15 +208,13 @@ jobs:
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
with:
|
||||
path: ${{ needs.pre-build.outputs.YARN_CACHE_DIR }}
|
||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-yarn-
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn --pure-lockfile
|
||||
run: yarn
|
||||
|
||||
- name: Set Auth Token
|
||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||
@@ -262,28 +237,171 @@ jobs:
|
||||
name: lucide-preact-package-json
|
||||
path: packages/lucide-preact/package.json
|
||||
|
||||
upload-package-jsons:
|
||||
lucide-font:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
needs: [pre-build, lucide, lucide-react, lucide-vue, lucide-vue-next, lucide-angular, lucide-preact]
|
||||
needs: pre-build
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2.4.0
|
||||
with:
|
||||
node-version: '14'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Update repos
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install FontForge
|
||||
run: sudo apt-get install zlib1g-dev fontforge
|
||||
|
||||
- name: Clone sfnt2woff-zopfli repo
|
||||
run: git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli
|
||||
|
||||
- name: Install and move sfnt2woff-zopfli
|
||||
run: |
|
||||
cd sfnt2woff-zopfli
|
||||
make
|
||||
sudo mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff
|
||||
|
||||
- name: Clone woff2
|
||||
run: git clone --recursive https://github.com/google/woff2.git
|
||||
|
||||
- name: Install woff2
|
||||
run: |
|
||||
cd woff2
|
||||
sudo make clean all
|
||||
sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/
|
||||
|
||||
- name: Install Font Custom dependency
|
||||
run: sudo gem install fontcustom
|
||||
|
||||
- name: Install
|
||||
run: yarn
|
||||
|
||||
- name: "Outline SVG"
|
||||
run: yarn build:outline-icons
|
||||
|
||||
- name: Build Icon Font
|
||||
run: |
|
||||
mkdir build
|
||||
list=(-200 -300 "" -500 -600)
|
||||
command=''
|
||||
for name in "${list[@]}"
|
||||
do
|
||||
subcommand="(fontcustom compile "./converted_icons${name}" -h -n "lucide${name}" -o ./tmp -F && mv ./tmp/* build)"
|
||||
if [ -z "$command" ]
|
||||
then
|
||||
command="$subcommand";
|
||||
else
|
||||
command="$command & $subcommand";
|
||||
fi
|
||||
done
|
||||
|
||||
eval $command
|
||||
|
||||
- name: 'Upload to Artifacts'
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: lucide-font
|
||||
path: build
|
||||
|
||||
lucide-flutter:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
needs: [pre-build, lucide-font]
|
||||
container:
|
||||
image: cirrusci/flutter:latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '~/.pub-cache'
|
||||
key: ${{ runner.os }}-pub-${{ hashFiles('~/.pub-cache') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pub-
|
||||
|
||||
- name: Setup credentials
|
||||
run: |
|
||||
mkdir -p ~/.pub-cache
|
||||
cat <<EOF > ~/.pub-cache/credentials.json
|
||||
{
|
||||
"accessToken": "${{ secrets.GOOGLE_OAUTH_ACCESS_TOKEN }}",
|
||||
"refreshToken": "${{ secrets.GOOGLE_OAUTH_REFRESH_TOKEN }}",
|
||||
"idToken": "${{ secrets.GOOGLE_OAUTH_ID_TOKEN }}",
|
||||
"tokenEndpoint":"https://accounts.google.com/o/oauth2/token",
|
||||
"scopes": [ "openid", "https://www.googleapis.com/auth/userinfo.email" ],
|
||||
"expiration": 1629835569218
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Get packages
|
||||
run: flutter pub get
|
||||
working-directory: packages/lucide-flutter
|
||||
|
||||
- name: List lucide-font folder
|
||||
run: ls lucide-font
|
||||
|
||||
- name: Move the ttf file
|
||||
run: mv lucide-font/lucide.ttf packages/lucide-flutter/assets/Lucide.ttf
|
||||
|
||||
- name: Generate exports file
|
||||
run: dart tool/generate_fonts.dart lucide-font/lucide-preview.html
|
||||
working-directory: packages/lucide-flutter
|
||||
|
||||
- name: Update yaml
|
||||
run: sed -E 's/(version:)[^\n]*/\1 ${{ needs.pre-build.outputs.VERSION }}/;' pubspec.yaml > pubspec && mv pubspec pubspec.yaml
|
||||
working-directory: packages/lucide-flutter
|
||||
|
||||
- name: Flutter publish
|
||||
run: flutter pub publish -f
|
||||
working-directory: packages/lucide-flutter
|
||||
|
||||
- name: Upload pubspec.yaml
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: lucide-flutter-pubspec-yaml
|
||||
path: packages/lucide-flutter/pubspec.yaml
|
||||
|
||||
|
||||
post-release:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
needs: [pre-build, lucide, lucide-react, lucide-vue, lucide-vue-next, lucide-angular, lucide-preact, lucide-flutter, lucide-font]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
|
||||
- name: Commit package.jsons
|
||||
run: |
|
||||
mv lucide-package-json/package.json packages/lucide/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-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 files
|
||||
run: |
|
||||
mv lucide-package-json/package.json packages/lucide/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-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
|
||||
mv lucide-flutter-pubspec-yaml/pubspec.yaml packages/lucide-flutter/pubspec.yaml
|
||||
|
||||
- name: Commit package.jsons
|
||||
run: |
|
||||
git add packages/*/package.json
|
||||
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
|
||||
commit -m ":package: Bump lucide package versions to ${{ needs.pre-build.outputs.VERSION }}" --no-verify --quiet
|
||||
git remote set-url --push origin https://lucide-bot:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git
|
||||
git push origin HEAD:master
|
||||
- name: Commit package.jsons
|
||||
run: |
|
||||
git add packages/*/package.json packages/lucide-flutter/pubspec.yaml
|
||||
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
|
||||
commit -m ":package: Bump lucide package versions to ${{ needs.pre-build.outputs.VERSION }}" --no-verify --quiet
|
||||
git remote set-url --push origin https://lucide-bot:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git
|
||||
git push origin HEAD:master
|
||||
|
||||
- name: Zip font and icons
|
||||
run: |
|
||||
zip -r lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip lucide-font
|
||||
zip -r lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip icons
|
||||
|
||||
- name: Release zip and fonts
|
||||
uses: softprops/action-gh-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.new-version.outputs.VERSION }}
|
||||
files: |
|
||||
lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip
|
||||
lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
# Contribution Guidelines
|
||||
|
||||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
||||
@@ -22,8 +23,23 @@ Guidelines for pull requests:
|
||||
|
||||
#### Guidelines
|
||||
|
||||
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide
|
||||
Read it here: [ICON_GUIDELINES](docs/ICON_DESIGN_GUIDE.md)
|
||||
Please make sure you follow the icon guidelines, that should be followed to keep quality and consistency when making icons for Lucide.
|
||||
|
||||
Read it here: [ICON_GUIDELINES](docs/ICON_DESIGN_GUIDE.md).
|
||||
|
||||
### Templates
|
||||
|
||||
Here you can find templates and instructions on how to implement the guidelines with different programs.
|
||||
|
||||
#### Adobe Illustrator
|
||||
|
||||
`Template`: You can find a template for Adobe Illustrator under `/docs/templates/illustrator-template.ai`.
|
||||
`Instructions`: You can find the [Illustrator Guide](/docs/ILLUSTRATOR_GUIDE.md) and how to work with the template in `/docs/ILLUSTRATOR_GUIDE.md`.
|
||||
|
||||
#### Inkscape
|
||||
|
||||
`Template`: None
|
||||
`Instructions`: You can find the [Inkscape Guide](/docs/INKSCAPE_GUIDE.md) and how to set up Inkscape under `/docs/INKSCAPE_GUIDE.md`.
|
||||
|
||||
#### Submitting Mulitple Icons
|
||||
|
||||
|
||||
13
README.md
@@ -17,7 +17,7 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
|
||||
|
||||
### Why choose Lucide over Feather Icons
|
||||
|
||||
- Lucide already expended the icon set by 130+ in less then a year, so more icons to work with.
|
||||
- Lucide already expanded the icon set by 130+ in less then a year, so more icons to work with.
|
||||
- Well maintained code base.
|
||||
- Active community.
|
||||
|
||||
@@ -35,6 +35,7 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
|
||||
* [Preact](#preact)
|
||||
* [Figma](#figma)
|
||||
* [Laravel](#laravel)
|
||||
* [Flutter](#flutter)
|
||||
* [Contributing](#contributing)
|
||||
* [Community](#community)
|
||||
* [License](#license)
|
||||
@@ -146,6 +147,16 @@ composer require mallardduck/blade-lucide-icons
|
||||
|
||||
For more details, see the [documentation](https://github.com/mallardduck/blade-lucide-icons/blob/main/README.md).
|
||||
|
||||
### Flutter
|
||||
|
||||
Implementation of Lucide icon library for Flutter applications.
|
||||
|
||||
```sh
|
||||
flutter pub add lucide_icons
|
||||
```
|
||||
|
||||
For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons).
|
||||
|
||||
## Contributing
|
||||
|
||||
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/master/CONTRIBUTING.md).
|
||||
|
||||
28
docs/ILLUSTRATOR_GUIDE.md
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
# Illustrator Template Guide
|
||||
|
||||
This Guide explains how to properly use the Adobe Illustrator Template for Lucide.
|
||||
|
||||
>Attention: Even though it is unlikely the template can be outdated or not 100% correct. Please check the Icon Design Guide before you start working with the template to ensure integrity with the Lucide icon pack.
|
||||
|
||||
## General Workflow
|
||||
|
||||
The Illustrator template is created following guidelines from the [Icon Design Guide](ICON_DESIGN_GUIDE.md).
|
||||
|
||||
**Workflow:**
|
||||
|
||||
1. Open the Document which can be found under __*/docs/templates/illustrator_template.ai*__ .
|
||||
|
||||
2. You can now remove the content from the example logo layer ("Draw") and start creating.
|
||||
|
||||
3. Verify that you follow the [Icon Design Guidelines](ICON_DESIGN_GUIDE.md).
|
||||
|
||||
4. Before you export the file as an SVG make sure to check that you followed the guidelines and remove all unecessary layers (especially "Padding" and "Grid").
|
||||
|
||||
5. Export the file with the export menu under: `Export > Export As..` than safe the file as SVG. Select the following options in the SVG Options dialog:
|
||||
|
||||

|
||||
|
||||
After that, double check that the [code conventions and SVG global attributes](https://github.com/lucide-icons/lucide/blob/master/docs/ICON_DESIGN_GUIDE.md#code-conventions) are correct.
|
||||
|
||||
7. Minify paths with [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
||||
BIN
docs/images/illustrator-svg-options.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
1935
docs/templates/illustrator_template.ai
vendored
Normal file
17
icons/alarm-clock-off.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M19.94 14A8 8 0 0 0 10 5.25m8.13 12.89A8 8 0 1 1 6.87 6.86" />
|
||||
<path d="m22 6-3-3" />
|
||||
<path d="m6 19-2 2" />
|
||||
<path d="m2 2 20 20" />
|
||||
<path d="M4 4 2 6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 382 B |
@@ -9,7 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M7 7H3.78A1.73 1.73 0 002 8.67v6.66A1.73 1.73 0 003.78 17H6m8-10h2.22A1.73 1.73 0 0118 8.67v6.66A1.73 1.73 0 0116.22 17H13" />
|
||||
<path d="M14 7h2a2 2 0 012 2v6a2 2 0 01-2 2h-3" />
|
||||
<path d="M7 7H4a2 2 0 00-2 2v6a2 2 0 002 2h2" />
|
||||
<polyline points="11 7 8 12 12 12 9 17" />
|
||||
<line x1="22" x2="22" y1="11" y2="13" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 400 B |
13
icons/flag-triangle-left.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M17 22 17 2 7 7 17 12" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 245 B |
13
icons/flag-triangle-right.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M7 22 7 2 17 7 7 12" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 243 B |
13
icons/graduation-cap.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="M22 10v6M2 10l10-5 10 5-10 5z" />
|
||||
<path d="M6 12v5c3 3 9 3 12 0v-5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 270 B |
18
icons/landmark.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"
|
||||
>
|
||||
<line x1="3" y1="22" x2="21" y2="22" />
|
||||
<line x1="6" y1="18" x2="6" y2="11" />
|
||||
<line x1="10" y1="18" x2="10" y2="11" />
|
||||
<line x1="14" y1="18" x2="14" y2="11" />
|
||||
<line x1="18" y1="18" x2="18" y2="11" />
|
||||
<polygon points="12 2 20 7 4 7" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 457 B |
14
icons/megaphone.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="M3 11l18-5v12L3 14v-3z" />
|
||||
<path d="M11.6 16.8a3 3 0 11-5.8-1.6" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 289 B |
14
icons/quote.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="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" />
|
||||
<path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
16
icons/timer-reset.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M10 2h4" />
|
||||
<path d="M12 14v-4"/>
|
||||
<path d="M4 13a8 8 0 018-7 8 8 0 11-5.3 14L4 17.6" />
|
||||
<path d="M9 17H4v5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 336 B |
@@ -9,5 +9,5 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M23 3a10.9 10.9 0 01-3.14 1.53 4.48 4.48 0 00-7.86 3v1A10.66 10.66 0 013 4s-4 9 5 13a11.64 11.64 0 01-7 2c9 5 20 0 20-11.5a4.5 4.5 0 00-.08-.83A7.72 7.72 0 0023 3z" />
|
||||
<path d="M23 3a10.9 10.9 0 01-3.14 1.53 4.48 4.48 0 00-7.86 3v1A10.66 10.66 0 013 4s-4 9 5 13a11.64 11.64 0 01-7 2c9 5 20 0 20-11.5 0-.28-.03-.56-.08-.83A7.72 7.72 0 0023 3z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 388 B |
25
package.json
@@ -5,13 +5,20 @@
|
||||
"packages/*"
|
||||
],
|
||||
"nohoist": [
|
||||
"**/jest", "**/jest/**",
|
||||
"**/jasmine", "**/jasmine/**",
|
||||
"**/react", "**/react/**",
|
||||
"**/testing-library__jest-dom", "**/testing-library__jest-dom/**",
|
||||
"**/testing-library__react-hooks", "**/testing-library__react-hooks/**",
|
||||
"**/react-dom", "**/react-dom/**",
|
||||
"**/react-test-renderer", "**/react-test-renderer/**"
|
||||
"**/jest",
|
||||
"**/jest/**",
|
||||
"**/jasmine",
|
||||
"**/jasmine/**",
|
||||
"**/react",
|
||||
"**/react/**",
|
||||
"**/testing-library__jest-dom",
|
||||
"**/testing-library__jest-dom/**",
|
||||
"**/testing-library__react-hooks",
|
||||
"**/testing-library__react-hooks/**",
|
||||
"**/react-dom",
|
||||
"**/react-dom/**",
|
||||
"**/react-test-renderer",
|
||||
"**/react-test-renderer/**"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
@@ -24,6 +31,7 @@
|
||||
"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:outline-icons": "babel-node ./scripts/outlineSvg.js --presets @babel/env",
|
||||
"optimize": "babel-node ./scripts/optimizeSvgs.js --presets @babel/env",
|
||||
"addtags": "babel-node ./scripts/addMissingKeysToTags.js --presets @babel/env",
|
||||
"generate:changelog": "babel-node ./scripts/generateChangelog.js --presets @babel/env"
|
||||
@@ -68,5 +76,8 @@
|
||||
},
|
||||
"lint-staged": {
|
||||
"icons/*.svg": "npx babel-node ./scripts/optimizeStagedSvgs.js --presets @babel/env"
|
||||
},
|
||||
"dependencies": {
|
||||
"svg-outline-stroke": "^1.3.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "lucide-angular",
|
||||
"description": "Lucide Angular package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||
"version": "0.15.28",
|
||||
"version": "0.16.0",
|
||||
"author": "SMAH1",
|
||||
"license": "ISC",
|
||||
"homepage": "https://lucide.dev",
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"id": "939567362549682242",
|
||||
"api": "1.0.0",
|
||||
"ui": "build/ui.html",
|
||||
"main": "build/main.js"
|
||||
"main": "build/main.js",
|
||||
"editorType": ["figma"]
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"css-loader": "^3.0.0",
|
||||
"html-webpack-inline-source-plugin": "^0.0.10",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"lucide-react": "0.15.11",
|
||||
"lucide-react": "0.16.0",
|
||||
"react": "^16.8.6",
|
||||
"react-dom": "^16.8.6",
|
||||
"style-loader": "^0.23.1",
|
||||
|
||||
@@ -2495,9 +2495,9 @@ path-key@^2.0.1:
|
||||
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
|
||||
|
||||
path-parse@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
|
||||
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
|
||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
||||
|
||||
path-type@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
||||
76
packages/lucide-flutter/.gitignore
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
build/
|
||||
assets
|
||||
|
||||
# Android related
|
||||
**/android/**/gradle-wrapper.jar
|
||||
**/android/.gradle
|
||||
**/android/captures/
|
||||
**/android/gradlew
|
||||
**/android/gradlew.bat
|
||||
**/android/local.properties
|
||||
**/android/**/GeneratedPluginRegistrant.java
|
||||
|
||||
# iOS/XCode related
|
||||
**/ios/**/*.mode1v3
|
||||
**/ios/**/*.mode2v3
|
||||
**/ios/**/*.moved-aside
|
||||
**/ios/**/*.pbxuser
|
||||
**/ios/**/*.perspectivev3
|
||||
**/ios/**/*sync/
|
||||
**/ios/**/.sconsign.dblite
|
||||
**/ios/**/.tags*
|
||||
**/ios/**/.vagrant/
|
||||
**/ios/**/DerivedData/
|
||||
**/ios/**/Icon?
|
||||
**/ios/**/Pods/
|
||||
**/ios/**/.symlinks/
|
||||
**/ios/**/profile
|
||||
**/ios/**/xcuserdata
|
||||
**/ios/.generated/
|
||||
**/ios/Flutter/App.framework
|
||||
**/ios/Flutter/Flutter.framework
|
||||
**/ios/Flutter/Flutter.podspec
|
||||
**/ios/Flutter/Generated.xcconfig
|
||||
**/ios/Flutter/ephemeral
|
||||
**/ios/Flutter/app.flx
|
||||
**/ios/Flutter/app.zip
|
||||
**/ios/Flutter/flutter_assets/
|
||||
**/ios/Flutter/flutter_export_environment.sh
|
||||
**/ios/ServiceDefinitions.json
|
||||
**/ios/Runner/GeneratedPluginRegistrant.*
|
||||
|
||||
# Exceptions to above rules.
|
||||
!**/ios/**/default.mode1v3
|
||||
!**/ios/**/default.mode2v3
|
||||
!**/ios/**/default.pbxuser
|
||||
!**/ios/**/default.perspectivev3
|
||||
3
packages/lucide-flutter/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## 0.15.30
|
||||
|
||||
* Initial release
|
||||
15
packages/lucide-flutter/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.
|
||||
8
packages/lucide-flutter/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# lucide_icons
|
||||
|
||||
Lucide Icons ([lucide.dev](https://lucide.dev)) for Flutter. Visit the website for the full list of icons
|
||||
|
||||
## Example
|
||||
```dart
|
||||
Icon(LucideIcons.activity);
|
||||
```
|
||||
18
packages/lucide-flutter/analysis_option.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
include: package:lint/analysis_options.yaml
|
||||
|
||||
linter:
|
||||
rules:
|
||||
omit_local_variable_types: true
|
||||
avoid_classes_with_only_static_members: false
|
||||
prefer_single_quotes: true
|
||||
|
||||
file_names: false
|
||||
|
||||
avoid_setters_without_getters: false
|
||||
|
||||
sort_pub_dependencies: false
|
||||
|
||||
prefer_relative_imports: true
|
||||
|
||||
# only for debug
|
||||
avoid_print: false
|
||||
BIN
packages/lucide-flutter/assets/Lucide.ttf
Normal file
9
packages/lucide-flutter/example/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
```dart
|
||||
|
||||
Icon(LucideIcons.activity);
|
||||
Icon(LucideIcons.airplay);
|
||||
// ...
|
||||
// for full list see
|
||||
// https://lucide.dev
|
||||
|
||||
```
|
||||
499
packages/lucide-flutter/lib/lucide_icons.dart
Normal file
@@ -0,0 +1,499 @@
|
||||
library lucide_icons;
|
||||
import "package:flutter/widgets.dart";
|
||||
import "src/icon_data.dart";
|
||||
|
||||
// THIS FILE IS AUTOMATICALLY GENERATED!
|
||||
|
||||
class LucideIcons {
|
||||
static const IconData activity = const LucideIconData(0xf100);
|
||||
static const IconData airplay = const LucideIconData(0xf101);
|
||||
static const IconData alarmCheck = const LucideIconData(0xf102);
|
||||
static const IconData alarmClock = const LucideIconData(0xf103);
|
||||
static const IconData alarmMinus = const LucideIconData(0xf104);
|
||||
static const IconData alarmPlus = const LucideIconData(0xf105);
|
||||
static const IconData album = const LucideIconData(0xf106);
|
||||
static const IconData alertCircle = const LucideIconData(0xf107);
|
||||
static const IconData alertOctagon = const LucideIconData(0xf108);
|
||||
static const IconData alertTriangle = const LucideIconData(0xf109);
|
||||
static const IconData alignCenter = const LucideIconData(0xf10a);
|
||||
static const IconData alignJustify = const LucideIconData(0xf10b);
|
||||
static const IconData alignLeft = const LucideIconData(0xf10c);
|
||||
static const IconData alignRight = const LucideIconData(0xf10d);
|
||||
static const IconData anchor = const LucideIconData(0xf10e);
|
||||
static const IconData aperture = const LucideIconData(0xf10f);
|
||||
static const IconData archive = const LucideIconData(0xf110);
|
||||
static const IconData arrowBigDown = const LucideIconData(0xf111);
|
||||
static const IconData arrowBigLeft = const LucideIconData(0xf112);
|
||||
static const IconData arrowBigRight = const LucideIconData(0xf113);
|
||||
static const IconData arrowBigUp = const LucideIconData(0xf114);
|
||||
static const IconData arrowDown = const LucideIconData(0xf115);
|
||||
static const IconData arrowDownCircle = const LucideIconData(0xf116);
|
||||
static const IconData arrowDownLeft = const LucideIconData(0xf117);
|
||||
static const IconData arrowDownRight = const LucideIconData(0xf118);
|
||||
static const IconData arrowLeft = const LucideIconData(0xf119);
|
||||
static const IconData arrowLeftCircle = const LucideIconData(0xf11a);
|
||||
static const IconData arrowRight = const LucideIconData(0xf11b);
|
||||
static const IconData arrowRightCircle = const LucideIconData(0xf11c);
|
||||
static const IconData arrowUp = const LucideIconData(0xf11d);
|
||||
static const IconData arrowUpCircle = const LucideIconData(0xf11e);
|
||||
static const IconData arrowUpLeft = const LucideIconData(0xf11f);
|
||||
static const IconData arrowUpRight = const LucideIconData(0xf120);
|
||||
static const IconData asterisk = const LucideIconData(0xf121);
|
||||
static const IconData atSign = const LucideIconData(0xf122);
|
||||
static const IconData award = const LucideIconData(0xf123);
|
||||
static const IconData axe = const LucideIconData(0xf124);
|
||||
static const IconData banknote = const LucideIconData(0xf125);
|
||||
static const IconData barChart = const LucideIconData(0xf126);
|
||||
static const IconData barChart2 = const LucideIconData(0xf127);
|
||||
static const IconData battery = const LucideIconData(0xf128);
|
||||
static const IconData batteryCharging = const LucideIconData(0xf129);
|
||||
static const IconData batteryFull = const LucideIconData(0xf12a);
|
||||
static const IconData batteryLow = const LucideIconData(0xf12b);
|
||||
static const IconData batteryMedium = const LucideIconData(0xf12c);
|
||||
static const IconData beaker = const LucideIconData(0xf12d);
|
||||
static const IconData bell = const LucideIconData(0xf12e);
|
||||
static const IconData bellMinus = const LucideIconData(0xf12f);
|
||||
static const IconData bellOff = const LucideIconData(0xf130);
|
||||
static const IconData bellPlus = const LucideIconData(0xf131);
|
||||
static const IconData bellRing = const LucideIconData(0xf132);
|
||||
static const IconData bike = const LucideIconData(0xf133);
|
||||
static const IconData binary = const LucideIconData(0xf134);
|
||||
static const IconData bitcoin = const LucideIconData(0xf135);
|
||||
static const IconData bluetooth = const LucideIconData(0xf136);
|
||||
static const IconData bluetoothConnected = const LucideIconData(0xf137);
|
||||
static const IconData bluetoothOff = const LucideIconData(0xf138);
|
||||
static const IconData bluetoothSearching = const LucideIconData(0xf139);
|
||||
static const IconData bold = const LucideIconData(0xf13a);
|
||||
static const IconData book = const LucideIconData(0xf13b);
|
||||
static const IconData bookOpen = const LucideIconData(0xf13c);
|
||||
static const IconData bookmark = const LucideIconData(0xf13d);
|
||||
static const IconData bot = const LucideIconData(0xf13e);
|
||||
static const IconData box = const LucideIconData(0xf13f);
|
||||
static const IconData boxSelect = const LucideIconData(0xf140);
|
||||
static const IconData briefcase = const LucideIconData(0xf141);
|
||||
static const IconData brush = const LucideIconData(0xf142);
|
||||
static const IconData bug = const LucideIconData(0xf143);
|
||||
static const IconData building = const LucideIconData(0xf144);
|
||||
static const IconData bus = const LucideIconData(0xf145);
|
||||
static const IconData calculator = const LucideIconData(0xf146);
|
||||
static const IconData calendar = const LucideIconData(0xf147);
|
||||
static const IconData camera = const LucideIconData(0xf148);
|
||||
static const IconData cameraOff = const LucideIconData(0xf149);
|
||||
static const IconData car = const LucideIconData(0xf14a);
|
||||
static const IconData cast = const LucideIconData(0xf14b);
|
||||
static const IconData check = const LucideIconData(0xf14c);
|
||||
static const IconData checkCircle = const LucideIconData(0xf14d);
|
||||
static const IconData checkCircle2 = const LucideIconData(0xf14e);
|
||||
static const IconData checkSquare = const LucideIconData(0xf14f);
|
||||
static const IconData chevronDown = const LucideIconData(0xf150);
|
||||
static const IconData chevronLeft = const LucideIconData(0xf151);
|
||||
static const IconData chevronRight = const LucideIconData(0xf152);
|
||||
static const IconData chevronUp = const LucideIconData(0xf153);
|
||||
static const IconData chevronsDown = const LucideIconData(0xf154);
|
||||
static const IconData chevronsDownUp = const LucideIconData(0xf155);
|
||||
static const IconData chevronsLeft = const LucideIconData(0xf156);
|
||||
static const IconData chevronsRight = const LucideIconData(0xf157);
|
||||
static const IconData chevronsUp = const LucideIconData(0xf158);
|
||||
static const IconData chevronsUpDown = const LucideIconData(0xf159);
|
||||
static const IconData chrome = const LucideIconData(0xf15a);
|
||||
static const IconData circle = const LucideIconData(0xf15b);
|
||||
static const IconData circleSlashed = const LucideIconData(0xf15c);
|
||||
static const IconData clipboard = const LucideIconData(0xf15d);
|
||||
static const IconData clipboardCheck = const LucideIconData(0xf15e);
|
||||
static const IconData clipboardCopy = const LucideIconData(0xf15f);
|
||||
static const IconData clipboardList = const LucideIconData(0xf160);
|
||||
static const IconData clipboardX = const LucideIconData(0xf161);
|
||||
static const IconData clock = const LucideIconData(0xf162);
|
||||
static const IconData cloud = const LucideIconData(0xf163);
|
||||
static const IconData cloudDrizzle = const LucideIconData(0xf164);
|
||||
static const IconData cloudFog = const LucideIconData(0xf165);
|
||||
static const IconData cloudHail = const LucideIconData(0xf166);
|
||||
static const IconData cloudLightning = const LucideIconData(0xf167);
|
||||
static const IconData cloudMoon = const LucideIconData(0xf168);
|
||||
static const IconData cloudOff = const LucideIconData(0xf169);
|
||||
static const IconData cloudRain = const LucideIconData(0xf16a);
|
||||
static const IconData cloudRainWind = const LucideIconData(0xf16b);
|
||||
static const IconData cloudSnow = const LucideIconData(0xf16c);
|
||||
static const IconData cloudSun = const LucideIconData(0xf16d);
|
||||
static const IconData cloudy = const LucideIconData(0xf16e);
|
||||
static const IconData clover = const LucideIconData(0xf16f);
|
||||
static const IconData code = const LucideIconData(0xf170);
|
||||
static const IconData code2 = const LucideIconData(0xf171);
|
||||
static const IconData codepen = const LucideIconData(0xf172);
|
||||
static const IconData codesandbox = const LucideIconData(0xf173);
|
||||
static const IconData coffee = const LucideIconData(0xf174);
|
||||
static const IconData coins = const LucideIconData(0xf175);
|
||||
static const IconData columns = const LucideIconData(0xf176);
|
||||
static const IconData command = const LucideIconData(0xf177);
|
||||
static const IconData compass = const LucideIconData(0xf178);
|
||||
static const IconData contact = const LucideIconData(0xf179);
|
||||
static const IconData contrast = const LucideIconData(0xf17a);
|
||||
static const IconData copy = const LucideIconData(0xf17b);
|
||||
static const IconData copyleft = const LucideIconData(0xf17c);
|
||||
static const IconData copyright = const LucideIconData(0xf17d);
|
||||
static const IconData cornerDownLeft = const LucideIconData(0xf17e);
|
||||
static const IconData cornerDownRight = const LucideIconData(0xf17f);
|
||||
static const IconData cornerLeftDown = const LucideIconData(0xf180);
|
||||
static const IconData cornerLeftUp = const LucideIconData(0xf181);
|
||||
static const IconData cornerRightDown = const LucideIconData(0xf182);
|
||||
static const IconData cornerRightUp = const LucideIconData(0xf183);
|
||||
static const IconData cornerUpLeft = const LucideIconData(0xf184);
|
||||
static const IconData cornerUpRight = const LucideIconData(0xf185);
|
||||
static const IconData cpu = const LucideIconData(0xf186);
|
||||
static const IconData creditCard = const LucideIconData(0xf187);
|
||||
static const IconData crop = const LucideIconData(0xf188);
|
||||
static const IconData cross = const LucideIconData(0xf189);
|
||||
static const IconData crosshair = const LucideIconData(0xf18a);
|
||||
static const IconData crown = const LucideIconData(0xf18b);
|
||||
static const IconData currency = const LucideIconData(0xf18c);
|
||||
static const IconData database = const LucideIconData(0xf18d);
|
||||
static const IconData delete = const LucideIconData(0xf18e);
|
||||
static const IconData disc = const LucideIconData(0xf18f);
|
||||
static const IconData divide = const LucideIconData(0xf190);
|
||||
static const IconData divideCircle = const LucideIconData(0xf191);
|
||||
static const IconData divideSquare = const LucideIconData(0xf192);
|
||||
static const IconData dollarSign = const LucideIconData(0xf193);
|
||||
static const IconData download = const LucideIconData(0xf194);
|
||||
static const IconData downloadCloud = const LucideIconData(0xf195);
|
||||
static const IconData dribbble = const LucideIconData(0xf196);
|
||||
static const IconData droplet = const LucideIconData(0xf197);
|
||||
static const IconData droplets = const LucideIconData(0xf198);
|
||||
static const IconData edit = const LucideIconData(0xf199);
|
||||
static const IconData edit2 = const LucideIconData(0xf19a);
|
||||
static const IconData edit3 = const LucideIconData(0xf19b);
|
||||
static const IconData equal = const LucideIconData(0xf19c);
|
||||
static const IconData equalNot = const LucideIconData(0xf19d);
|
||||
static const IconData euro = const LucideIconData(0xf19e);
|
||||
static const IconData expand = const LucideIconData(0xf19f);
|
||||
static const IconData externalLink = const LucideIconData(0xf1a0);
|
||||
static const IconData eye = const LucideIconData(0xf1a1);
|
||||
static const IconData eyeOff = const LucideIconData(0xf1a2);
|
||||
static const IconData facebook = const LucideIconData(0xf1a3);
|
||||
static const IconData fastForward = const LucideIconData(0xf1a4);
|
||||
static const IconData feather = const LucideIconData(0xf1a5);
|
||||
static const IconData figma = const LucideIconData(0xf1a6);
|
||||
static const IconData file = const LucideIconData(0xf1a7);
|
||||
static const IconData fileCheck = const LucideIconData(0xf1a8);
|
||||
static const IconData fileCheck2 = const LucideIconData(0xf1a9);
|
||||
static const IconData fileCode = const LucideIconData(0xf1aa);
|
||||
static const IconData fileDigit = const LucideIconData(0xf1ab);
|
||||
static const IconData fileInput = const LucideIconData(0xf1ac);
|
||||
static const IconData fileMinus = const LucideIconData(0xf1ad);
|
||||
static const IconData fileMinus2 = const LucideIconData(0xf1ae);
|
||||
static const IconData fileOutput = const LucideIconData(0xf1af);
|
||||
static const IconData filePlus = const LucideIconData(0xf1b0);
|
||||
static const IconData filePlus2 = const LucideIconData(0xf1b1);
|
||||
static const IconData fileSearch = const LucideIconData(0xf1b2);
|
||||
static const IconData fileText = const LucideIconData(0xf1b3);
|
||||
static const IconData fileX = const LucideIconData(0xf1b4);
|
||||
static const IconData fileX2 = const LucideIconData(0xf1b5);
|
||||
static const IconData files = const LucideIconData(0xf1b6);
|
||||
static const IconData film = const LucideIconData(0xf1b7);
|
||||
static const IconData filter = const LucideIconData(0xf1b8);
|
||||
static const IconData flag = const LucideIconData(0xf1b9);
|
||||
static const IconData flame = const LucideIconData(0xf1ba);
|
||||
static const IconData flashlight = const LucideIconData(0xf1bb);
|
||||
static const IconData flashlightOff = const LucideIconData(0xf1bc);
|
||||
static const IconData flaskConical = const LucideIconData(0xf1bd);
|
||||
static const IconData flaskRound = const LucideIconData(0xf1be);
|
||||
static const IconData folder = const LucideIconData(0xf1bf);
|
||||
static const IconData folderMinus = const LucideIconData(0xf1c0);
|
||||
static const IconData folderPlus = const LucideIconData(0xf1c1);
|
||||
static const IconData formInput = const LucideIconData(0xf1c2);
|
||||
static const IconData forward = const LucideIconData(0xf1c3);
|
||||
static const IconData framer = const LucideIconData(0xf1c4);
|
||||
static const IconData frown = const LucideIconData(0xf1c5);
|
||||
static const IconData functionSquare = const LucideIconData(0xf1c6);
|
||||
static const IconData gamepad = const LucideIconData(0xf1c7);
|
||||
static const IconData gamepad2 = const LucideIconData(0xf1c8);
|
||||
static const IconData gauge = const LucideIconData(0xf1c9);
|
||||
static const IconData gavel = const LucideIconData(0xf1ca);
|
||||
static const IconData ghost = const LucideIconData(0xf1cb);
|
||||
static const IconData gift = const LucideIconData(0xf1cc);
|
||||
static const IconData gitBranch = const LucideIconData(0xf1cd);
|
||||
static const IconData gitBranchPlus = const LucideIconData(0xf1ce);
|
||||
static const IconData gitCommit = const LucideIconData(0xf1cf);
|
||||
static const IconData gitMerge = const LucideIconData(0xf1d0);
|
||||
static const IconData gitPullRequest = const LucideIconData(0xf1d1);
|
||||
static const IconData github = const LucideIconData(0xf1d2);
|
||||
static const IconData gitlab = const LucideIconData(0xf1d3);
|
||||
static const IconData glasses = const LucideIconData(0xf1d4);
|
||||
static const IconData globe = const LucideIconData(0xf1d5);
|
||||
static const IconData globe2 = const LucideIconData(0xf1d6);
|
||||
static const IconData grab = const LucideIconData(0xf1d7);
|
||||
static const IconData graduationCap = const LucideIconData(0xf1d8);
|
||||
static const IconData grid = const LucideIconData(0xf1d9);
|
||||
static const IconData gripHorizontal = const LucideIconData(0xf1da);
|
||||
static const IconData gripVertical = const LucideIconData(0xf1db);
|
||||
static const IconData hammer = const LucideIconData(0xf1dc);
|
||||
static const IconData hand = const LucideIconData(0xf1dd);
|
||||
static const IconData handMetal = const LucideIconData(0xf1de);
|
||||
static const IconData hardDrive = const LucideIconData(0xf1df);
|
||||
static const IconData hardHat = const LucideIconData(0xf1e0);
|
||||
static const IconData hash = const LucideIconData(0xf1e1);
|
||||
static const IconData haze = const LucideIconData(0xf1e2);
|
||||
static const IconData headphones = const LucideIconData(0xf1e3);
|
||||
static const IconData heart = const LucideIconData(0xf1e4);
|
||||
static const IconData helpCircle = const LucideIconData(0xf1e5);
|
||||
static const IconData hexagon = const LucideIconData(0xf1e6);
|
||||
static const IconData highlighter = const LucideIconData(0xf1e7);
|
||||
static const IconData history = const LucideIconData(0xf1e8);
|
||||
static const IconData home = const LucideIconData(0xf1e9);
|
||||
static const IconData image = const LucideIconData(0xf1ea);
|
||||
static const IconData imageMinus = const LucideIconData(0xf1eb);
|
||||
static const IconData imageOff = const LucideIconData(0xf1ec);
|
||||
static const IconData imagePlus = const LucideIconData(0xf1ed);
|
||||
static const IconData import = const LucideIconData(0xf1ee);
|
||||
static const IconData inbox = const LucideIconData(0xf1ef);
|
||||
static const IconData indent = const LucideIconData(0xf1f0);
|
||||
static const IconData indianRupee = const LucideIconData(0xf1f1);
|
||||
static const IconData infinity = const LucideIconData(0xf1f2);
|
||||
static const IconData info = const LucideIconData(0xf1f3);
|
||||
static const IconData inspect = const LucideIconData(0xf1f4);
|
||||
static const IconData instagram = const LucideIconData(0xf1f5);
|
||||
static const IconData italic = const LucideIconData(0xf1f6);
|
||||
static const IconData jerseyPound = const LucideIconData(0xf1f7);
|
||||
static const IconData key = const LucideIconData(0xf1f8);
|
||||
static const IconData languages = const LucideIconData(0xf1f9);
|
||||
static const IconData laptop = const LucideIconData(0xf1fa);
|
||||
static const IconData laptop2 = const LucideIconData(0xf1fb);
|
||||
static const IconData lasso = const LucideIconData(0xf1fc);
|
||||
static const IconData lassoSelect = const LucideIconData(0xf1fd);
|
||||
static const IconData layers = const LucideIconData(0xf1fe);
|
||||
static const IconData layout = const LucideIconData(0xf1ff);
|
||||
static const IconData layoutDashboard = const LucideIconData(0xf200);
|
||||
static const IconData layoutGrid = const LucideIconData(0xf201);
|
||||
static const IconData layoutList = const LucideIconData(0xf202);
|
||||
static const IconData layoutTemplate = const LucideIconData(0xf203);
|
||||
static const IconData library = const LucideIconData(0xf204);
|
||||
static const IconData lifeBuoy = const LucideIconData(0xf205);
|
||||
static const IconData lightbulb = const LucideIconData(0xf206);
|
||||
static const IconData lightbulbOff = const LucideIconData(0xf207);
|
||||
static const IconData link = const LucideIconData(0xf208);
|
||||
static const IconData link2 = const LucideIconData(0xf209);
|
||||
static const IconData link2Off = const LucideIconData(0xf20a);
|
||||
static const IconData linkedin = const LucideIconData(0xf20b);
|
||||
static const IconData list = const LucideIconData(0xf20c);
|
||||
static const IconData listChecks = const LucideIconData(0xf20d);
|
||||
static const IconData listOrdered = const LucideIconData(0xf20e);
|
||||
static const IconData loader = const LucideIconData(0xf20f);
|
||||
static const IconData loader2 = const LucideIconData(0xf210);
|
||||
static const IconData locate = const LucideIconData(0xf211);
|
||||
static const IconData locateFixed = const LucideIconData(0xf212);
|
||||
static const IconData lock = const LucideIconData(0xf213);
|
||||
static const IconData logIn = const LucideIconData(0xf214);
|
||||
static const IconData logOut = const LucideIconData(0xf215);
|
||||
static const IconData mail = const LucideIconData(0xf216);
|
||||
static const IconData map = const LucideIconData(0xf217);
|
||||
static const IconData mapPin = const LucideIconData(0xf218);
|
||||
static const IconData maximize = const LucideIconData(0xf219);
|
||||
static const IconData maximize2 = const LucideIconData(0xf21a);
|
||||
static const IconData meh = const LucideIconData(0xf21b);
|
||||
static const IconData menu = const LucideIconData(0xf21c);
|
||||
static const IconData messageCircle = const LucideIconData(0xf21d);
|
||||
static const IconData messageSquare = const LucideIconData(0xf21e);
|
||||
static const IconData mic = const LucideIconData(0xf21f);
|
||||
static const IconData micOff = const LucideIconData(0xf220);
|
||||
static const IconData minimize = const LucideIconData(0xf221);
|
||||
static const IconData minimize2 = const LucideIconData(0xf222);
|
||||
static const IconData minus = const LucideIconData(0xf223);
|
||||
static const IconData minusCircle = const LucideIconData(0xf224);
|
||||
static const IconData minusSquare = const LucideIconData(0xf225);
|
||||
static const IconData monitor = const LucideIconData(0xf226);
|
||||
static const IconData monitorOff = const LucideIconData(0xf227);
|
||||
static const IconData monitorSpeaker = const LucideIconData(0xf228);
|
||||
static const IconData moon = const LucideIconData(0xf229);
|
||||
static const IconData moreHorizontal = const LucideIconData(0xf22a);
|
||||
static const IconData moreVertical = const LucideIconData(0xf22b);
|
||||
static const IconData mountain = const LucideIconData(0xf22c);
|
||||
static const IconData mountainSnow = const LucideIconData(0xf22d);
|
||||
static const IconData mousePointer = const LucideIconData(0xf22e);
|
||||
static const IconData mousePointer2 = const LucideIconData(0xf22f);
|
||||
static const IconData mousePointerClick = const LucideIconData(0xf230);
|
||||
static const IconData move = const LucideIconData(0xf231);
|
||||
static const IconData moveDiagonal = const LucideIconData(0xf232);
|
||||
static const IconData moveDiagonal2 = const LucideIconData(0xf233);
|
||||
static const IconData moveHorizontal = const LucideIconData(0xf234);
|
||||
static const IconData moveVertical = const LucideIconData(0xf235);
|
||||
static const IconData music = const LucideIconData(0xf236);
|
||||
static const IconData navigation = const LucideIconData(0xf237);
|
||||
static const IconData navigation2 = const LucideIconData(0xf238);
|
||||
static const IconData network = const LucideIconData(0xf239);
|
||||
static const IconData octagon = const LucideIconData(0xf23a);
|
||||
static const IconData option = const LucideIconData(0xf23b);
|
||||
static const IconData outdent = const LucideIconData(0xf23c);
|
||||
static const IconData package = const LucideIconData(0xf23d);
|
||||
static const IconData palette = const LucideIconData(0xf23e);
|
||||
static const IconData paperclip = const LucideIconData(0xf23f);
|
||||
static const IconData pause = const LucideIconData(0xf240);
|
||||
static const IconData pauseCircle = const LucideIconData(0xf241);
|
||||
static const IconData pauseOctagon = const LucideIconData(0xf242);
|
||||
static const IconData penTool = const LucideIconData(0xf243);
|
||||
static const IconData pencil = const LucideIconData(0xf244);
|
||||
static const IconData percent = const LucideIconData(0xf245);
|
||||
static const IconData personStanding = const LucideIconData(0xf246);
|
||||
static const IconData phone = const LucideIconData(0xf247);
|
||||
static const IconData phoneCall = const LucideIconData(0xf248);
|
||||
static const IconData phoneForwarded = const LucideIconData(0xf249);
|
||||
static const IconData phoneIncoming = const LucideIconData(0xf24a);
|
||||
static const IconData phoneMissed = const LucideIconData(0xf24b);
|
||||
static const IconData phoneOff = const LucideIconData(0xf24c);
|
||||
static const IconData phoneOutgoing = const LucideIconData(0xf24d);
|
||||
static const IconData pieChart = const LucideIconData(0xf24e);
|
||||
static const IconData pipette = const LucideIconData(0xf24f);
|
||||
static const IconData plane = const LucideIconData(0xf250);
|
||||
static const IconData play = const LucideIconData(0xf251);
|
||||
static const IconData playCircle = const LucideIconData(0xf252);
|
||||
static const IconData plugZap = const LucideIconData(0xf253);
|
||||
static const IconData plus = const LucideIconData(0xf254);
|
||||
static const IconData plusCircle = const LucideIconData(0xf255);
|
||||
static const IconData plusSquare = const LucideIconData(0xf256);
|
||||
static const IconData pocket = const LucideIconData(0xf257);
|
||||
static const IconData podcast = const LucideIconData(0xf258);
|
||||
static const IconData pointer = const LucideIconData(0xf259);
|
||||
static const IconData poundSterling = const LucideIconData(0xf25a);
|
||||
static const IconData power = const LucideIconData(0xf25b);
|
||||
static const IconData powerOff = const LucideIconData(0xf25c);
|
||||
static const IconData printer = const LucideIconData(0xf25d);
|
||||
static const IconData qrCode = const LucideIconData(0xf25e);
|
||||
static const IconData radio = const LucideIconData(0xf25f);
|
||||
static const IconData radioReceiver = const LucideIconData(0xf260);
|
||||
static const IconData redo = const LucideIconData(0xf261);
|
||||
static const IconData refreshCcw = const LucideIconData(0xf262);
|
||||
static const IconData refreshCw = const LucideIconData(0xf263);
|
||||
static const IconData regex = const LucideIconData(0xf264);
|
||||
static const IconData repeat = const LucideIconData(0xf265);
|
||||
static const IconData repeat1 = const LucideIconData(0xf266);
|
||||
static const IconData reply = const LucideIconData(0xf267);
|
||||
static const IconData replyAll = const LucideIconData(0xf268);
|
||||
static const IconData rewind = const LucideIconData(0xf269);
|
||||
static const IconData rockingChair = const LucideIconData(0xf26a);
|
||||
static const IconData rotateCcw = const LucideIconData(0xf26b);
|
||||
static const IconData rotateCw = const LucideIconData(0xf26c);
|
||||
static const IconData rss = const LucideIconData(0xf26d);
|
||||
static const IconData ruler = const LucideIconData(0xf26e);
|
||||
static const IconData russianRuble = const LucideIconData(0xf26f);
|
||||
static const IconData save = const LucideIconData(0xf270);
|
||||
static const IconData scale = const LucideIconData(0xf271);
|
||||
static const IconData scissors = const LucideIconData(0xf272);
|
||||
static const IconData screenShare = const LucideIconData(0xf273);
|
||||
static const IconData screenShareOff = const LucideIconData(0xf274);
|
||||
static const IconData search = const LucideIconData(0xf275);
|
||||
static const IconData send = const LucideIconData(0xf276);
|
||||
static const IconData separatorHorizontal = const LucideIconData(0xf277);
|
||||
static const IconData separatorVertical = const LucideIconData(0xf278);
|
||||
static const IconData server = const LucideIconData(0xf279);
|
||||
static const IconData serverCrash = const LucideIconData(0xf27a);
|
||||
static const IconData serverOff = const LucideIconData(0xf27b);
|
||||
static const IconData settings = const LucideIconData(0xf27c);
|
||||
static const IconData share = const LucideIconData(0xf27d);
|
||||
static const IconData share2 = const LucideIconData(0xf27e);
|
||||
static const IconData sheet = const LucideIconData(0xf27f);
|
||||
static const IconData shield = const LucideIconData(0xf280);
|
||||
static const IconData shieldAlert = const LucideIconData(0xf281);
|
||||
static const IconData shieldCheck = const LucideIconData(0xf282);
|
||||
static const IconData shieldClose = const LucideIconData(0xf283);
|
||||
static const IconData shieldOff = const LucideIconData(0xf284);
|
||||
static const IconData shirt = const LucideIconData(0xf285);
|
||||
static const IconData shoppingBag = const LucideIconData(0xf286);
|
||||
static const IconData shoppingCart = const LucideIconData(0xf287);
|
||||
static const IconData shovel = const LucideIconData(0xf288);
|
||||
static const IconData shrink = const LucideIconData(0xf289);
|
||||
static const IconData shuffle = const LucideIconData(0xf28a);
|
||||
static const IconData sidebar = const LucideIconData(0xf28b);
|
||||
static const IconData sidebarClose = const LucideIconData(0xf28c);
|
||||
static const IconData sidebarOpen = const LucideIconData(0xf28d);
|
||||
static const IconData sigma = const LucideIconData(0xf28e);
|
||||
static const IconData skipBack = const LucideIconData(0xf28f);
|
||||
static const IconData skipForward = const LucideIconData(0xf290);
|
||||
static const IconData skull = const LucideIconData(0xf291);
|
||||
static const IconData slack = const LucideIconData(0xf292);
|
||||
static const IconData slash = const LucideIconData(0xf293);
|
||||
static const IconData sliders = const LucideIconData(0xf294);
|
||||
static const IconData smartphone = const LucideIconData(0xf295);
|
||||
static const IconData smartphoneCharging = const LucideIconData(0xf296);
|
||||
static const IconData smile = const LucideIconData(0xf297);
|
||||
static const IconData snowflake = const LucideIconData(0xf298);
|
||||
static const IconData sortAsc = const LucideIconData(0xf299);
|
||||
static const IconData sortDesc = const LucideIconData(0xf29a);
|
||||
static const IconData speaker = const LucideIconData(0xf29b);
|
||||
static const IconData sprout = const LucideIconData(0xf29c);
|
||||
static const IconData square = const LucideIconData(0xf29d);
|
||||
static const IconData star = const LucideIconData(0xf29e);
|
||||
static const IconData starHalf = const LucideIconData(0xf29f);
|
||||
static const IconData stopCircle = const LucideIconData(0xf2a0);
|
||||
static const IconData strikethrough = const LucideIconData(0xf2a1);
|
||||
static const IconData sun = const LucideIconData(0xf2a2);
|
||||
static const IconData sunrise = const LucideIconData(0xf2a3);
|
||||
static const IconData sunset = const LucideIconData(0xf2a4);
|
||||
static const IconData swissFranc = const LucideIconData(0xf2a5);
|
||||
static const IconData switchCamera = const LucideIconData(0xf2a6);
|
||||
static const IconData table = const LucideIconData(0xf2a7);
|
||||
static const IconData tablet = const LucideIconData(0xf2a8);
|
||||
static const IconData tag = const LucideIconData(0xf2a9);
|
||||
static const IconData target = const LucideIconData(0xf2aa);
|
||||
static const IconData tent = const LucideIconData(0xf2ab);
|
||||
static const IconData terminal = const LucideIconData(0xf2ac);
|
||||
static const IconData terminalSquare = const LucideIconData(0xf2ad);
|
||||
static const IconData thermometer = const LucideIconData(0xf2ae);
|
||||
static const IconData thermometerSnowflake = const LucideIconData(0xf2af);
|
||||
static const IconData thermometerSun = const LucideIconData(0xf2b0);
|
||||
static const IconData thumbsDown = const LucideIconData(0xf2b1);
|
||||
static const IconData thumbsUp = const LucideIconData(0xf2b2);
|
||||
static const IconData ticket = const LucideIconData(0xf2b3);
|
||||
static const IconData timer = const LucideIconData(0xf2b4);
|
||||
static const IconData toggleLeft = const LucideIconData(0xf2b5);
|
||||
static const IconData toggleRight = const LucideIconData(0xf2b6);
|
||||
static const IconData tornado = const LucideIconData(0xf2b7);
|
||||
static const IconData trash = const LucideIconData(0xf2b8);
|
||||
static const IconData trash2 = const LucideIconData(0xf2b9);
|
||||
static const IconData trello = const LucideIconData(0xf2ba);
|
||||
static const IconData trendingDown = const LucideIconData(0xf2bb);
|
||||
static const IconData trendingUp = const LucideIconData(0xf2bc);
|
||||
static const IconData triangle = const LucideIconData(0xf2bd);
|
||||
static const IconData truck = const LucideIconData(0xf2be);
|
||||
static const IconData tv = const LucideIconData(0xf2bf);
|
||||
static const IconData tv2 = const LucideIconData(0xf2c0);
|
||||
static const IconData twitch = const LucideIconData(0xf2c1);
|
||||
static const IconData twitter = const LucideIconData(0xf2c2);
|
||||
static const IconData type = const LucideIconData(0xf2c3);
|
||||
static const IconData umbrella = const LucideIconData(0xf2c4);
|
||||
static const IconData underline = const LucideIconData(0xf2c5);
|
||||
static const IconData undo = const LucideIconData(0xf2c6);
|
||||
static const IconData unlink = const LucideIconData(0xf2c7);
|
||||
static const IconData unlink2 = const LucideIconData(0xf2c8);
|
||||
static const IconData unlock = const LucideIconData(0xf2c9);
|
||||
static const IconData upload = const LucideIconData(0xf2ca);
|
||||
static const IconData uploadCloud = const LucideIconData(0xf2cb);
|
||||
static const IconData user = const LucideIconData(0xf2cc);
|
||||
static const IconData userCheck = const LucideIconData(0xf2cd);
|
||||
static const IconData userMinus = const LucideIconData(0xf2ce);
|
||||
static const IconData userPlus = const LucideIconData(0xf2cf);
|
||||
static const IconData userX = const LucideIconData(0xf2d0);
|
||||
static const IconData users = const LucideIconData(0xf2d1);
|
||||
static const IconData vibrate = const LucideIconData(0xf2d2);
|
||||
static const IconData video = const LucideIconData(0xf2d3);
|
||||
static const IconData videoOff = const LucideIconData(0xf2d4);
|
||||
static const IconData view = const LucideIconData(0xf2d5);
|
||||
static const IconData voicemail = const LucideIconData(0xf2d6);
|
||||
static const IconData volume = const LucideIconData(0xf2d7);
|
||||
static const IconData volume1 = const LucideIconData(0xf2d8);
|
||||
static const IconData volume2 = const LucideIconData(0xf2d9);
|
||||
static const IconData volumeX = const LucideIconData(0xf2da);
|
||||
static const IconData wallet = const LucideIconData(0xf2db);
|
||||
static const IconData watch = const LucideIconData(0xf2dc);
|
||||
static const IconData webcam = const LucideIconData(0xf2dd);
|
||||
static const IconData wifi = const LucideIconData(0xf2de);
|
||||
static const IconData wifiOff = const LucideIconData(0xf2df);
|
||||
static const IconData wind = const LucideIconData(0xf2e0);
|
||||
static const IconData wrench = const LucideIconData(0xf2e1);
|
||||
static const IconData x = const LucideIconData(0xf2e2);
|
||||
static const IconData xCircle = const LucideIconData(0xf2e3);
|
||||
static const IconData xOctagon = const LucideIconData(0xf2e4);
|
||||
static const IconData xSquare = const LucideIconData(0xf2e5);
|
||||
static const IconData youtube = const LucideIconData(0xf2e6);
|
||||
static const IconData zap = const LucideIconData(0xf2e7);
|
||||
static const IconData zapOff = const LucideIconData(0xf2e8);
|
||||
static const IconData zoomIn = const LucideIconData(0xf2e9);
|
||||
static const IconData zoomOut = const LucideIconData(0xf2ea);
|
||||
}
|
||||
10
packages/lucide-flutter/lib/src/icon_data.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
class LucideIconData extends IconData {
|
||||
const LucideIconData(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'Lucide',
|
||||
fontPackage: 'lucide_icons',
|
||||
);
|
||||
}
|
||||
175
packages/lucide-flutter/pubspec.lock
Normal file
@@ -0,0 +1,175 @@
|
||||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: boolean_selector
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: characters
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
charcode:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: charcode
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: clock
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.15.0"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: csslib
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.17.0"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
html:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: html
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.15.0"
|
||||
lint:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: lint
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.6.0"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.12.10"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.0"
|
||||
recase:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: recase
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.99"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stream_channel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
string_scanner:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: string_scanner
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: term_glyph
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.0"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: typed_data
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
sdks:
|
||||
dart: ">=2.13.0 <3.0.0"
|
||||
flutter: ">=1.17.0"
|
||||
26
packages/lucide-flutter/pubspec.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
name: lucide_icons
|
||||
description: Lucide icon pack for Flutter
|
||||
version: 0.16.0
|
||||
homepage: https://lucide.dev
|
||||
repository: https://github.com/lucide-icons/lucide
|
||||
|
||||
environment:
|
||||
sdk: ">=2.12.0 <3.0.0"
|
||||
flutter: ">=1.17.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
html: ^0.15.0
|
||||
recase: ^4.0.0
|
||||
lint: ^1.5.3
|
||||
|
||||
flutter:
|
||||
fonts:
|
||||
- family: Lucide
|
||||
fonts:
|
||||
- asset: assets/Lucide.ttf
|
||||
49
packages/lucide-flutter/tool/generate_fonts.dart
Normal file
@@ -0,0 +1,49 @@
|
||||
import "dart:io";
|
||||
|
||||
import 'package:html/parser.dart' show parse;
|
||||
import 'package:recase/recase.dart';
|
||||
|
||||
void main(List<String> args) {
|
||||
File fontsPreviewFile = File(args[0]);
|
||||
|
||||
if (!fontsPreviewFile.existsSync()) {
|
||||
print('lucide preview file not found');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
String content = fontsPreviewFile.readAsStringSync();
|
||||
final c = parse(content);
|
||||
final list = c.getElementsByClassName('glyph');
|
||||
|
||||
List<String> generatedOutput = [
|
||||
"library lucide_icons;\n",
|
||||
"import \"package:flutter/widgets.dart\";\n",
|
||||
"import \"src/icon_data.dart\";\n\n",
|
||||
"// THIS FILE IS AUTOMATICALLY GENERATED!\n\n",
|
||||
"class LucideIcons {\n"
|
||||
];
|
||||
|
||||
for (final icon in list) {
|
||||
final name = icon
|
||||
.getElementsByClassName('class')
|
||||
.first
|
||||
.attributes['value']!
|
||||
.replaceFirst('.icon-', '');
|
||||
final val = icon
|
||||
.getElementsByClassName('point')
|
||||
.first
|
||||
.attributes['value']!
|
||||
.replaceFirst('&#x', '')
|
||||
.replaceFirst(';', '');
|
||||
|
||||
generatedOutput.add(
|
||||
"static const IconData ${ReCase(name).camelCase} = const LucideIconData(0x$val);\n");
|
||||
|
||||
print('$val $name');
|
||||
}
|
||||
|
||||
generatedOutput.add("}\n");
|
||||
|
||||
File output = File('./lib/lucide_icons.dart');
|
||||
output.writeAsStringSync(generatedOutput.join());
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"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.28",
|
||||
"version": "0.16.0",
|
||||
"license": "ISC",
|
||||
"homepage": "https://lucide.dev",
|
||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||
@@ -19,7 +19,7 @@
|
||||
"typings": "dist/lucide-preact.d.ts",
|
||||
"sideEffects": false,
|
||||
"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",
|
||||
"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",
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
import { h } from 'preact';
|
||||
import defaultAttributes from './defaultAttributes';
|
||||
|
||||
/**
|
||||
* Converts string to KebabCase
|
||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
||||
* then please fix it.
|
||||
*
|
||||
* @param {string} string
|
||||
* @returns {string} A kebabized string
|
||||
*/
|
||||
export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||
|
||||
export default (iconName, iconNode) => {
|
||||
const Component = ({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }) =>
|
||||
h(
|
||||
@@ -11,6 +21,7 @@ export default (iconName, iconNode) => {
|
||||
height: size,
|
||||
stroke: color,
|
||||
'stroke-width': strokeWidth,
|
||||
class: `lucide lucide-${toKebabCase(iconName)}`,
|
||||
...rest,
|
||||
},
|
||||
iconNode.map(([tag, attrs]) => h(tag, attrs)),
|
||||
|
||||
@@ -1,5 +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 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\\" class=\\"lucide lucide-grid\\" 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>"`;
|
||||
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\\" class=\\"lucide lucide-grid\\"><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>"`;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "lucide-react",
|
||||
"description": "Lucide React package, Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||
"version": "0.15.28",
|
||||
"version": "0.16.0",
|
||||
"license": "ISC",
|
||||
"homepage": "https://lucide.dev",
|
||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||
@@ -19,7 +19,7 @@
|
||||
"typings": "dist/lucide-react.d.ts",
|
||||
"sideEffects": false,
|
||||
"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",
|
||||
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-react/src --templateSrc=../packages/lucide-react/scripts/exportTemplate --renderUniqueKey",
|
||||
"build:es": "babel src -d dist/esm",
|
||||
|
||||
@@ -1,30 +1,22 @@
|
||||
import path from 'path';
|
||||
import {
|
||||
writeFile,
|
||||
readSvgDirectory,
|
||||
resetFile,
|
||||
toPascalCase,
|
||||
appendFile,
|
||||
} from '../../../scripts/helpers';
|
||||
import path from "path";
|
||||
import {appendFile, readSvgDirectory, resetFile, toPascalCase, writeFile} from "../../../scripts/helpers";
|
||||
|
||||
const srcDirectory = path.join(__dirname, '../dist');
|
||||
const srcDirectory=path.join(__dirname, "../dist");
|
||||
|
||||
// Declare type definitions
|
||||
const typeDefinitions = `\
|
||||
/// <reference types="vue" />
|
||||
import { SVGAttributes } from 'vue'
|
||||
const typeDefinitions=`\
|
||||
/// <reference types="react" />
|
||||
import { SVGAttributes } from 'react'
|
||||
|
||||
declare module 'lucide-vue-next'
|
||||
declare module 'lucide-react'
|
||||
|
||||
// Create interface extending SVGAttributes
|
||||
// Create interface extending SVGProps
|
||||
export interface LucideProps extends Partial<React.SVGProps<SVGSVGElement>> {
|
||||
color?: string
|
||||
size?: string | number
|
||||
stroke?: string | number
|
||||
strokeWidth?: string | number
|
||||
}
|
||||
|
||||
export type Icon = React.FC<LucideProps>;
|
||||
|
||||
// Generated icons
|
||||
`;
|
||||
|
||||
|
||||
@@ -2,6 +2,16 @@ import { forwardRef, createElement } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import defaultAttributes from './defaultAttributes';
|
||||
|
||||
/**
|
||||
* Converts string to KebabCase
|
||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
||||
* then please fix it.
|
||||
*
|
||||
* @param {string} string
|
||||
* @returns {string} A kebabized string
|
||||
*/
|
||||
export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||
|
||||
export default (iconName, iconNode) => {
|
||||
const Component = forwardRef(
|
||||
({ color = 'currentColor', size = 24, strokeWidth = 2, ...rest }, ref) =>
|
||||
@@ -14,6 +24,7 @@ export default (iconName, iconNode) => {
|
||||
height: size,
|
||||
stroke: color,
|
||||
strokeWidth,
|
||||
className: `lucide lucide-${toKebabCase(iconName)}`,
|
||||
...rest,
|
||||
},
|
||||
iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
|
||||
|
||||
@@ -1,5 +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 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\\" class=\\"lucide lucide-grid\\" 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>"`;
|
||||
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\\" class=\\"lucide lucide-grid\\"><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>"`;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lucide-vue-next",
|
||||
"version": "0.15.28",
|
||||
"version": "0.16.0",
|
||||
"author": "Eric Fennis",
|
||||
"description": "Lucide Vue 3 Package",
|
||||
"license": "ISC",
|
||||
@@ -20,9 +20,9 @@
|
||||
"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",
|
||||
"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:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-vue-next/src --templateSrc=../packages/lucide-vue-next/scripts/exportTemplate --renderUniqueKey",
|
||||
"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",
|
||||
|
||||
@@ -1,15 +1,24 @@
|
||||
import { h } from 'vue';
|
||||
import defaultAttributes from './defaultAttributes';
|
||||
|
||||
/**
|
||||
* Converts string to KebabCase
|
||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
||||
* then please fix it.
|
||||
*
|
||||
* @param {string} string
|
||||
* @returns {string} A kebabized string
|
||||
*/
|
||||
export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||
|
||||
const createVueComponent = (iconName, iconNode) => (props, context) =>
|
||||
h(
|
||||
'svg',
|
||||
{
|
||||
...defaultAttributes,
|
||||
...{
|
||||
width: props.size || defaultAttributes.width,
|
||||
height: props.size || defaultAttributes.height,
|
||||
},
|
||||
width: props.size || defaultAttributes.width,
|
||||
height: props.size || defaultAttributes.height,
|
||||
class: ['lucide', `lucide-${toKebabCase(iconName)}`],
|
||||
...context.attrs,
|
||||
...props,
|
||||
},
|
||||
|
||||
@@ -160,6 +160,7 @@ VueWrapper {
|
||||
data-v-app=""
|
||||
>
|
||||
<svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="24"
|
||||
stroke="currentColor"
|
||||
@@ -253,6 +254,7 @@ VueWrapper {
|
||||
},
|
||||
"rootVM": Object {},
|
||||
"wrapperElement": <svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="24"
|
||||
stroke="currentColor"
|
||||
@@ -304,6 +306,7 @@ VueWrapper {
|
||||
data-v-app=""
|
||||
>
|
||||
<svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="48"
|
||||
size="48"
|
||||
@@ -398,6 +401,7 @@ VueWrapper {
|
||||
},
|
||||
"rootVM": Object {},
|
||||
"wrapperElement": <svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="48"
|
||||
size="48"
|
||||
@@ -450,6 +454,7 @@ VueWrapper {
|
||||
data-v-app=""
|
||||
>
|
||||
<svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="24"
|
||||
stroke="currentColor"
|
||||
@@ -542,6 +547,7 @@ VueWrapper {
|
||||
},
|
||||
"rootVM": Object {},
|
||||
"wrapperElement": <svg
|
||||
class="lucide lucide-smile-icon"
|
||||
fill="none"
|
||||
height="24"
|
||||
stroke="currentColor"
|
||||
|
||||
@@ -105,3 +105,21 @@ export default {
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
## Use with [@nuxt/components](https://github.com/nuxt/components#readme)
|
||||
|
||||
### Setup
|
||||
In your `nuxt.config.js`, add `lucide-vue/nuxt` to your `buildModules`
|
||||
```js
|
||||
export default {
|
||||
buildModules: ['lucide-vue/nuxt']
|
||||
}
|
||||
```
|
||||
|
||||
### How to use
|
||||
Icon components are prefixed with `Icon`. Use icon components without importing them.
|
||||
|
||||
### Example
|
||||
```html
|
||||
<IconCamera color="red" :size="32" />
|
||||
```
|
||||
@@ -1,12 +1,14 @@
|
||||
const mainConfig = require('../../babel.config');
|
||||
|
||||
module.exports = {
|
||||
presets: [
|
||||
[
|
||||
'@babel/preset-env',
|
||||
'@babel/env',
|
||||
{
|
||||
targets: {
|
||||
node: 'current',
|
||||
},
|
||||
loose: true,
|
||||
modules: false,
|
||||
},
|
||||
],
|
||||
],
|
||||
env: mainConfig.env,
|
||||
};
|
||||
|
||||
11
packages/lucide-vue/nuxt.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import { join } from 'path';
|
||||
|
||||
export default function() {
|
||||
this.nuxt.hook('components:dirs', dirs => {
|
||||
dirs.push({
|
||||
path: join(__dirname, 'dist', 'esm', 'icons'),
|
||||
prefix: 'Icon',
|
||||
ignore: ['**/index.js'],
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lucide-vue",
|
||||
"version": "0.15.28",
|
||||
"version": "0.16.1",
|
||||
"author": "Eric Fennis",
|
||||
"description": "Lucide Vue Package",
|
||||
"license": "ISC",
|
||||
@@ -19,7 +19,7 @@
|
||||
"unpkg": "dist/umd/lucide-vue.min.js",
|
||||
"sideEffects": false,
|
||||
"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",
|
||||
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide-vue/src --templateSrc=../packages/lucide-vue/scripts/exportTemplate",
|
||||
"build:es": "babel src -d dist/esm",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
import defaultAttributes from './defaultAttributes';
|
||||
|
||||
/**
|
||||
* Converts string to KebabCase
|
||||
* Copied from scripts/helper. If anyone knows how to properly import it here
|
||||
* then please fix it.
|
||||
*
|
||||
* @param {string} string
|
||||
* @returns {string} A kebabized string
|
||||
*/
|
||||
export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||
|
||||
export default (iconName, iconNode) => ({
|
||||
name: iconName,
|
||||
functional: true,
|
||||
@@ -18,7 +28,7 @@ export default (iconName, iconNode) => ({
|
||||
},
|
||||
defaultClass: {
|
||||
type: String,
|
||||
default: 'lucide-icon',
|
||||
default: `lucide-icon lucide lucide-${toKebabCase(iconName).replace('-icon', '')}`,
|
||||
},
|
||||
},
|
||||
render(
|
||||
@@ -42,6 +52,7 @@ export default (iconName, iconNode) => ({
|
||||
'stroke-width': strokeWidth,
|
||||
...data.attrs,
|
||||
},
|
||||
on: data?.on || {}
|
||||
},
|
||||
iconNode.map(([tag, attrs]) => createElement(tag, { attrs })),
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Using lucide icon components should add a class to the element 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" class="lucide-icon my-icon">
|
||||
<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" class="lucide-icon lucide lucide-smile my-icon">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<path d="M8 14s1.5 2 4 2 4-2 4-2"></path>
|
||||
<line x1="9" y1="9" x2="9.01" y2="9"></line>
|
||||
@@ -10,7 +10,7 @@ exports[`Using lucide icon components should add a class to the element 1`] = `
|
||||
`;
|
||||
|
||||
exports[`Using lucide icon components should add a style attribute to the element 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" style="position: absolute" class="lucide-icon">
|
||||
<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" style="position: absolute" class="lucide-icon lucide lucide-smile">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<path d="M8 14s1.5 2 4 2 4-2 4-2"></path>
|
||||
<line x1="9" y1="9" x2="9.01" y2="9"></line>
|
||||
@@ -19,7 +19,7 @@ exports[`Using lucide icon components should add a style attribute to the elemen
|
||||
`;
|
||||
|
||||
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" class="lucide-icon">
|
||||
<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" class="lucide-icon lucide lucide-smile">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<path d="M8 14s1.5 2 4 2 4-2 4-2"></path>
|
||||
<line x1="9" y1="9" x2="9.01" y2="9"></line>
|
||||
@@ -28,7 +28,7 @@ exports[`Using lucide icon components should adjust the size, stroke color and s
|
||||
`;
|
||||
|
||||
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" class="lucide-icon">
|
||||
<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" class="lucide-icon lucide lucide-smile">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<path d="M8 14s1.5 2 4 2 4-2 4-2"></path>
|
||||
<line x1="9" y1="9" x2="9.01" y2="9"></line>
|
||||
|
||||
@@ -28,7 +28,7 @@ describe('Using lucide icon components', () => {
|
||||
})
|
||||
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
expect(String(wrapper.classes())).toBe(String(['lucide-icon', 'my-icon']))
|
||||
expect(String(wrapper.classes())).toBe(String(['lucide-icon','lucide','lucide-smile', 'my-icon']))
|
||||
});
|
||||
|
||||
it('should add a style attribute to the element', () => {
|
||||
@@ -36,10 +36,21 @@ describe('Using lucide icon components', () => {
|
||||
attrs: {
|
||||
style: 'position: absolute',
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
expect(wrapper.attributes('style')).toContain('position: absolute')
|
||||
});
|
||||
|
||||
it('should call the onClick event', () => {
|
||||
const onClick = jest.fn()
|
||||
const wrapper = mount(Smile, {
|
||||
listeners: {
|
||||
click: onClick
|
||||
}
|
||||
})
|
||||
|
||||
wrapper.trigger('click')
|
||||
expect(onClick).toHaveBeenCalled()
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "lucide",
|
||||
"description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.",
|
||||
"version": "0.15.28",
|
||||
"version": "0.16.0",
|
||||
"license": "ISC",
|
||||
"homepage": "https://lucide.dev",
|
||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||
@@ -19,7 +19,7 @@
|
||||
"typings": "dist/lucide.d.ts",
|
||||
"sideEffects": false,
|
||||
"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",
|
||||
"build:icons": "yarn --cwd ../../ build:icons --output=../packages/lucide/src",
|
||||
"build:es": "babel src -d dist/esm",
|
||||
|
||||
@@ -73,7 +73,7 @@ export default (element, { nameAttr, icons, attrs }) => {
|
||||
...attrs,
|
||||
};
|
||||
|
||||
const classNames = combineClassNames(['lucide', elementAttrs, attrs]);
|
||||
const classNames = combineClassNames(['lucide', `lucide-${iconName}`, elementAttrs, attrs]);
|
||||
|
||||
if (classNames) {
|
||||
iconAttrs.class = classNames;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`createIcons should add custom attributes 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"24\\" height=\\"24\\" viewBox=\\"0 0 24 24\\" fill=\\"black\\" stroke=\\"currentColor\\" stroke-width=\\"2\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" icon-name=\\"volume-2\\" class=\\"lucide icon custom-class\\"><polygon points=\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\"></polygon><path d=\\"M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07\\"></path></svg>"`;
|
||||
exports[`createIcons should add custom attributes 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"24\\" height=\\"24\\" viewBox=\\"0 0 24 24\\" fill=\\"black\\" stroke=\\"currentColor\\" stroke-width=\\"2\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" icon-name=\\"volume-2\\" class=\\"lucide lucide-volume-2 icon custom-class\\"><polygon points=\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\"></polygon><path d=\\"M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07\\"></path></svg>"`;
|
||||
|
||||
exports[`createIcons should read elements from DOM and replace it with icons 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\\" icon-name=\\"volume-2\\" class=\\"lucide\\"><polygon points=\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\"></polygon><path d=\\"M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07\\"></path></svg>"`;
|
||||
exports[`createIcons should read elements from DOM and replace it with icons 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\\" icon-name=\\"volume-2\\" class=\\"lucide lucide-volume-2\\"><polygon points=\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\"></polygon><path d=\\"M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07\\"></path></svg>"`;
|
||||
|
||||
@@ -11,7 +11,7 @@ const getOriginalSvg = (iconName) => {
|
||||
const svgParsed = parseSync(svgContent);
|
||||
|
||||
svgParsed.attributes['icon-name'] = iconName;
|
||||
svgParsed.attributes['class'] = 'lucide';
|
||||
svgParsed.attributes['class'] = `lucide lucide-${iconName}`;
|
||||
|
||||
return stringify(svgParsed, { selfClose: false });
|
||||
};
|
||||
@@ -45,7 +45,7 @@ describe('createIcons', () => {
|
||||
document.body.innerHTML = `<i icon-name="volume-2" class="lucide"></i>`;
|
||||
|
||||
const attrs = {
|
||||
class: 'lucide icon custom-class',
|
||||
class: 'lucide lucide-volume-2 icon custom-class',
|
||||
fill: 'black',
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import prettier from 'prettier';
|
||||
import { promises } from 'stream';
|
||||
import { toPascalCase } from '../helpers';
|
||||
|
||||
export default function({ iconNodes, outputDirectory, template, showLog = true, iconFileExtention = '.js' }) {
|
||||
@@ -12,7 +13,7 @@ export default function({ iconNodes, outputDirectory, template, showLog = true,
|
||||
fs.mkdirSync(iconsDistDirectory);
|
||||
}
|
||||
|
||||
icons.forEach(iconName => {
|
||||
const writeIconFiles = icons.map(async iconName => {
|
||||
const location = path.join(iconsDistDirectory, `${iconName}${iconFileExtention}`);
|
||||
const componentName = toPascalCase(iconName);
|
||||
|
||||
@@ -21,11 +22,16 @@ export default function({ iconNodes, outputDirectory, template, showLog = true,
|
||||
|
||||
const elementTemplate = template({ componentName, iconName, children });
|
||||
|
||||
|
||||
fs.writeFileSync(location, prettier.format(elementTemplate, { singleQuote: true, trailingComma: 'all', parser: 'babel' }), 'utf-8');
|
||||
|
||||
if(showLog) {
|
||||
console.log('Successfully built', componentName);
|
||||
}
|
||||
await fs.promises.writeFile(location, prettier.format(elementTemplate, { singleQuote: true, trailingComma: 'all', parser: 'babel' }), 'utf-8');
|
||||
});
|
||||
|
||||
Promise.all(writeIconFiles)
|
||||
.then(() => {
|
||||
if(showLog) {
|
||||
console.log('Successfully built', icons.length, 'icons.');
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
throw new Error(`Something went wrong generating icon files,\n ${error}`)
|
||||
})
|
||||
}
|
||||
|
||||
78
scripts/outlineSvg.js
Normal file
@@ -0,0 +1,78 @@
|
||||
import { promises as fs } from 'fs';
|
||||
import outlineStroke from 'svg-outline-stroke';
|
||||
import { parse, stringify } from 'svgson'; // eslint-disable-line import/no-extraneous-dependencies
|
||||
|
||||
const inputDir = `./icons/`;
|
||||
const outputDirs = {
|
||||
'converted_icons-200': '1',
|
||||
'converted_icons-300': '1.5',
|
||||
converted_icons: '2',
|
||||
'converted_icons-500': '2.5',
|
||||
'converted_icons-600': '3',
|
||||
};
|
||||
|
||||
function transformForward(node) {
|
||||
if (node.name === 'svg') {
|
||||
return {
|
||||
...node,
|
||||
attributes: {
|
||||
...node.attributes,
|
||||
width: 960,
|
||||
height: 960,
|
||||
},
|
||||
};
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
function transformBackwards(node) {
|
||||
if (node.name === 'svg') {
|
||||
const { width, height, ...attributes } = node.attributes;
|
||||
return {
|
||||
...node,
|
||||
attributes,
|
||||
};
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
async function init() {
|
||||
console.time('icon outliner');
|
||||
try {
|
||||
const createDirectories = Object.keys(outputDirs).map(directory => fs.mkdir(`./${directory}`));
|
||||
await Promise.all(createDirectories);
|
||||
|
||||
const icons = await fs.readdir(inputDir);
|
||||
const parsedIconNodes = await Promise.all(
|
||||
icons.map(async file => {
|
||||
const iconContent = await fs.readFile(`${inputDir}${file}`);
|
||||
const iconNode = await parse(iconContent.toString(), {
|
||||
transformNode: transformForward,
|
||||
});
|
||||
return [file, iconNode];
|
||||
}),
|
||||
);
|
||||
|
||||
await Promise.all(
|
||||
Object.entries(outputDirs).map(async ([directory, width]) => {
|
||||
await Promise.all(
|
||||
parsedIconNodes.map(async ([file, iconNode]) => {
|
||||
iconNode.attributes['stroke-width'] = width;
|
||||
const outlined = await outlineStroke(stringify(iconNode));
|
||||
const outlinedWithoutAttrs = await parse(outlined, {
|
||||
transformNode: transformBackwards,
|
||||
});
|
||||
|
||||
await fs.writeFile(`./${directory}/${file}`, stringify(outlinedWithoutAttrs));
|
||||
}),
|
||||
);
|
||||
}),
|
||||
);
|
||||
|
||||
console.timeEnd('icon outliner');
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
@@ -1,65 +0,0 @@
|
||||
const { promises: fs } = require('fs');
|
||||
const outlineStroke = require('svg-outline-stroke');
|
||||
const { parse, stringify } = require('svgson');
|
||||
|
||||
const inputDir = `./icons/`;
|
||||
const outputDirs = {
|
||||
'converted_icons_200': '1',
|
||||
'converted_icons_300': '1.5',
|
||||
'converted_icons': '2',
|
||||
'converted_icons_500': '2.5',
|
||||
'converted_icons_600': '3'
|
||||
}
|
||||
|
||||
async function init() {
|
||||
try {
|
||||
for (const directory of Object.keys(outputDirs)) {
|
||||
await fs.mkdir(`./${directory}`);
|
||||
}
|
||||
|
||||
const files = await fs.readdir(inputDir);
|
||||
for (const file of files) {
|
||||
const icon = await fs.readFile(`${inputDir}${file}`);
|
||||
const scaled = await parse(icon.toString(), {
|
||||
transformNode: transformForward,
|
||||
});
|
||||
for (const [directory, width] of Object.entries(outputDirs)) {
|
||||
scaled.attributes['stroke-width'] = width;
|
||||
const outlined = await outlineStroke(stringify(scaled));
|
||||
const outlinedWithoutAttrs = await parse(outlined, {
|
||||
transformNode: transformBackwards,
|
||||
});
|
||||
await fs.writeFile(`./${directory}/${file}`, stringify(outlinedWithoutAttrs));
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
function transformForward(node) {
|
||||
if (node.name === 'svg') {
|
||||
return {
|
||||
...node,
|
||||
attributes: {
|
||||
...node.attributes,
|
||||
width: 960,
|
||||
height: 960,
|
||||
},
|
||||
};
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
function transformBackwards(node) {
|
||||
if (node.name === 'svg') {
|
||||
const { width, height, ...attributes } = node.attributes;
|
||||
return {
|
||||
...node,
|
||||
attributes,
|
||||
};
|
||||
}
|
||||
return node;
|
||||
}
|
||||
@@ -1,4 +1,21 @@
|
||||
const { builtinModules } = require('module')
|
||||
const rootConfig = require('../.eslintrc.js')
|
||||
|
||||
module.exports = rootConfig;
|
||||
/* eslint-disable no-undef */
|
||||
module.exports = {
|
||||
root: true,
|
||||
parser: '@typescript-eslint/parser',
|
||||
plugins: ['@typescript-eslint', 'import', 'prettier'],
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:@next/next/recommended',
|
||||
'prettier',
|
||||
],
|
||||
rules: {
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
singleQuote: true,
|
||||
trailingComma: 'all',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
7
site/next-env.d.ts
vendored
@@ -1,7 +1,6 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/types/global" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
|
||||
declare module "*.svg" {
|
||||
const content: any;
|
||||
export default content;
|
||||
}
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
||||
|
||||
21
site/next.config.js
Normal file
@@ -0,0 +1,21 @@
|
||||
/* eslint-disable no-undef */
|
||||
module.exports = {
|
||||
webpack: (config, options) => {
|
||||
config.module.rules.push({
|
||||
test: /\.svg/,
|
||||
use: [
|
||||
{
|
||||
loader: 'babel-loader',
|
||||
},
|
||||
{
|
||||
loader: 'react-svg-loader',
|
||||
options: {
|
||||
jsx: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
return config;
|
||||
},
|
||||
};
|
||||
@@ -8,6 +8,7 @@
|
||||
"build": "next build",
|
||||
"export": "next export -o build",
|
||||
"deploy": "yarn build && yarn export",
|
||||
"lint": "eslint .",
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -16,16 +17,17 @@
|
||||
"@emotion/styled": "^11",
|
||||
"downloadjs": "^1.4.7",
|
||||
"framer-motion": "^4",
|
||||
"jszip": "^3.4.0",
|
||||
"jszip": "^3.7.0",
|
||||
"lodash": "^4.17.20",
|
||||
"lucide-react": "0.14.0",
|
||||
"next": "^10.0.4",
|
||||
"next": "^11.1.1",
|
||||
"react": "^17.0.1",
|
||||
"react-color": "^2.19.3",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-svg-loader": "^3.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@next/eslint-plugin-next": "^11.1.0",
|
||||
"@testing-library/dom": "^7.24.4",
|
||||
"@testing-library/jest-dom": "^5.11.4",
|
||||
"@testing-library/react": "^11.0.4",
|
||||
@@ -33,10 +35,14 @@
|
||||
"@types/node": "^14.0.11",
|
||||
"@types/react": "^16.9.35",
|
||||
"@types/react-dom": "^16.9.8",
|
||||
"@typescript-eslint/eslint-plugin": "^4.29.1",
|
||||
"@typescript-eslint/parser": "^4.29.1",
|
||||
"babel-jest": "^26.5.2",
|
||||
"babel-loader": "^8.1.0",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"eslint": "^7.32.0",
|
||||
"jest": "^26.5.2",
|
||||
"typescript": "^4.2.4"
|
||||
"prettier": "^2.3.2",
|
||||
"typescript": "^4.3.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
import { Button, Flex, Link, WrapItem, Text, Wrap } from "@chakra-ui/react";
|
||||
import download from "downloadjs";
|
||||
import JSZip from "jszip";
|
||||
import { Button, Flex, Link, WrapItem, Text, Wrap } from '@chakra-ui/react';
|
||||
import download from 'downloadjs';
|
||||
import JSZip from 'jszip';
|
||||
import { Download, Github } from 'lucide-react';
|
||||
import { IconCustomizerDrawer } from "./IconCustomizerDrawer";
|
||||
import { IconCustomizerDrawer } from './IconCustomizerDrawer';
|
||||
|
||||
function generateZip(icons) {
|
||||
const zip = new JSZip();
|
||||
Object.values(icons).forEach((icon) =>
|
||||
Object.values(icons).forEach(icon =>
|
||||
// @ts-ignore
|
||||
zip.file(`${icon.name}.svg`, icon.src)
|
||||
zip.file(`${icon.name}.svg`, icon.src),
|
||||
);
|
||||
return zip.generateAsync({ type: 'blob' });
|
||||
}
|
||||
|
||||
const Header = ({ data }) => {
|
||||
const downloadAllIcons = async () => {
|
||||
|
||||
const zip = await generateZip(data);
|
||||
download(zip, 'lucide.zip');
|
||||
};
|
||||
@@ -28,41 +27,41 @@ const Header = ({ data }) => {
|
||||
Simply beautiful open source icons, community-sourced
|
||||
</Text>
|
||||
<Text fontSize="lg" as="p" textAlign="center" mb="8">
|
||||
An open-source icon library, a fork of <Link href="https://github.com/feathericons/feather" isExternal>Feather Icons</Link>. <br/>We're expanding the icon set as much as possible while keeping it nice-looking - <Link href={repositoryUrl} isExternal>join us</Link>!
|
||||
An open-source icon library, a fork of{' '}
|
||||
<Link href="https://github.com/feathericons/feather" isExternal>
|
||||
Feather Icons
|
||||
</Link>
|
||||
. <br />
|
||||
We're expanding the icon set as much as possible while keeping it nice-looking -{' '}
|
||||
<Link href={repositoryUrl} isExternal>
|
||||
join us
|
||||
</Link>
|
||||
!
|
||||
</Text>
|
||||
<Wrap
|
||||
marginTop={3}
|
||||
marginBottom={10}
|
||||
spacing="15px"
|
||||
justify="center"
|
||||
>
|
||||
<Wrap marginTop={3} marginBottom={10} spacing="15px" justify="center">
|
||||
<WrapItem>
|
||||
<Button
|
||||
leftIcon={<Download/>}
|
||||
size="lg"
|
||||
onClick={downloadAllIcons}
|
||||
>
|
||||
<Button leftIcon={<Download />} size="lg" onClick={downloadAllIcons}>
|
||||
Download all
|
||||
</Button>
|
||||
</WrapItem>
|
||||
<WrapItem>
|
||||
<IconCustomizerDrawer/>
|
||||
<IconCustomizerDrawer />
|
||||
</WrapItem>
|
||||
<WrapItem>
|
||||
<Button
|
||||
as="a"
|
||||
leftIcon={<Github/>}
|
||||
size="lg"
|
||||
href={repositoryUrl}
|
||||
target="__blank"
|
||||
onClick={downloadAllIcons}
|
||||
>
|
||||
Github
|
||||
</Button>
|
||||
<Button
|
||||
as="a"
|
||||
leftIcon={<Github />}
|
||||
size="lg"
|
||||
href={repositoryUrl}
|
||||
target="__blank"
|
||||
onClick={downloadAllIcons}
|
||||
>
|
||||
Github
|
||||
</Button>
|
||||
</WrapItem>
|
||||
</Wrap>
|
||||
</Flex>
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
export default Header;
|
||||
|
||||
@@ -1,26 +1,38 @@
|
||||
import { Box, Divider, Flex, Text, Link, Icon, useColorMode, useColorModeValue, IconButton } from "@chakra-ui/react";
|
||||
import { useKeyBindings } from "../lib/key";
|
||||
import { useRouter } from "next/router";
|
||||
import NextLink from "next/link"
|
||||
import {
|
||||
Box,
|
||||
Divider,
|
||||
Flex,
|
||||
Text,
|
||||
Link,
|
||||
Icon,
|
||||
useColorMode,
|
||||
useColorModeValue,
|
||||
IconButton,
|
||||
} from '@chakra-ui/react';
|
||||
import { useKeyBindings } from '../lib/key';
|
||||
import { useRouter } from 'next/router';
|
||||
import NextLink from 'next/link';
|
||||
import { Moon, Sun } from 'lucide-react';
|
||||
import Logo from 'babel-loader!react-svg-loader?jsx=true!../../public/logo.svg';
|
||||
import Logo from '../../public/logo.svg';
|
||||
|
||||
const Layout = ({ children }) => {
|
||||
const router = useRouter();
|
||||
const { colorMode, toggleColorMode } = useColorMode();
|
||||
const text = useColorModeValue('dark', 'light')
|
||||
const { toggleColorMode } = useColorMode();
|
||||
const text = useColorModeValue('dark', 'light');
|
||||
const ColorModeToggle = useColorModeValue(Moon, Sun);
|
||||
|
||||
function setQuery(query){
|
||||
router.push({
|
||||
pathname: '/',
|
||||
query: { query: query }
|
||||
}).then();
|
||||
function setQuery(query) {
|
||||
router
|
||||
.push({
|
||||
pathname: '/',
|
||||
query: { query: query },
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
useKeyBindings({
|
||||
Escape: {
|
||||
fn: () => setQuery(""),
|
||||
fn: () => setQuery(''),
|
||||
},
|
||||
KeyT: {
|
||||
fn: () => toggleColorMode(),
|
||||
@@ -42,45 +54,42 @@ const Layout = ({ children }) => {
|
||||
>
|
||||
<Flex justifyContent="center" alignItems="center">
|
||||
<NextLink href="/" passHref>
|
||||
<Link display="flex" _hover={{textDecoration: 'none'}}>
|
||||
<Link display="flex" _hover={{ textDecoration: 'none' }}>
|
||||
<Icon boxSize={12} marginRight="8px">
|
||||
<Logo/>
|
||||
<Logo />
|
||||
</Icon>
|
||||
<Text
|
||||
fontSize="40px"
|
||||
lineHeight="48px"
|
||||
>
|
||||
<Text fontSize="40px" lineHeight="48px">
|
||||
Lucide
|
||||
</Text>
|
||||
</Link>
|
||||
</NextLink>
|
||||
</Flex>
|
||||
<Flex justifyContent="center" alignItems="center">
|
||||
<Link
|
||||
href="https://github.com/lucide-icons/lucide"
|
||||
isExternal
|
||||
marginRight={6}
|
||||
fontSize="xl"
|
||||
>
|
||||
Github
|
||||
</Link>
|
||||
<IconButton
|
||||
size="md"
|
||||
fontSize="lg"
|
||||
aria-label={`Switch to ${text} mode`}
|
||||
variant="ghost"
|
||||
color="current"
|
||||
ml="3"
|
||||
onClick={toggleColorMode}
|
||||
icon={<ColorModeToggle />}
|
||||
/>
|
||||
<Link
|
||||
href="https://github.com/lucide-icons/lucide"
|
||||
isExternal
|
||||
marginRight={6}
|
||||
fontSize="xl"
|
||||
>
|
||||
Github
|
||||
</Link>
|
||||
<IconButton
|
||||
size="md"
|
||||
fontSize="lg"
|
||||
aria-label={`Switch to ${text} mode`}
|
||||
variant="ghost"
|
||||
color="current"
|
||||
ml="3"
|
||||
onClick={toggleColorMode}
|
||||
icon={<ColorModeToggle />}
|
||||
/>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Flex>
|
||||
<Flex margin="0 auto" direction="column" maxW="1250px" px={5}>
|
||||
{children}
|
||||
<Divider marginBottom={8} />
|
||||
<p style={{ alignSelf: "center" }}>
|
||||
<p style={{ alignSelf: 'center' }}>
|
||||
<a href="https://vercel.com?utm_source=lucide&utm_campaign=oss">
|
||||
<img src="/vercel.svg" alt="Powered by Vercel" width="200" />
|
||||
</a>
|
||||
|
||||
@@ -1,47 +1,48 @@
|
||||
import { useRouter } from 'next/router'
|
||||
import IconDetailOverlay from '../../components/IconDetailOverlay'
|
||||
import { useRouter } from 'next/router';
|
||||
import IconDetailOverlay from '../../components/IconDetailOverlay';
|
||||
import { getAllData, getData } from '../../lib/icons';
|
||||
import IconOverview from '../../components/IconOverview';
|
||||
import Layout from '../../components/Layout';
|
||||
import Header from '../../components/Header';
|
||||
|
||||
const IconPage = ({ icon, data }) => {
|
||||
const router = useRouter()
|
||||
const router = useRouter();
|
||||
|
||||
const onClose = () => {
|
||||
let query = {};
|
||||
|
||||
if(router.query.search) {
|
||||
if (router.query.search) {
|
||||
query = {
|
||||
search: router.query.search
|
||||
search: router.query.search,
|
||||
};
|
||||
}
|
||||
console.log('CLOSE');
|
||||
|
||||
router.push({
|
||||
pathname: '/',
|
||||
query,
|
||||
})
|
||||
}
|
||||
router.push(
|
||||
{
|
||||
pathname: '/',
|
||||
query,
|
||||
},
|
||||
undefined,
|
||||
{ scroll: false },
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<IconDetailOverlay
|
||||
key={icon.name}
|
||||
icon={icon}
|
||||
close={onClose}
|
||||
/>
|
||||
<Header {...{data}}/>
|
||||
<IconOverview {...{data}}/>
|
||||
<IconDetailOverlay key={icon.name} icon={icon} close={onClose} />
|
||||
<Header {...{ data }} />
|
||||
<IconOverview {...{ data }} />
|
||||
</Layout>
|
||||
)
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default IconPage
|
||||
export default IconPage;
|
||||
|
||||
export async function getStaticProps({ params: { iconName } }) {
|
||||
const data = await getAllData();
|
||||
const icon = await getData(iconName);
|
||||
return { props: { icon, data } }
|
||||
return { props: { icon, data } };
|
||||
}
|
||||
|
||||
export async function getStaticPaths() {
|
||||
@@ -52,5 +53,5 @@ export async function getStaticPaths() {
|
||||
params: { iconName },
|
||||
})),
|
||||
fallback: false,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
812
site/yarn.lock
16
tags.json
@@ -858,6 +858,12 @@
|
||||
"grab": [
|
||||
"hand"
|
||||
],
|
||||
"graduation-cap": [
|
||||
"school",
|
||||
"university",
|
||||
"learn",
|
||||
"study"
|
||||
],
|
||||
"grid": [
|
||||
"table"
|
||||
],
|
||||
@@ -999,6 +1005,13 @@
|
||||
"languages": [
|
||||
"translate"
|
||||
],
|
||||
"landmark": [
|
||||
"bank",
|
||||
"building",
|
||||
"capitol",
|
||||
"finance",
|
||||
"money"
|
||||
],
|
||||
"laptop": [
|
||||
"computer"
|
||||
],
|
||||
@@ -1432,6 +1445,9 @@
|
||||
"office",
|
||||
"device"
|
||||
],
|
||||
"quote": [
|
||||
"quotation"
|
||||
],
|
||||
"qr-code": [
|
||||
"barcode"
|
||||
],
|
||||
|
||||
650
yarn.lock
@@ -2042,6 +2042,296 @@
|
||||
"@types/yargs" "^15.0.0"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@jimp/bmp@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.14.0.tgz#6df246026554f276f7b354047c6fff9f5b2b5182"
|
||||
integrity sha512-5RkX6tSS7K3K3xNEb2ygPuvyL9whjanhoaB/WmmXlJS6ub4DjTqrapu8j4qnIWmO4YYtFeTbDTXV6v9P1yMA5A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
bmp-js "^0.1.0"
|
||||
|
||||
"@jimp/core@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.14.0.tgz#870c9ca25b40be353ebda1d2abb48723d9010055"
|
||||
integrity sha512-S62FcKdtLtj3yWsGfJRdFXSutjvHg7aQNiFogMbwq19RP4XJWqS2nOphu7ScB8KrSlyy5nPF2hkWNhLRLyD82w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
any-base "^1.1.0"
|
||||
buffer "^5.2.0"
|
||||
exif-parser "^0.1.12"
|
||||
file-type "^9.0.0"
|
||||
load-bmfont "^1.3.1"
|
||||
mkdirp "^0.5.1"
|
||||
phin "^2.9.1"
|
||||
pixelmatch "^4.0.2"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@jimp/custom@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.14.0.tgz#1dbbf0094df7403f4e03bc984ed92e7458842f74"
|
||||
integrity sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/core" "^0.14.0"
|
||||
|
||||
"@jimp/gif@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.14.0.tgz#db159f57c3cfd1566bbe8b124958791998614960"
|
||||
integrity sha512-DHjoOSfCaCz72+oGGEh8qH0zE6pUBaBxPxxmpYJjkNyDZP7RkbBkZJScIYeQ7BmJxmGN4/dZn+MxamoQlr+UYg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
gifwrap "^0.9.2"
|
||||
omggif "^1.0.9"
|
||||
|
||||
"@jimp/jpeg@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.14.0.tgz#8a687a6a653bbbae38c522edef8f84bb418d9461"
|
||||
integrity sha512-561neGbr+87S/YVQYnZSTyjWTHBm9F6F1obYHiyU3wVmF+1CLbxY3FQzt4YolwyQHIBv36Bo0PY2KkkU8BEeeQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
jpeg-js "^0.4.0"
|
||||
|
||||
"@jimp/plugin-blit@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.14.0.tgz#5eb374be1201313b2113899fb842232d8fcfd345"
|
||||
integrity sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-blur@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.14.0.tgz#fe07e4932d5a2f5d8c9831e245561553224bfc60"
|
||||
integrity sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-circle@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.14.0.tgz#82c0e904a34e90fa672fb9c286bc892e92088ddf"
|
||||
integrity sha512-o5L+wf6QA44tvTum5HeLyLSc5eVfIUd5ZDVi5iRfO4o6GT/zux9AxuTSkKwnjhsG8bn1dDmywAOQGAx7BjrQVA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-color@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.14.0.tgz#772bd2d80a88bc66ea1331d010207870f169a74b"
|
||||
integrity sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@jimp/plugin-contain@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.14.0.tgz#c68115420d182e696f81bbe76fb5e704909b2b6a"
|
||||
integrity sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-cover@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.14.0.tgz#4755322589c5885e44e14e31b86b542e907297ce"
|
||||
integrity sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-crop@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.14.0.tgz#4cbd856ca84ffc37230fad2534906f2f75aa3057"
|
||||
integrity sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-displace@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.14.0.tgz#b0e6a57d00cb1f893f541413fe9d737d23c3b70c"
|
||||
integrity sha512-c75uQUzMgrHa8vegkgUvgRL/PRvD7paFbFJvzW0Ugs8Wl+CDMGIPYQ3j7IVaQkIS+cAxv+NJ3TIRBQyBrfVEOg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-dither@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.14.0.tgz#9185ec4c38e02edc9e5831f5d709f6ba891e1b93"
|
||||
integrity sha512-g8SJqFLyYexXQQsoh4dc1VP87TwyOgeTElBcxSXX2LaaMZezypmxQfLTzOFzZoK8m39NuaoH21Ou1Ftsq7LzVQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-fisheye@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.14.0.tgz#9f26346cf2fbc660cc2008cd7fd30a83b5029e78"
|
||||
integrity sha512-BFfUZ64EikCaABhCA6mR3bsltWhPpS321jpeIQfJyrILdpFsZ/OccNwCgpW1XlbldDHIoNtXTDGn3E+vCE7vDg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-flip@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.14.0.tgz#7966d6aa3b5fe1aa4d2d561ff12b8ef5ccb9b071"
|
||||
integrity sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-gaussian@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.14.0.tgz#452bc1971a4467ad9b984aa67f4c200bf941bb65"
|
||||
integrity sha512-uaLwQ0XAQoydDlF9tlfc7iD9drYPriFe+jgYnWm8fbw5cN+eOIcnneEX9XCOOzwgLPkNCxGox6Kxjn8zY6GxtQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-invert@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.14.0.tgz#cd31a555860e9f821394936d15af161c09c42921"
|
||||
integrity sha512-UaQW9X9vx8orQXYSjT5VcITkJPwDaHwrBbxxPoDG+F/Zgv4oV9fP+udDD6qmkgI9taU+44Fy+zm/J/gGcMWrdg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-mask@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.14.0.tgz#52619643ac6222f85e6b27dee33c771ca3a6a4c9"
|
||||
integrity sha512-tdiGM69OBaKtSPfYSQeflzFhEpoRZ+BvKfDEoivyTjauynbjpRiwB1CaiS8En1INTDwzLXTT0Be9SpI3LkJoEA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-normalize@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.14.0.tgz#bf39e356b6d473f582ce95633ad49c9cdb82492b"
|
||||
integrity sha512-AfY8sqlsbbdVwFGcyIPy5JH/7fnBzlmuweb+Qtx2vn29okq6+HelLjw2b+VT2btgGUmWWHGEHd86oRGSoWGyEQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-print@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.14.0.tgz#1c43c2a92a7adc05b464863882cb89ce486d63e6"
|
||||
integrity sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
load-bmfont "^1.4.0"
|
||||
|
||||
"@jimp/plugin-resize@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.14.0.tgz#ef7fc6c2e45f8bcab62456baf8fd3bc415b02b64"
|
||||
integrity sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-rotate@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.14.0.tgz#3632bc159bf1c3b9ec9f459d9c05d02a11781ee7"
|
||||
integrity sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-scale@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.14.0.tgz#d30f0cd1365b8e68f43fa423300ae7f124e9bf10"
|
||||
integrity sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-shadow@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.14.0.tgz#471fdb9f109ff2d9e20d533d45e1e18e0b48c749"
|
||||
integrity sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugin-threshold@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.14.0.tgz#ebd72721c7d1d518c5bb6e494e55d97ac3351d3b"
|
||||
integrity sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
|
||||
"@jimp/plugins@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.14.0.tgz#41dba85f15ab8dadb4162100eb54e5f27b93ee2c"
|
||||
integrity sha512-vDO3XT/YQlFlFLq5TqNjQkISqjBHT8VMhpWhAfJVwuXIpilxz5Glu4IDLK6jp4IjPR6Yg2WO8TmRY/HI8vLrOw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/plugin-blit" "^0.14.0"
|
||||
"@jimp/plugin-blur" "^0.14.0"
|
||||
"@jimp/plugin-circle" "^0.14.0"
|
||||
"@jimp/plugin-color" "^0.14.0"
|
||||
"@jimp/plugin-contain" "^0.14.0"
|
||||
"@jimp/plugin-cover" "^0.14.0"
|
||||
"@jimp/plugin-crop" "^0.14.0"
|
||||
"@jimp/plugin-displace" "^0.14.0"
|
||||
"@jimp/plugin-dither" "^0.14.0"
|
||||
"@jimp/plugin-fisheye" "^0.14.0"
|
||||
"@jimp/plugin-flip" "^0.14.0"
|
||||
"@jimp/plugin-gaussian" "^0.14.0"
|
||||
"@jimp/plugin-invert" "^0.14.0"
|
||||
"@jimp/plugin-mask" "^0.14.0"
|
||||
"@jimp/plugin-normalize" "^0.14.0"
|
||||
"@jimp/plugin-print" "^0.14.0"
|
||||
"@jimp/plugin-resize" "^0.14.0"
|
||||
"@jimp/plugin-rotate" "^0.14.0"
|
||||
"@jimp/plugin-scale" "^0.14.0"
|
||||
"@jimp/plugin-shadow" "^0.14.0"
|
||||
"@jimp/plugin-threshold" "^0.14.0"
|
||||
timm "^1.6.1"
|
||||
|
||||
"@jimp/png@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.14.0.tgz#0f2dddb5125c0795ca7e67c771204c5437fcda4b"
|
||||
integrity sha512-0RV/mEIDOrPCcNfXSPmPBqqSZYwGADNRVUTyMt47RuZh7sugbYdv/uvKmQSiqRdR0L1sfbCBMWUEa5G/8MSbdA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/utils" "^0.14.0"
|
||||
pngjs "^3.3.3"
|
||||
|
||||
"@jimp/tiff@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.14.0.tgz#a5b25bbe7c43fc3b07bad4e2ab90e0e164c1967f"
|
||||
integrity sha512-zBYDTlutc7j88G/7FBCn3kmQwWr0rmm1e0FKB4C3uJ5oYfT8645lftUsvosKVUEfkdmOaMAnhrf4ekaHcb5gQw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
utif "^2.0.1"
|
||||
|
||||
"@jimp/types@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.14.0.tgz#ef681ff702883c5f105b5e4e30d49abf39ee9e34"
|
||||
integrity sha512-hx3cXAW1KZm+b+XCrY3LXtdWy2U+hNtq0rPyJ7NuXCjU7lZR3vIkpz1DLJ3yDdS70hTi5QDXY3Cd9kd6DtloHQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/bmp" "^0.14.0"
|
||||
"@jimp/gif" "^0.14.0"
|
||||
"@jimp/jpeg" "^0.14.0"
|
||||
"@jimp/png" "^0.14.0"
|
||||
"@jimp/tiff" "^0.14.0"
|
||||
timm "^1.6.1"
|
||||
|
||||
"@jimp/utils@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.14.0.tgz#296254e63118554c62c31c19ac6b8c4bfe6490e5"
|
||||
integrity sha512-MY5KFYUru0y74IsgM/9asDwb3ERxWxXEu3CRCZEvE7DtT86y1bR1XgtlSliMrptjz4qbivNGMQSvUBpEFJDp1A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
regenerator-runtime "^0.13.3"
|
||||
|
||||
"@jridgewell/resolve-uri@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83"
|
||||
@@ -3070,6 +3360,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
any-base@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe"
|
||||
integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==
|
||||
|
||||
anymatch@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
|
||||
@@ -3675,6 +3970,11 @@ bluebird@^3.5.5, bluebird@^3.7.2:
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
bmp-js@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233"
|
||||
integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM=
|
||||
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
@@ -3857,6 +4157,11 @@ buffer-crc32@~0.2.3:
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
|
||||
|
||||
buffer-equal@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
|
||||
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
@@ -3881,7 +4186,7 @@ buffer@^4.3.0:
|
||||
ieee754 "^1.1.4"
|
||||
isarray "^1.0.0"
|
||||
|
||||
buffer@^5.2.1, buffer@^5.5.0:
|
||||
buffer@^5.2.0, buffer@^5.2.1, buffer@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
@@ -4393,7 +4698,7 @@ collection-visit@^1.0.0:
|
||||
map-visit "^1.0.0"
|
||||
object-visit "^1.0.0"
|
||||
|
||||
color-convert@^1.9.0, color-convert@^1.9.1:
|
||||
color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||
@@ -4425,6 +4730,14 @@ color-string@^1.5.4:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
color-string@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"
|
||||
integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
color@^3.0.0:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
|
||||
@@ -4433,6 +4746,14 @@ color@^3.0.0:
|
||||
color-convert "^1.9.1"
|
||||
color-string "^1.5.4"
|
||||
|
||||
color@^3.1.3:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
|
||||
integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
|
||||
dependencies:
|
||||
color-convert "^1.9.3"
|
||||
color-string "^1.6.0"
|
||||
|
||||
colorette@^1.2.1, colorette@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
|
||||
@@ -5194,6 +5515,13 @@ decode-uri-component@^0.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
||||
|
||||
decompress-response@^4.2.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
|
||||
integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
|
||||
dependencies:
|
||||
mimic-response "^2.0.0"
|
||||
|
||||
dedent@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||
@@ -5211,6 +5539,11 @@ deep-equal@^1.0.1:
|
||||
object-keys "^1.1.1"
|
||||
regexp.prototype.flags "^1.2.0"
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||
|
||||
deep-is@~0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
||||
@@ -5337,6 +5670,11 @@ detect-file@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
|
||||
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
|
||||
|
||||
detect-libc@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
||||
detect-newline@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
|
||||
@@ -5453,6 +5791,11 @@ dom-serializer@0:
|
||||
domelementtype "^2.0.1"
|
||||
entities "^2.0.0"
|
||||
|
||||
dom-walk@^0.1.0:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
|
||||
integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
|
||||
|
||||
domain-browser@^1.1.1:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
|
||||
@@ -6048,6 +6391,11 @@ execa@^4.0.0, execa@^4.1.0:
|
||||
signal-exit "^3.0.2"
|
||||
strip-final-newline "^2.0.0"
|
||||
|
||||
exif-parser@^0.1.12:
|
||||
version "0.1.12"
|
||||
resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
|
||||
integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=
|
||||
|
||||
exit@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
|
||||
@@ -6066,6 +6414,11 @@ expand-brackets@^2.1.4:
|
||||
snapdragon "^0.8.1"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
expand-template@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
|
||||
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
|
||||
|
||||
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
|
||||
@@ -6313,6 +6666,11 @@ file-loader@6.2.0:
|
||||
loader-utils "^2.0.0"
|
||||
schema-utils "^3.0.0"
|
||||
|
||||
file-type@^9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18"
|
||||
integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==
|
||||
|
||||
file-uri-to-path@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
|
||||
@@ -6667,6 +7025,19 @@ getpass@^0.1.1:
|
||||
dependencies:
|
||||
assert-plus "^1.0.0"
|
||||
|
||||
gifwrap@^0.9.2:
|
||||
version "0.9.2"
|
||||
resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.2.tgz#348e286e67d7cf57942172e1e6f05a71cee78489"
|
||||
integrity sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==
|
||||
dependencies:
|
||||
image-q "^1.1.1"
|
||||
omggif "^1.0.10"
|
||||
|
||||
github-from-package@0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
|
||||
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
|
||||
|
||||
glob-parent@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
||||
@@ -6730,6 +7101,14 @@ global-prefix@^3.0.0:
|
||||
kind-of "^6.0.2"
|
||||
which "^1.3.1"
|
||||
|
||||
global@~4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
|
||||
integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
|
||||
dependencies:
|
||||
min-document "^2.19.0"
|
||||
process "^0.11.10"
|
||||
|
||||
globals@^11.0.1, globals@^11.1.0:
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
@@ -7264,6 +7643,11 @@ ignore@^5.1.4:
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
|
||||
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
|
||||
|
||||
image-q@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz#fc84099664460b90ca862d9300b6bfbbbfbf8056"
|
||||
integrity sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=
|
||||
|
||||
image-size@~0.5.0:
|
||||
version "0.5.5"
|
||||
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
|
||||
@@ -7354,7 +7738,7 @@ ini@2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
|
||||
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
|
||||
|
||||
ini@^1.3.4, ini@^1.3.5:
|
||||
ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
@@ -7624,6 +8008,11 @@ is-fullwidth-code-point@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
||||
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||
|
||||
is-function@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
|
||||
integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
|
||||
|
||||
is-generator-fn@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
|
||||
@@ -8326,6 +8715,22 @@ jest@^26.4.2, jest@^26.6.3:
|
||||
import-local "^3.0.2"
|
||||
jest-cli "^26.6.3"
|
||||
|
||||
jimp@^0.14.0:
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.14.0.tgz#fde55f69bdb918c1b01ac633d89a25853af85625"
|
||||
integrity sha512-8BXU+J8+SPmwwyq9ELihpSV4dWPTiOKBWCEgtkbnxxAVMjXdf3yGmyaLSshBfXc8sP/JQ9OZj5R8nZzz2wPXgA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.7.2"
|
||||
"@jimp/custom" "^0.14.0"
|
||||
"@jimp/plugins" "^0.14.0"
|
||||
"@jimp/types" "^0.14.0"
|
||||
regenerator-runtime "^0.13.3"
|
||||
|
||||
jpeg-js@^0.4.0:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.3.tgz#6158e09f1983ad773813704be80680550eff977b"
|
||||
integrity sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==
|
||||
|
||||
js-beautify@^1.6.12, js-beautify@^1.6.14:
|
||||
version "1.13.5"
|
||||
resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.5.tgz#a08a97890cae55daf1d758d3f6577bd4a64d7014"
|
||||
@@ -8704,6 +9109,20 @@ listr2@^3.2.2:
|
||||
through "^2.3.8"
|
||||
wrap-ansi "^7.0.0"
|
||||
|
||||
load-bmfont@^1.3.1, load-bmfont@^1.4.0:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9"
|
||||
integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==
|
||||
dependencies:
|
||||
buffer-equal "0.0.1"
|
||||
mime "^1.3.4"
|
||||
parse-bmfont-ascii "^1.0.3"
|
||||
parse-bmfont-binary "^1.0.5"
|
||||
parse-bmfont-xml "^1.1.4"
|
||||
phin "^2.9.1"
|
||||
xhr "^2.0.1"
|
||||
xtend "^4.0.0"
|
||||
|
||||
load-json-file@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
|
||||
@@ -8891,14 +9310,6 @@ lru-cache@^6.0.0:
|
||||
dependencies:
|
||||
yallist "^4.0.0"
|
||||
|
||||
lucide-react@0.15.11:
|
||||
version "0.15.11"
|
||||
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.15.11.tgz#34f2d76d1e7fda978f4a8b2d0538b84ecbecf106"
|
||||
integrity sha512-2NOpAVt2ScBkwlRvub7adfmWZX1o+so+3elAtyp5g9jaAKthszAgKZwNEFhB2Gl1tT5CuvVLPsjaRjhnpNjq9w==
|
||||
dependencies:
|
||||
prop-types "^15.7.2"
|
||||
react "^16.5.1"
|
||||
|
||||
lz-string@^1.4.4:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26"
|
||||
@@ -9097,7 +9508,7 @@ mime-types@~2.1.17, mime-types@~2.1.24:
|
||||
dependencies:
|
||||
mime-db "1.47.0"
|
||||
|
||||
mime@1.6.0, mime@^1.4.1:
|
||||
mime@1.6.0, mime@^1.3.4, mime@^1.4.1:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
||||
@@ -9117,6 +9528,18 @@ mimic-fn@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||
|
||||
mimic-response@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
|
||||
integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
|
||||
|
||||
min-document@^2.19.0:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
|
||||
integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
|
||||
dependencies:
|
||||
dom-walk "^0.1.0"
|
||||
|
||||
mini-css-extract-plugin@1.3.5:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz#252166e78879c106e0130f229d44e0cbdfcebed3"
|
||||
@@ -9143,7 +9566,7 @@ minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@1.x, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
|
||||
minimist@1.x, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
@@ -9234,7 +9657,7 @@ mixin-deep@^1.2.0:
|
||||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp-classic@^0.5.2:
|
||||
mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
|
||||
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||
@@ -9338,6 +9761,11 @@ nanomatch@^1.2.9:
|
||||
snapdragon "^0.8.1"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
napi-build-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
|
||||
integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
@@ -9410,11 +9838,23 @@ no-case@^2.2.0:
|
||||
dependencies:
|
||||
lower-case "^1.1.1"
|
||||
|
||||
node-abi@^2.21.0:
|
||||
version "2.30.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.0.tgz#8be53bf3e7945a34eea10e0fc9a5982776cf550b"
|
||||
integrity sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==
|
||||
dependencies:
|
||||
semver "^5.4.1"
|
||||
|
||||
node-addon-api@^1.7.1:
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
|
||||
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
|
||||
|
||||
node-addon-api@^3.1.0:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
|
||||
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
|
||||
|
||||
node-cache@^4.1.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-4.2.1.tgz#efd8474dee4edec4138cdded580f5516500f7334"
|
||||
@@ -9653,7 +10093,7 @@ npm-run-path@^4.0.0:
|
||||
dependencies:
|
||||
path-key "^3.0.0"
|
||||
|
||||
npmlog@^4.1.2:
|
||||
npmlog@^4.0.1, npmlog@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||
@@ -9765,6 +10205,11 @@ obuf@^1.0.0, obuf@^1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
|
||||
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
|
||||
|
||||
omggif@^1.0.10, omggif@^1.0.9:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
|
||||
integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
|
||||
|
||||
omit-deep@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/omit-deep/-/omit-deep-0.3.0.tgz#21c8af3499bcadd29651a232cbcacbc52445ebec"
|
||||
@@ -10010,7 +10455,7 @@ pacote@11.2.4:
|
||||
ssri "^8.0.0"
|
||||
tar "^6.1.0"
|
||||
|
||||
pako@~1.0.2, pako@~1.0.5:
|
||||
pako@^1.0.5, pako@~1.0.2, pako@~1.0.5:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
|
||||
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
|
||||
@@ -10049,6 +10494,29 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
|
||||
pbkdf2 "^3.0.3"
|
||||
safe-buffer "^5.1.1"
|
||||
|
||||
parse-bmfont-ascii@^1.0.3:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
|
||||
integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=
|
||||
|
||||
parse-bmfont-binary@^1.0.5:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006"
|
||||
integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=
|
||||
|
||||
parse-bmfont-xml@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389"
|
||||
integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==
|
||||
dependencies:
|
||||
xml-parse-from-string "^1.0.0"
|
||||
xml2js "^0.4.5"
|
||||
|
||||
parse-headers@^2.0.0:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf"
|
||||
integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==
|
||||
|
||||
parse-json@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
|
||||
@@ -10162,9 +10630,9 @@ path-key@^3.0.0, path-key@^3.1.0:
|
||||
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
||||
|
||||
path-parse@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
|
||||
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
|
||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
||||
|
||||
path-to-regexp@0.1.7:
|
||||
version "0.1.7"
|
||||
@@ -10204,6 +10672,11 @@ performance-now@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
|
||||
|
||||
phin@^2.9.1:
|
||||
version "2.9.3"
|
||||
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
||||
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
|
||||
@@ -10238,6 +10711,13 @@ pirates@^4.0.0, pirates@^4.0.1:
|
||||
dependencies:
|
||||
node-modules-regexp "^1.0.0"
|
||||
|
||||
pixelmatch@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
|
||||
integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=
|
||||
dependencies:
|
||||
pngjs "^3.0.0"
|
||||
|
||||
pkg-dir@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
|
||||
@@ -10278,6 +10758,11 @@ pluralize@^7.0.0:
|
||||
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
|
||||
integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==
|
||||
|
||||
pngjs@^3.0.0, pngjs@^3.3.3:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
|
||||
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
|
||||
|
||||
pnp-webpack-plugin@1.6.4:
|
||||
version "1.6.4"
|
||||
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
|
||||
@@ -10716,11 +11201,37 @@ postcss@^8.1.4, postcss@^8.2.4:
|
||||
nanoid "^3.1.22"
|
||||
source-map "^0.6.1"
|
||||
|
||||
potrace@2.1.8:
|
||||
version "2.1.8"
|
||||
resolved "https://registry.yarnpkg.com/potrace/-/potrace-2.1.8.tgz#50f6fba92e1e39ddef6f979b0a0f841809e0acf2"
|
||||
integrity sha512-V9hI7UMJyEhNZjM8CbZaP/804ZRLgzWkCS9OOYnEZkszzj3zKR/erRdj0uFMcN3pp6x4B+AIZebmkQgGRinG/g==
|
||||
dependencies:
|
||||
jimp "^0.14.0"
|
||||
|
||||
preact@^10.5.13:
|
||||
version "10.5.13"
|
||||
resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.13.tgz#85f6c9197ecd736ce8e3bec044d08fd1330fa019"
|
||||
integrity sha512-q/vlKIGNwzTLu+jCcvywgGrt+H/1P/oIRSD6mV4ln3hmlC+Aa34C7yfPI4+5bzW8pONyVXYS7SvXosy2dKKtWQ==
|
||||
|
||||
prebuild-install@^6.1.1:
|
||||
version "6.1.4"
|
||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f"
|
||||
integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
expand-template "^2.0.3"
|
||||
github-from-package "0.0.0"
|
||||
minimist "^1.2.3"
|
||||
mkdirp-classic "^0.5.3"
|
||||
napi-build-utils "^1.0.1"
|
||||
node-abi "^2.21.0"
|
||||
npmlog "^4.0.1"
|
||||
pump "^3.0.0"
|
||||
rc "^1.2.7"
|
||||
simple-get "^3.0.3"
|
||||
tar-fs "^2.0.0"
|
||||
tunnel-agent "^0.6.0"
|
||||
|
||||
prelude-ls@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||
@@ -11023,6 +11534,16 @@ raw-loader@4.0.2:
|
||||
loader-utils "^2.0.0"
|
||||
schema-utils "^3.0.0"
|
||||
|
||||
rc@^1.2.7:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||
dependencies:
|
||||
deep-extend "^0.6.0"
|
||||
ini "~1.3.0"
|
||||
minimist "^1.2.0"
|
||||
strip-json-comments "~2.0.1"
|
||||
|
||||
react-dom@^16.8.6:
|
||||
version "16.14.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
|
||||
@@ -11185,6 +11706,11 @@ regenerator-runtime@^0.11.0:
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
||||
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
|
||||
|
||||
regenerator-runtime@^0.13.3:
|
||||
version "0.13.9"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
|
||||
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
|
||||
|
||||
regenerator-transform@^0.14.2:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
|
||||
@@ -11820,9 +12346,9 @@ semver-intersect@1.4.0:
|
||||
semver "^5.0.0"
|
||||
|
||||
semver-regex@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807"
|
||||
integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3"
|
||||
integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==
|
||||
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
|
||||
version "5.7.1"
|
||||
@@ -11846,7 +12372,7 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.0.0, semver@^7.1.1, semver@^7.3.4:
|
||||
semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5:
|
||||
version "7.3.5"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
||||
@@ -11959,6 +12485,20 @@ shallow-clone@^3.0.0:
|
||||
dependencies:
|
||||
kind-of "^6.0.2"
|
||||
|
||||
sharp@0.28.1:
|
||||
version "0.28.1"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.28.1.tgz#9d7bbce1ca95b2c27482243cd4839c62ef40b0b7"
|
||||
integrity sha512-4mCGMEN4ntaVuFGwHx7FvkJQkIgbI+S+F9a3bI7ugdvKjPr4sF7/ibvlRKhJyzhoQi+ODM+XYY1de8xs7MHbfA==
|
||||
dependencies:
|
||||
color "^3.1.3"
|
||||
detect-libc "^1.0.3"
|
||||
node-addon-api "^3.1.0"
|
||||
prebuild-install "^6.1.1"
|
||||
semver "^7.3.5"
|
||||
simple-get "^3.1.0"
|
||||
tar-fs "^2.1.1"
|
||||
tunnel-agent "^0.6.0"
|
||||
|
||||
shebang-command@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||
@@ -11998,6 +12538,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
||||
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
||||
|
||||
simple-concat@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
|
||||
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
|
||||
|
||||
simple-get@^3.0.3, simple-get@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
|
||||
integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
|
||||
dependencies:
|
||||
decompress-response "^4.2.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
simple-string-table@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-string-table/-/simple-string-table-1.0.0.tgz#301ce3175260240e7db7f4b734b0a8125b98997e"
|
||||
@@ -12665,6 +13219,14 @@ supports-hyperlinks@^2.0.0:
|
||||
has-flag "^4.0.0"
|
||||
supports-color "^7.0.0"
|
||||
|
||||
svg-outline-stroke@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/svg-outline-stroke/-/svg-outline-stroke-1.3.1.tgz#7722c8f886a6971b81fef91fa5f443bec4b07b6f"
|
||||
integrity sha512-nfSJw3wFJCB8lVupuhD4SZjExZS72W2CF4QDr9tHRxXlbmTUqWKU3uDMMf3EIgryC6Pl458G+Ct9jesM5NUBXQ==
|
||||
dependencies:
|
||||
potrace "2.1.8"
|
||||
sharp "0.28.1"
|
||||
|
||||
svgo@^1.0.0, svgo@^1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
|
||||
@@ -12732,7 +13294,7 @@ tapable@^2.2.0:
|
||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
|
||||
integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
|
||||
|
||||
tar-fs@^2.0.0:
|
||||
tar-fs@^2.0.0, tar-fs@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
|
||||
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
|
||||
@@ -12874,11 +13436,21 @@ timers-browserify@^2.0.4:
|
||||
dependencies:
|
||||
setimmediate "^1.0.4"
|
||||
|
||||
timm@^1.6.1:
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f"
|
||||
integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==
|
||||
|
||||
timsort@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
|
||||
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
|
||||
|
||||
tinycolor2@^1.4.1:
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"
|
||||
integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==
|
||||
|
||||
tmp@0.0.30:
|
||||
version "0.0.30"
|
||||
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed"
|
||||
@@ -12901,9 +13473,9 @@ tmp@^0.0.33:
|
||||
os-tmpdir "~1.0.2"
|
||||
|
||||
tmpl@1.0.x:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
|
||||
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
|
||||
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
|
||||
|
||||
to-arraybuffer@^1.0.0:
|
||||
version "1.0.1"
|
||||
@@ -13329,6 +13901,13 @@ use@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
|
||||
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
|
||||
|
||||
utif@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759"
|
||||
integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==
|
||||
dependencies:
|
||||
pako "^1.0.5"
|
||||
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
@@ -13955,6 +14534,16 @@ ws@^7.2.3, ws@^7.4.4, ws@~7.4.2:
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59"
|
||||
integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==
|
||||
|
||||
xhr@^2.0.1:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d"
|
||||
integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==
|
||||
dependencies:
|
||||
global "~4.4.0"
|
||||
is-function "^1.0.1"
|
||||
parse-headers "^2.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
xml-lexer@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/xml-lexer/-/xml-lexer-0.2.2.tgz#518193a4aa334d58fc7d248b549079b89907e046"
|
||||
@@ -13967,6 +14556,11 @@ xml-name-validator@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
|
||||
|
||||
xml-parse-from-string@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28"
|
||||
integrity sha1-qQKekp09vN7RafPG4oI42VpdWig=
|
||||
|
||||
xml-reader@2.4.3:
|
||||
version "2.4.3"
|
||||
resolved "https://registry.yarnpkg.com/xml-reader/-/xml-reader-2.4.3.tgz#9f810caf7c425a5aafb848b1c45103c9e71d7530"
|
||||
@@ -13975,7 +14569,7 @@ xml-reader@2.4.3:
|
||||
eventemitter3 "^2.0.0"
|
||||
xml-lexer "^0.2.2"
|
||||
|
||||
xml2js@^0.4.17:
|
||||
xml2js@^0.4.17, xml2js@^0.4.5:
|
||||
version "0.4.23"
|
||||
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
|
||||
integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
|
||||
|
||||