Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8cf24e75a | ||
|
|
4e2773bd2d | ||
|
|
7c8f898893 | ||
|
|
c3951d36c7 | ||
|
|
f958310d91 | ||
|
|
d00cbebcc4 | ||
|
|
3619dfa7f2 | ||
|
|
c844bc668f | ||
|
|
32dec05e0b | ||
|
|
5394d7fceb | ||
|
|
8dea4c7b7f | ||
|
|
b8a595275d | ||
|
|
a7b3ecde63 | ||
|
|
8bcfc225ce | ||
|
|
1d608db223 | ||
|
|
c1cb5d9bc2 | ||
|
|
66f51474cd |
8
.github/actions/build-and-test.yml
vendored
@@ -24,15 +24,15 @@ runs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-lucide-preact-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --filter lucide-preact
|
run: pnpm install --filter lucide-preact
|
||||||
|
|||||||
8
.github/actions/check-icons.yml
vendored
@@ -24,15 +24,15 @@ runs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-lucide-preact-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --filter .
|
run: pnpm install --filter .
|
||||||
|
|||||||
62
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# For changed dependencies
|
||||||
|
📦 dependencies:
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
# For changes in documentation
|
||||||
|
📖 documentation:
|
||||||
|
- docs/*.md
|
||||||
|
- docs/**/*.md
|
||||||
|
|
||||||
|
# For changes in the site, but not markdown files
|
||||||
|
🌍 site:
|
||||||
|
- 'docs/**'
|
||||||
|
|
||||||
|
# For changes in the metadata
|
||||||
|
🫧 metadata:
|
||||||
|
- 'icons/*.json'
|
||||||
|
- categories/*
|
||||||
|
|
||||||
|
# For changes or added icons
|
||||||
|
🎨 icon:
|
||||||
|
- 'icons/*.svg'
|
||||||
|
|
||||||
|
# For changes in the lucide package
|
||||||
|
🧳 lucide package:
|
||||||
|
- 'packages/lucide/*'
|
||||||
|
|
||||||
|
# For changes in the lucide React package
|
||||||
|
⚛️ react package:
|
||||||
|
- 'packages/lucide-react/*'
|
||||||
|
|
||||||
|
# For changes in the lucide React Native package
|
||||||
|
⚛️ react native package:
|
||||||
|
- 'packages/lucide-react-native/*'
|
||||||
|
|
||||||
|
# For changes in the lucide vue packages
|
||||||
|
💎 vue package:
|
||||||
|
- 'packages/lucide-vue/*'
|
||||||
|
- 'packages/lucide-vue-next/*'
|
||||||
|
|
||||||
|
# For changes in the lucide angular package
|
||||||
|
🅰️ angular package:
|
||||||
|
- 'packages/lucide-angular/*'
|
||||||
|
|
||||||
|
# For changes in the lucide preact package
|
||||||
|
⚛️ preact package:
|
||||||
|
- 'packages/lucide-preact/*'
|
||||||
|
|
||||||
|
# For changes in the lucide svelte package
|
||||||
|
🧣 svelte package:
|
||||||
|
- 'packages/lucide-svelte/*'
|
||||||
|
|
||||||
|
# For changes in the lucide solid package
|
||||||
|
🪝 solid package:
|
||||||
|
- 'packages/lucide-solid/*'
|
||||||
|
|
||||||
|
# For changes in the lucide static package
|
||||||
|
🪨 static package:
|
||||||
|
- 'packages/lucide-static/*'
|
||||||
|
|
||||||
|
# For changes in the lucide flutter package
|
||||||
|
🏹 flutter package:
|
||||||
|
- 'packages/lucide-flutter/*'
|
||||||
19
.github/workflows/ci.yml
vendored
@@ -29,12 +29,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
@@ -47,7 +47,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Get latest tag
|
- name: Get latest tag
|
||||||
id: latest-tag
|
id: latest-tag
|
||||||
run: echo "::set-output name=LATEST_TAG::$(git describe --tags `git rev-list --tags --max-count=1`)"
|
run: echo "LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install
|
run: pnpm install
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Create new version
|
- name: Create new version
|
||||||
id: new-version
|
id: new-version
|
||||||
run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --minor)"
|
run: echo "NEW_VERSION=$(.github/workflows/version-up.sh --minor)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Create change log
|
- name: Create change log
|
||||||
id: change-log
|
id: change-log
|
||||||
@@ -67,7 +67,7 @@ jobs:
|
|||||||
CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}"
|
CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}"
|
||||||
CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}"
|
CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}"
|
||||||
echo $CHANGE_LOG
|
echo $CHANGE_LOG
|
||||||
echo "::set-output name=CHANGE_LOG::$CHANGE_LOG"
|
echo "CHANGE_LOG=$CHANGE_LOG" >> $GITHUB_OUTPUT
|
||||||
env:
|
env:
|
||||||
GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -76,11 +76,14 @@ jobs:
|
|||||||
echo '${{ steps.new-version.outputs.NEW_VERSION }}'
|
echo '${{ steps.new-version.outputs.NEW_VERSION }}'
|
||||||
echo '${{ steps.change-log.outputs.CHANGE_LOG }}'
|
echo '${{ steps.change-log.outputs.CHANGE_LOG }}'
|
||||||
|
|
||||||
- name: Release
|
- name: Create Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }}
|
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ steps.new-version.outputs.NEW_VERSION }}
|
tag_name: ${{ steps.new-version.outputs.NEW_VERSION }}
|
||||||
name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
|
name: New icons ${{ steps.new-version.outputs.NEW_VERSION }}
|
||||||
body: ${{ steps.change-log.outputs.CHANGE_LOG }}
|
body: ${{ steps.change-log.outputs.CHANGE_LOG }}
|
||||||
|
|
||||||
|
- name: Release packages
|
||||||
|
uses: './release.yml'
|
||||||
|
with:
|
||||||
|
version: ${{ steps.new-version.outputs.NEW_VERSION }}
|
||||||
|
|||||||
12
.github/workflows/labeler.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
name: "Pull Request Labeler"
|
||||||
|
on:
|
||||||
|
- pull_request_target
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
triage:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: write
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/labeler@v4
|
||||||
4
.github/workflows/lucide-angular.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
8
.github/workflows/lucide-font.yml
vendored
@@ -26,15 +26,15 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-lucide-font-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-lucide-font-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --filter outline-svg
|
run: pnpm install --filter outline-svg
|
||||||
|
|||||||
4
.github/workflows/lucide-preact.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-react-native.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-react.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-solid.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-static.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-svelte.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-vue-next.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide-vue.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
4
.github/workflows/lucide.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|||||||
559
.github/workflows/release.yml
vendored
@@ -12,8 +12,8 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-build:
|
pre-release:
|
||||||
if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey", "karsa-mistmere"]', github.actor)
|
if: github.repository == 'lucide-icons/lucide' && contains('["ericfennis", "karsa-mistmere"]', github.actor)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
||||||
@@ -23,19 +23,32 @@ jobs:
|
|||||||
id: get_version
|
id: get_version
|
||||||
run: |
|
run: |
|
||||||
echo $VERSION_REF
|
echo $VERSION_REF
|
||||||
echo ::set-output name=VERSION::${VERSION_REF/refs\/tags\/\v}
|
echo "VERSION=${VERSION_REF/refs\/tags\/\v}" >> $GITHUB_OUTPUT
|
||||||
env:
|
env:
|
||||||
VERSION_REF: ${{ github.event.inputs.version || github.ref }}
|
VERSION_REF: ${{ github.event.inputs.version || github.ref }}
|
||||||
|
|
||||||
lucide:
|
release:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-release
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
package: [
|
||||||
|
'lucide',
|
||||||
|
'lucide-react',
|
||||||
|
'lucide-react-native',
|
||||||
|
'lucide-vue',
|
||||||
|
'lucide-vue-next',
|
||||||
|
'lucide-angular',
|
||||||
|
'lucide-preact',
|
||||||
|
'lucide-solid',
|
||||||
|
'lucide-svelte',
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 18
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
- uses: pnpm/action-setup@v2.0.1
|
||||||
name: Install pnpm
|
name: Install pnpm
|
||||||
@@ -47,484 +60,38 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install
|
run: pnpm install --frozen-lockfile
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Set new version
|
- name: Set new version
|
||||||
run: pnpm --filter lucide version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
run: pnpm --filter ${{ matrix.package }} version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: pnpm --filter lucide build
|
run: pnpm --filter ${{ matrix.package }} build
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: pnpm --filter lucide test
|
run: pnpm --filter ${{ matrix.package }} test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: pnpm --filter lucide publish --no-git-checks
|
run: pnpm --filter ${{ matrix.package }} publish --no-git-checks --ignore-scripts
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-package-json
|
|
||||||
path: packages/lucide/package.json
|
|
||||||
|
|
||||||
lucide-react:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-react version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-react build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-react test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-react publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-react-package-json
|
|
||||||
path: packages/lucide-react/package.json
|
|
||||||
|
|
||||||
lucide-react-native:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-react-native version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-react-native build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-react-native test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-react-native publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-react-native-package-json
|
|
||||||
path: packages/lucide-react-native/package.json
|
|
||||||
|
|
||||||
lucide-vue:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set new version
|
|
||||||
run: pnpm --filter lucide-vue version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-vue build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-vue test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-vue publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-vue-package-json
|
|
||||||
path: packages/lucide-vue/package.json
|
|
||||||
|
|
||||||
lucide-vue-next:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set new version
|
|
||||||
run: pnpm --filter lucide-vue-next version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-vue-next build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-vue-next test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-vue-next publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-vue-next-package-json
|
|
||||||
path: packages/lucide-vue-next/package.json
|
|
||||||
|
|
||||||
lucide-angular:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-angular build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-angular test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-angular publish --no-git-checks --ignore-scripts
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-angular-package-json
|
|
||||||
path: packages/lucide-angular/package.json
|
|
||||||
|
|
||||||
lucide-preact:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-preact version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-preact build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-preact test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-preact publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-preact-package-json
|
|
||||||
path: packages/lucide-preact/package.json
|
|
||||||
|
|
||||||
lucide-solid:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-solid version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-solid build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-solid test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-solid publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-solid-package-json
|
|
||||||
path: packages/lucide-solid/package.json
|
|
||||||
|
|
||||||
lucide-svelte:
|
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre-build
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2.0.1
|
|
||||||
name: Install pnpm
|
|
||||||
id: pnpm-install
|
|
||||||
with:
|
|
||||||
version: 7
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Get pnpm store directory
|
|
||||||
id: pnpm-cache
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
name: Setup pnpm cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pnpm-store-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Set Auth Token
|
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set package.json version lucide
|
|
||||||
run: pnpm --filter lucide-svelte version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm --filter lucide-svelte build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: pnpm --filter lucide-svelte test
|
|
||||||
|
|
||||||
- name: Publish
|
|
||||||
run: pnpm --filter lucide-svelte publish --no-git-checks
|
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-svelte-package-json
|
|
||||||
path: packages/lucide-svelte/package.json
|
|
||||||
|
|
||||||
lucide-static:
|
lucide-static:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [pre-build, lucide-font]
|
needs: [pre-release, lucide-font]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
@@ -543,18 +110,18 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install
|
run: pnpm install --frozen-lockfile
|
||||||
|
|
||||||
- name: Set Auth Token
|
- name: Set Auth Token
|
||||||
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
|
||||||
@@ -571,16 +138,10 @@ jobs:
|
|||||||
- name: Publish
|
- name: Publish
|
||||||
run: pnpm --filter lucide-static publish --no-git-checks
|
run: pnpm --filter lucide-static publish --no-git-checks
|
||||||
|
|
||||||
- name: Upload package.json
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: lucide-static-package-json
|
|
||||||
path: packages/lucide-static/package.json
|
|
||||||
|
|
||||||
lucide-font:
|
lucide-font:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre-build
|
needs: pre-release
|
||||||
container: ericfennis/lucide-font:latest
|
container: ericfennis/lucide-font:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@@ -598,12 +159,12 @@ jobs:
|
|||||||
- name: Get pnpm store directory
|
- name: Get pnpm store directory
|
||||||
id: pnpm-cache
|
id: pnpm-cache
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
|
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v3
|
||||||
name: Setup pnpm cache
|
name: Setup pnpm cache
|
||||||
with:
|
with:
|
||||||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
|
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pnpm-store-
|
${{ runner.os }}-pnpm-store-
|
||||||
@@ -629,7 +190,7 @@ jobs:
|
|||||||
lucide-flutter:
|
lucide-flutter:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [pre-build, lucide-font]
|
needs: [pre-release, lucide-font]
|
||||||
container:
|
container:
|
||||||
image: cirrusci/flutter:latest
|
image: cirrusci/flutter:latest
|
||||||
steps:
|
steps:
|
||||||
@@ -691,65 +252,25 @@ jobs:
|
|||||||
run: flutter pub publish -f
|
run: flutter pub publish -f
|
||||||
working-directory: packages/lucide-flutter
|
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:
|
post-release:
|
||||||
if: github.repository == 'lucide-icons/lucide'
|
if: github.repository == 'lucide-icons/lucide'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs: [
|
||||||
[
|
|
||||||
pre-build,
|
|
||||||
lucide,
|
|
||||||
lucide-react,
|
|
||||||
lucide-react-native,
|
|
||||||
lucide-vue,
|
|
||||||
lucide-vue-next,
|
|
||||||
lucide-angular,
|
|
||||||
lucide-svelte,
|
|
||||||
lucide-preact,
|
|
||||||
lucide-flutter,
|
|
||||||
lucide-font,
|
lucide-font,
|
||||||
]
|
]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v2
|
||||||
|
|
||||||
- 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-react-native-package-json/package.json packages/lucide-react-native/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-svelte-package-json/package.json packages/lucide-svelte/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 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:main
|
|
||||||
|
|
||||||
- name: Zip font and icons
|
- name: Zip font and icons
|
||||||
run: |
|
run: |
|
||||||
zip -r lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip lucide-font
|
zip -r lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip lucide-font
|
||||||
zip -r lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip icons
|
zip -r lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip icons
|
||||||
|
|
||||||
- name: Release zip and fonts
|
- name: Release zip and fonts
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }}
|
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ needs.pre-build.outputs.VERSION }}
|
tag_name: v${{ needs.pre-release.outputs.VERSION }}
|
||||||
files: |
|
files: |
|
||||||
lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip
|
lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip
|
||||||
lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip
|
lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip
|
||||||
|
|||||||
95
.vscode/svg.code-snippets
vendored
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"Lucide SVG": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "Base SVG with Lucide attributes.",
|
||||||
|
"prefix": [
|
||||||
|
"svg",
|
||||||
|
"lucide"
|
||||||
|
],
|
||||||
|
"body": [
|
||||||
|
"<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\"",
|
||||||
|
">",
|
||||||
|
" $0",
|
||||||
|
"</svg>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Rectangle": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG `rect`angle, with Lucide defaults.",
|
||||||
|
"prefix": [
|
||||||
|
"rect",
|
||||||
|
"<rect"
|
||||||
|
],
|
||||||
|
"body": "<rect width=\"${1:20}\" height=\"${2:12}\" x=\"${3:2}\" y=\"${4:6}\" rx=\"${5|2,1|}\"/>"
|
||||||
|
},
|
||||||
|
"Square": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG square `rect`angle, with Lucide defaults.",
|
||||||
|
"prefix": [
|
||||||
|
"square",
|
||||||
|
"rect",
|
||||||
|
"<rect",
|
||||||
|
"tile"
|
||||||
|
],
|
||||||
|
"body": "<rect width=\"${1:18}\" height=\"$1\" x=\"${2:3}\" y=\"${3:$2}\" rx=\"${4|2,1|}\" />"
|
||||||
|
},
|
||||||
|
"Circle": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG `circle`, with Lucide defaults.",
|
||||||
|
"prefix": [
|
||||||
|
"circle",
|
||||||
|
"<circle"
|
||||||
|
],
|
||||||
|
"body": "<circle cx=\"${2:12}\" cy=\"${3:$2}\" r=\"${1|10,2,.5|}\" />"
|
||||||
|
},
|
||||||
|
"Ellipse": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG `ellipse`.",
|
||||||
|
"prefix": [
|
||||||
|
"ellipse",
|
||||||
|
"<ellipse"
|
||||||
|
],
|
||||||
|
"body": "<ellipse cx=\"${3:12}\" cy=\"${4:$3}\" rx=\"${1:10}\" ry=\"${2:$1}\" />"
|
||||||
|
},
|
||||||
|
"Path": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG custom `path`.",
|
||||||
|
"prefix": [
|
||||||
|
"path",
|
||||||
|
"<path",
|
||||||
|
"polyline",
|
||||||
|
"<polyline",
|
||||||
|
"polygon",
|
||||||
|
"<polygon"
|
||||||
|
],
|
||||||
|
"body": "<path d=\"${1|M,m|}$0\" />"
|
||||||
|
},
|
||||||
|
"Line": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG `path`, preffered to `line` in Lucide.",
|
||||||
|
"prefix": [
|
||||||
|
"line",
|
||||||
|
"<line",
|
||||||
|
"minus"
|
||||||
|
],
|
||||||
|
"body": "<path d=\"M${3:5} ${4:12}${1|h,v|}${2:14}\" />"
|
||||||
|
},
|
||||||
|
"Dot": {
|
||||||
|
"scope": "xml",
|
||||||
|
"description": "SVG small dot, within the Lucide guidelines.",
|
||||||
|
"prefix": [
|
||||||
|
"dot",
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"body": "<path d=\"M ${1:12} ${2:$1}h.01\" />"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -166,8 +166,8 @@ For more details, see the [documentation](https://github.com/lucide-icons/lucide
|
|||||||
### Static (svg sprite, font, icons ..)
|
### Static (svg sprite, font, icons ..)
|
||||||
|
|
||||||
Assets:
|
Assets:
|
||||||
[Font Files](https://github.com/lucide-icons/lucide/releases/tag/latest)
|
[Font Files](https://github.com/lucide-icons/lucide/releases/latest)
|
||||||
[SVG Files](https://github.com/lucide-icons/lucide/releases/tag/latest)
|
[SVG Files](https://github.com/lucide-icons/lucide/releases/latest)
|
||||||
[SVG Sprite](https://cdn.jsdelivr.net/npm/lucide-static@latest/sprite.svg)
|
[SVG Sprite](https://cdn.jsdelivr.net/npm/lucide-static@latest/sprite.svg)
|
||||||
|
|
||||||
NPM package
|
NPM package
|
||||||
|
|||||||
55
docs/.vitepress/theme/components/base/Tooltip.vue
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import {onMounted, ref} from 'vue';
|
||||||
|
import {useFloating, offset, shift} from '@floating-ui/vue';
|
||||||
|
|
||||||
|
const reference = ref(null);
|
||||||
|
const tooltip = ref(null);
|
||||||
|
const middleware = ref([shift(), offset(8)]);
|
||||||
|
const { floatingStyles, update } = useFloating(reference, tooltip, {
|
||||||
|
middleware,
|
||||||
|
transform: false
|
||||||
|
});
|
||||||
|
|
||||||
|
defineProps<{
|
||||||
|
title: string
|
||||||
|
}>()
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
update()
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<span ref="reference" class="reference">
|
||||||
|
<slot/>
|
||||||
|
</span>
|
||||||
|
<div ref="tooltip" class="tooltip" :style="floatingStyles">
|
||||||
|
{{title}}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.reference:hover + .tooltip{
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip {
|
||||||
|
display: block;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 20px;
|
||||||
|
transform: scale(0.9);
|
||||||
|
font-weight: 400;
|
||||||
|
background: var(--vp-c-brand-dark);
|
||||||
|
color: white;
|
||||||
|
z-index: 10;
|
||||||
|
white-space: nowrap;
|
||||||
|
padding: 2px 8px;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: var(--vp-shadow-1);
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
transition: cubic-bezier(0.19, 1, 0.22, 1) .2s;
|
||||||
|
transition-property: opacity, transform;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,19 +3,9 @@ import { ref } from 'vue';
|
|||||||
import ButtonMenu from '../base/ButtonMenu.vue'
|
import ButtonMenu from '../base/ButtonMenu.vue'
|
||||||
import { useIconStyleContext } from '../../composables/useIconStyle';
|
import { useIconStyleContext } from '../../composables/useIconStyle';
|
||||||
import useConfetti from '../../composables/useConfetti';
|
import useConfetti from '../../composables/useConfetti';
|
||||||
|
import getSVGIcon from '../../utils/getSVGIcon';
|
||||||
|
import downloadData from '../../utils/downloadData';
|
||||||
|
|
||||||
const allowedAttrs = [
|
|
||||||
'xmlns',
|
|
||||||
'width',
|
|
||||||
'height',
|
|
||||||
'viewBox',
|
|
||||||
'fill',
|
|
||||||
'stroke',
|
|
||||||
'stroke-width',
|
|
||||||
'stroke-linecap',
|
|
||||||
'stroke-linejoin',
|
|
||||||
'class',
|
|
||||||
]
|
|
||||||
const downloadText = 'Download!'
|
const downloadText = 'Download!'
|
||||||
const copiedText = 'Copied!'
|
const copiedText = 'Copied!'
|
||||||
const confettiText = ref(copiedText)
|
const confettiText = ref(copiedText)
|
||||||
@@ -28,24 +18,6 @@ const { size } = useIconStyleContext()
|
|||||||
|
|
||||||
const { animate, confetti } = useConfetti()
|
const { animate, confetti } = useConfetti()
|
||||||
|
|
||||||
function getSVGIcon() {
|
|
||||||
const svg = document.querySelector('#previewer svg')
|
|
||||||
if (!svg) return
|
|
||||||
|
|
||||||
const clonedSvg = svg.cloneNode(true) as SVGElement
|
|
||||||
|
|
||||||
// Filter out attributes that are not allowed in SVGs
|
|
||||||
for (const attr of Array.from(clonedSvg.attributes)) {
|
|
||||||
if (!allowedAttrs.includes(attr.name)) {
|
|
||||||
clonedSvg.removeAttribute(attr.name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const svgString = new XMLSerializer().serializeToString(clonedSvg)
|
|
||||||
|
|
||||||
return svgString
|
|
||||||
}
|
|
||||||
|
|
||||||
function copySVG() {
|
function copySVG() {
|
||||||
confettiText.value = copiedText
|
confettiText.value = copiedText
|
||||||
const svgString = getSVGIcon()
|
const svgString = getSVGIcon()
|
||||||
@@ -70,11 +42,7 @@ function downloadSVG() {
|
|||||||
confettiText.value = downloadText
|
confettiText.value = downloadText
|
||||||
const svgString = getSVGIcon()
|
const svgString = getSVGIcon()
|
||||||
|
|
||||||
const link = document.createElement('a');
|
downloadData(`${props.name}.svg`, `data:image/svg+xml;base64,${btoa(svgString)}`)
|
||||||
link.download = `${props.name}.svg`;
|
|
||||||
link.href = `data:image/svg+xml;base64,${btoa(svgString)}`
|
|
||||||
link.click();
|
|
||||||
|
|
||||||
confetti()
|
confetti()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,12 +59,7 @@ function downloadPNG() {
|
|||||||
image.src = `data:image/svg+xml;base64,${btoa(svgString)}`;
|
image.src = `data:image/svg+xml;base64,${btoa(svgString)}`;
|
||||||
image.onload = function() {
|
image.onload = function() {
|
||||||
ctx.drawImage(image, 0, 0);
|
ctx.drawImage(image, 0, 0);
|
||||||
|
downloadData(`${props.name}.png`, canvas.toDataURL('image/png'))
|
||||||
const link = document.createElement('a');
|
|
||||||
link.download = `${props.name}.png`;
|
|
||||||
link.href = canvas.toDataURL('image/png')
|
|
||||||
link.click();
|
|
||||||
|
|
||||||
confetti()
|
confetti()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,5 +43,6 @@ function setActiveIcon(name: string) {
|
|||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
aspect-ratio: 1/1;
|
aspect-ratio: 1/1;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2,13 +2,17 @@
|
|||||||
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon';
|
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon';
|
||||||
import { useMediaQuery } from '@vueuse/core';
|
import { useMediaQuery } from '@vueuse/core';
|
||||||
import { useRouter } from 'vitepress';
|
import { useRouter } from 'vitepress';
|
||||||
|
import getSVGIcon from '../../utils/getSVGIcon';
|
||||||
|
import useConfetti from '../../composables/useConfetti';
|
||||||
|
import Tooltip from '../base/Tooltip.vue';
|
||||||
|
|
||||||
|
const downloadText = 'Download!'
|
||||||
|
const copiedText = 'Copied!'
|
||||||
|
|
||||||
export type IconNode = [elementName: string, attrs: Record<string, string>][]
|
export type IconNode = [elementName: string, attrs: Record<string, string>][]
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
name: string;
|
name: string;
|
||||||
// tags: string[];
|
|
||||||
// categories: string[];
|
|
||||||
iconNode: IconNode;
|
iconNode: IconNode;
|
||||||
active: boolean;
|
active: boolean;
|
||||||
customizable?: boolean;
|
customizable?: boolean;
|
||||||
@@ -20,40 +24,65 @@ const emit = defineEmits(['setActiveIcon'])
|
|||||||
|
|
||||||
const { go } = useRouter()
|
const { go } = useRouter()
|
||||||
const showOverlay = useMediaQuery('(min-width: 860px)');
|
const showOverlay = useMediaQuery('(min-width: 860px)');
|
||||||
|
const { animate, confetti, confettiText } = useConfetti()
|
||||||
|
|
||||||
|
|
||||||
const icon = createLucideIcon(props.name, props.iconNode)
|
const icon = createLucideIcon(props.name, props.iconNode)
|
||||||
|
|
||||||
function navigateToIcon() {
|
async function navigateToIcon(event) {
|
||||||
|
|
||||||
|
if (event.shiftKey) {
|
||||||
|
event.preventDefault()
|
||||||
|
const svgString = getSVGIcon(event.target.firstChild, {
|
||||||
|
class: `lucide lucide-${props.name}`,
|
||||||
|
})
|
||||||
|
|
||||||
|
await navigator.clipboard.writeText(svgString)
|
||||||
|
|
||||||
|
confettiText.value = copiedText
|
||||||
|
confetti()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if(props.overlayMode && showOverlay.value) {
|
if(props.overlayMode && showOverlay.value) {
|
||||||
|
event.preventDefault()
|
||||||
window.history.pushState({}, '', `/icons/${props.name}`)
|
window.history.pushState({}, '', `/icons/${props.name}`)
|
||||||
emit('setActiveIcon', props.name)
|
emit('setActiveIcon', props.name)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
event.preventDefault()
|
||||||
go(`/icons/${props.name}`)
|
go(`/icons/${props.name}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<button
|
<Tooltip :title="name">
|
||||||
class="icon-button"
|
<a
|
||||||
|
class="icon-button confetti-button vp-raw"
|
||||||
@click="navigateToIcon"
|
@click="navigateToIcon"
|
||||||
:class="{ 'active' : active }"
|
:class="{ active, animate }"
|
||||||
:data-title="name"
|
|
||||||
:aria-label="name"
|
:aria-label="name"
|
||||||
:href="`/icons/${props.name}`"
|
:href="`/icons/${props.name}`"
|
||||||
|
:data-confetti-text="confettiText"
|
||||||
|
ref="ref"
|
||||||
>
|
>
|
||||||
<KeepAlive>
|
<KeepAlive>
|
||||||
<component
|
<component
|
||||||
v-if="!hideIcon"
|
v-if="!hideIcon"
|
||||||
:is="icon"
|
:is="icon"
|
||||||
class="lucide-icon"
|
class="lucide-icon"
|
||||||
:class="{ customizable }"
|
:class="{
|
||||||
|
customizable,
|
||||||
|
}"
|
||||||
/>
|
/>
|
||||||
</KeepAlive>
|
</KeepAlive>
|
||||||
</button>
|
</a>
|
||||||
|
</Tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style src="./confetti.css" />
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.icon-button {
|
.icon-button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -72,35 +101,13 @@ function navigateToIcon() {
|
|||||||
color: var(--vp-c-text-1);
|
color: var(--vp-c-text-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-button:hover:before {
|
.confetti-button:before,
|
||||||
opacity: 1;
|
.confetti-button:after {
|
||||||
transform: translate(-50%, 48px) scale(1);
|
z-index: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-button:before {
|
.confetti-button:before {
|
||||||
content: attr(data-title);
|
line-height: 80px;
|
||||||
display: block;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 20px;
|
|
||||||
margin-left: 27px;
|
|
||||||
transform: translate(-50%, 48px) scale(0.9);
|
|
||||||
font-weight: 400;
|
|
||||||
position: absolute;
|
|
||||||
background: var(--vp-c-brand-dark);
|
|
||||||
color: white;
|
|
||||||
z-index: 10;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding: 2px 8px;
|
|
||||||
border-radius: 4px;
|
|
||||||
box-shadow: var(--vp-shadow-1);
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
transition: cubic-bezier(0.19, 1, 0.22, 1) .2s;
|
|
||||||
transition-property: opacity, transform;
|
|
||||||
/* max-width: calc((32px * 2) + 56px); */
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
word-break: break-word;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-button:active {
|
.icon-button:active {
|
||||||
@@ -139,6 +146,7 @@ function navigateToIcon() {
|
|||||||
|
|
||||||
.lucide-icon {
|
.lucide-icon {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.lucide-icon.customizable {
|
.lucide-icon.customizable {
|
||||||
will-change: width, height, stroke-width, stroke;
|
will-change: width, height, stroke-width, stroke;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { ref } from "vue";
|
|||||||
|
|
||||||
export default function useConfetti() {
|
export default function useConfetti() {
|
||||||
const animate = ref(false)
|
const animate = ref(false)
|
||||||
|
const confettiText = ref('confetti!')
|
||||||
|
|
||||||
function confetti() {
|
function confetti() {
|
||||||
animate.value = true;
|
animate.value = true;
|
||||||
@@ -13,6 +14,7 @@ export default function useConfetti() {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
animate,
|
animate,
|
||||||
confetti
|
confetti,
|
||||||
|
confettiText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
docs/.vitepress/theme/utils/downloadData.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export default function downloadData(filename:string, data:string) {
|
||||||
|
const link = document.createElement('a');
|
||||||
|
link.download = filename;
|
||||||
|
link.href = data
|
||||||
|
link.click();
|
||||||
|
}
|
||||||
34
docs/.vitepress/theme/utils/getSVGIcon.ts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
const allowedAttrs = [
|
||||||
|
'xmlns',
|
||||||
|
'width',
|
||||||
|
'height',
|
||||||
|
'viewBox',
|
||||||
|
'fill',
|
||||||
|
'stroke',
|
||||||
|
'stroke-width',
|
||||||
|
'stroke-linecap',
|
||||||
|
'stroke-linejoin',
|
||||||
|
'class',
|
||||||
|
]
|
||||||
|
|
||||||
|
export default function getSVGIcon(element?: HTMLElement, attrs?: Record<string, string>) {
|
||||||
|
const svg = element ?? document.querySelector('#previewer svg')
|
||||||
|
if (!svg) return
|
||||||
|
|
||||||
|
const clonedSvg = svg.cloneNode(true) as SVGElement
|
||||||
|
|
||||||
|
// Filter out attributes that are not allowed in SVGs
|
||||||
|
for (const attr of Array.from(clonedSvg.attributes)) {
|
||||||
|
if (!allowedAttrs.includes(attr.name)) {
|
||||||
|
clonedSvg.removeAttribute(attr.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const [key, value] of Object.entries(attrs ?? {})) {
|
||||||
|
clonedSvg.setAttribute(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
const svgString = new XMLSerializer().serializeToString(clonedSvg)
|
||||||
|
|
||||||
|
return svgString
|
||||||
|
}
|
||||||
@@ -89,7 +89,7 @@ export default Icon;
|
|||||||
import Icon from './Icon';
|
import Icon from './Icon';
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <Icon name="home" />;
|
return <Icon name="Home" />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
"vitepress": "1.0.0-beta.1"
|
"vitepress": "1.0.0-beta.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@floating-ui/vue": "^1.0.1",
|
||||||
"@headlessui/vue": "^1.7.13",
|
"@headlessui/vue": "^1.7.13",
|
||||||
"@vueuse/components": "^10.1.0",
|
"@vueuse/components": "^10.1.0",
|
||||||
"@vueuse/core": "^10.1.0",
|
"@vueuse/core": "^10.1.0",
|
||||||
|
|||||||
15
icons/area-chart.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"nstokoe"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"statistics",
|
||||||
|
"diagram",
|
||||||
|
"graph",
|
||||||
|
"area"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"charts"
|
||||||
|
]
|
||||||
|
}
|
||||||
14
icons/area-chart.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 3v18h18" />
|
||||||
|
<path d="M7 12v5h12V8l-5 5-4-4Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 272 B |
23
icons/arrows-up-from-line.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley",
|
||||||
|
"ericfennis"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"direction",
|
||||||
|
"orientation",
|
||||||
|
"this way up",
|
||||||
|
"vertical",
|
||||||
|
"package",
|
||||||
|
"box",
|
||||||
|
"fragile",
|
||||||
|
"postage",
|
||||||
|
"shipping"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"arrows",
|
||||||
|
"transportation",
|
||||||
|
"mail"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/arrows-up-from-line.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="m4 6 3-3 3 3" />
|
||||||
|
<path d="M7 17V3" />
|
||||||
|
<path d="m14 6 3-3 3 3" />
|
||||||
|
<path d="M17 17V3" />
|
||||||
|
<path d="M4 21h16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 336 B |
@@ -11,7 +11,8 @@
|
|||||||
"square",
|
"square",
|
||||||
"rectangular",
|
"rectangular",
|
||||||
"marquee",
|
"marquee",
|
||||||
"tool"
|
"tool",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text",
|
"text",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
"calculating machine"
|
"calculating machine"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"maths"
|
"maths",
|
||||||
|
"devices"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
19
icons/container.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"storage",
|
||||||
|
"shipping",
|
||||||
|
"freight",
|
||||||
|
"supply chain",
|
||||||
|
"docker",
|
||||||
|
"environment",
|
||||||
|
"devops",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"development",
|
||||||
|
"transportation",
|
||||||
|
"mail"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/container.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="M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z" />
|
||||||
|
<path d="M10 21.9V14L2.1 9.1" />
|
||||||
|
<path d="m10 14 11.9-6.9" />
|
||||||
|
<path d="M14 19.8v-8.1" />
|
||||||
|
<path d="M18 17.5V9.4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 506 B |
@@ -7,7 +7,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"reflect",
|
"reflect",
|
||||||
"mirror",
|
"mirror",
|
||||||
"alignment"
|
"alignment",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"design",
|
"design",
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"reflect",
|
"reflect",
|
||||||
"mirror",
|
"mirror",
|
||||||
"alignment"
|
"alignment",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"design",
|
"design",
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"reflect",
|
"reflect",
|
||||||
"mirror",
|
"mirror",
|
||||||
"alignment"
|
"alignment",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"design",
|
"design",
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"reflect",
|
"reflect",
|
||||||
"mirror",
|
"mirror",
|
||||||
"alignment"
|
"alignment",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"design",
|
"design",
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"camera",
|
"camera",
|
||||||
"lens",
|
"lens",
|
||||||
"photo"
|
"photo",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"photography"
|
"photography"
|
||||||
|
|||||||
@@ -1,11 +1,31 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
|
"projects",
|
||||||
|
"manage",
|
||||||
|
"overview",
|
||||||
|
"board",
|
||||||
|
"tickets",
|
||||||
|
"issues",
|
||||||
|
"roadmap",
|
||||||
|
"plan",
|
||||||
|
"intentions",
|
||||||
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
|
"code",
|
||||||
|
"coding",
|
||||||
"directory",
|
"directory",
|
||||||
"project",
|
"project",
|
||||||
"root"
|
"root"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
|
"charts",
|
||||||
|
"development",
|
||||||
|
"design",
|
||||||
"files"
|
"files"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
27
icons/gallery-horizontal-end.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"carousel",
|
||||||
|
"pictures",
|
||||||
|
"images",
|
||||||
|
"scroll",
|
||||||
|
"swipe",
|
||||||
|
"album",
|
||||||
|
"portfolio",
|
||||||
|
"history",
|
||||||
|
"versions",
|
||||||
|
"backup",
|
||||||
|
"time machine"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"development",
|
||||||
|
"photography",
|
||||||
|
"multimedia",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/gallery-horizontal-end.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M2 7v10" />
|
||||||
|
<path d="M6 5v14" />
|
||||||
|
<rect width="12" height="18" x="10" y="3" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 308 B |
22
icons/gallery-horizontal.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"carousel",
|
||||||
|
"pictures",
|
||||||
|
"images",
|
||||||
|
"scroll",
|
||||||
|
"swipe",
|
||||||
|
"album",
|
||||||
|
"portfolio"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"development",
|
||||||
|
"photography",
|
||||||
|
"multimedia"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/gallery-horizontal.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M2 3v18" />
|
||||||
|
<rect width="12" height="18" x="6" y="3" rx="2" />
|
||||||
|
<path d="M22 3v18" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 308 B |
21
icons/gallery-thumbnails.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"carousel",
|
||||||
|
"pictures",
|
||||||
|
"images",
|
||||||
|
"album",
|
||||||
|
"portfolio",
|
||||||
|
"preview"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"development",
|
||||||
|
"photography",
|
||||||
|
"multimedia"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/gallery-thumbnails.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"
|
||||||
|
>
|
||||||
|
<rect width="18" height="14" x="3" y="3" rx="2" />
|
||||||
|
<path d="M4 21h1" />
|
||||||
|
<path d="M9 21h1" />
|
||||||
|
<path d="M14 21h1" />
|
||||||
|
<path d="M19 21h1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 355 B |
27
icons/gallery-vertical-end.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"carousel",
|
||||||
|
"pictures",
|
||||||
|
"images",
|
||||||
|
"scroll",
|
||||||
|
"swipe",
|
||||||
|
"album",
|
||||||
|
"portfolio",
|
||||||
|
"history",
|
||||||
|
"versions",
|
||||||
|
"backup",
|
||||||
|
"time machine"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"development",
|
||||||
|
"photography",
|
||||||
|
"multimedia",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/gallery-vertical-end.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M7 2h10" />
|
||||||
|
<path d="M5 6h14" />
|
||||||
|
<rect width="18" height="12" x="3" y="10" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 308 B |
22
icons/gallery-vertical.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"carousel",
|
||||||
|
"pictures",
|
||||||
|
"images",
|
||||||
|
"scroll",
|
||||||
|
"swipe",
|
||||||
|
"album",
|
||||||
|
"portfolio"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"layout",
|
||||||
|
"design",
|
||||||
|
"development",
|
||||||
|
"photography",
|
||||||
|
"multimedia"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/gallery-vertical.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M3 2h18" />
|
||||||
|
<rect width="18" height="12" x="3" y="6" rx="2" />
|
||||||
|
<path d="M3 22h18" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 308 B |
@@ -1,23 +1,36 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"projects",
|
"projects",
|
||||||
"roadmap",
|
"manage",
|
||||||
"overview",
|
"overview",
|
||||||
"work",
|
"roadmap",
|
||||||
"plan",
|
"plan",
|
||||||
"date",
|
"intentions",
|
||||||
"timeline",
|
"timeline",
|
||||||
|
"deadline",
|
||||||
|
"date",
|
||||||
"event",
|
"event",
|
||||||
"range",
|
"range",
|
||||||
"period",
|
"period",
|
||||||
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
"code",
|
"code",
|
||||||
"intentions"
|
"coding",
|
||||||
|
"toolbar",
|
||||||
|
"button"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"charts",
|
"charts",
|
||||||
"time",
|
"time",
|
||||||
"development",
|
"development",
|
||||||
"design"
|
"design"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"square-gantt"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 330 B |
@@ -1,24 +1,24 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": ["danielbayley"],
|
||||||
"tags": [
|
"tags": [
|
||||||
"projects",
|
"projects",
|
||||||
"roadmap",
|
"manage",
|
||||||
"overview",
|
"overview",
|
||||||
"deadline",
|
"roadmap",
|
||||||
"work",
|
|
||||||
"productivity",
|
|
||||||
"plan",
|
"plan",
|
||||||
"date",
|
"intentions",
|
||||||
"timeline",
|
"timeline",
|
||||||
|
"deadline",
|
||||||
|
"date",
|
||||||
"event",
|
"event",
|
||||||
"range",
|
"range",
|
||||||
"period",
|
"period",
|
||||||
"code"
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": ["charts", "time", "development", "design"]
|
||||||
"charts",
|
|
||||||
"time",
|
|
||||||
"development",
|
|
||||||
"design"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
@@ -6,12 +6,22 @@
|
|||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"diamond",
|
"diamond",
|
||||||
|
"crystal",
|
||||||
|
"ruby",
|
||||||
|
"jewellery",
|
||||||
"price",
|
"price",
|
||||||
"special",
|
"special",
|
||||||
"present"
|
"present",
|
||||||
|
"gift",
|
||||||
|
"ring",
|
||||||
|
"wedding",
|
||||||
|
"proposal",
|
||||||
|
"marriage",
|
||||||
|
"rubygems"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"gaming",
|
"gaming",
|
||||||
"money"
|
"money",
|
||||||
|
"development"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -9,8 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polygon points="6 3 18 3 22 9 12 22 2 9" />
|
<path d="M6 3h12l4 6-10 13L2 9Z" />
|
||||||
<path d="m12 22 4-13-3-6" />
|
<path d="M11 3 8 9l4 13 4-13-3-6" />
|
||||||
<path d="M12 22 8 9l3-6" />
|
|
||||||
<path d="M2 9h20" />
|
<path d="M2 9h20" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 339 B After Width: | Height: | Size: 308 B |
@@ -10,7 +10,8 @@
|
|||||||
"units",
|
"units",
|
||||||
"collection",
|
"collection",
|
||||||
"cluster",
|
"cluster",
|
||||||
"gather"
|
"gather",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"shapes",
|
"shapes",
|
||||||
|
|||||||
33
icons/kanban-square-dashed.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"projects",
|
||||||
|
"manage",
|
||||||
|
"overview",
|
||||||
|
"board",
|
||||||
|
"tickets",
|
||||||
|
"issues",
|
||||||
|
"roadmap",
|
||||||
|
"plan",
|
||||||
|
"intentions",
|
||||||
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
|
"draft",
|
||||||
|
"template",
|
||||||
|
"boilerplate",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"charts",
|
||||||
|
"development",
|
||||||
|
"design"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"square-kanban-dashed"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 600 B After Width: | Height: | Size: 600 B |
32
icons/kanban-square.json
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"projects",
|
||||||
|
"manage",
|
||||||
|
"overview",
|
||||||
|
"board",
|
||||||
|
"tickets",
|
||||||
|
"issues",
|
||||||
|
"roadmap",
|
||||||
|
"plan",
|
||||||
|
"intentions",
|
||||||
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
|
"code",
|
||||||
|
"coding",
|
||||||
|
"toolbar",
|
||||||
|
"button"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"charts",
|
||||||
|
"development",
|
||||||
|
"design"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"square-kanban"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 329 B |
27
icons/kanban.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"projects",
|
||||||
|
"manage",
|
||||||
|
"overview",
|
||||||
|
"board",
|
||||||
|
"tickets",
|
||||||
|
"issues",
|
||||||
|
"roadmap",
|
||||||
|
"plan",
|
||||||
|
"intentions",
|
||||||
|
"productivity",
|
||||||
|
"work",
|
||||||
|
"agile",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"charts",
|
||||||
|
"development",
|
||||||
|
"design"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/kanban.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M6 5v11" />
|
||||||
|
<path d="M12 5v6" />
|
||||||
|
<path d="M18 5v14" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 278 B |
@@ -8,7 +8,8 @@
|
|||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"fullscreen",
|
"fullscreen",
|
||||||
"expand"
|
"expand",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"layout",
|
"layout",
|
||||||
|
|||||||
@@ -11,8 +11,7 @@
|
|||||||
"issue",
|
"issue",
|
||||||
"code",
|
"code",
|
||||||
"coding",
|
"coding",
|
||||||
"version control",
|
"version control"
|
||||||
"dashed"
|
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"arrows",
|
"arrows",
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
"face",
|
"face",
|
||||||
"biometric",
|
"biometric",
|
||||||
"authentication",
|
"authentication",
|
||||||
"2fa"
|
"2fa",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"devices",
|
"devices",
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
"ericfennis"
|
"ericfennis"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"qr-code"
|
"qr-code",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"devices",
|
"devices",
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
"ericfennis"
|
"ericfennis"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"qr-code"
|
"qr-code",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"devices",
|
"devices",
|
||||||
|
|||||||
@@ -8,11 +8,14 @@
|
|||||||
"log",
|
"log",
|
||||||
"scripture",
|
"scripture",
|
||||||
"document",
|
"document",
|
||||||
|
"notes",
|
||||||
"parchment",
|
"parchment",
|
||||||
"list",
|
"list",
|
||||||
"long",
|
"long",
|
||||||
"script",
|
"script",
|
||||||
"code"
|
"story",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"gaming",
|
"gaming",
|
||||||
|
|||||||
@@ -10,11 +10,14 @@
|
|||||||
"log",
|
"log",
|
||||||
"scripture",
|
"scripture",
|
||||||
"document",
|
"document",
|
||||||
|
"notes",
|
||||||
"parchment",
|
"parchment",
|
||||||
"list",
|
"list",
|
||||||
"long",
|
"long",
|
||||||
"script",
|
"script",
|
||||||
"code"
|
"story",
|
||||||
|
"code",
|
||||||
|
"coding"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"gaming",
|
"gaming",
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"tags": [
|
|
||||||
"projects",
|
|
||||||
"overview",
|
|
||||||
"work",
|
|
||||||
"code",
|
|
||||||
"draft",
|
|
||||||
"template",
|
|
||||||
"boilerplate"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"development",
|
|
||||||
"design",
|
|
||||||
"charts"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "../icon.schema.json",
|
|
||||||
"tags": [
|
|
||||||
"projects",
|
|
||||||
"overview",
|
|
||||||
"work",
|
|
||||||
"code"
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"development",
|
|
||||||
"design",
|
|
||||||
"charts"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -6,9 +6,8 @@
|
|||||||
"ericfennis"
|
"ericfennis"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"sheet",
|
"spreadsheet",
|
||||||
"grid",
|
"grid"
|
||||||
"spreadsheet"
|
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text",
|
"text",
|
||||||
|
|||||||
20
icons/table-properties.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"property list",
|
||||||
|
"plist",
|
||||||
|
"spreadsheet",
|
||||||
|
"grid",
|
||||||
|
"dictionary",
|
||||||
|
"object",
|
||||||
|
"hash"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"text",
|
||||||
|
"development",
|
||||||
|
"files"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/table-properties.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M15 3v18" />
|
||||||
|
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||||
|
<path d="M21 9H3" />
|
||||||
|
<path d="M21 15H3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 332 B |
@@ -8,9 +8,8 @@
|
|||||||
"mittalyashu"
|
"mittalyashu"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"sheet",
|
"spreadsheet",
|
||||||
"grid",
|
"grid"
|
||||||
"spreadsheet"
|
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text",
|
"text",
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
|
<path d="M12 3v18" />
|
||||||
<line x1="3" x2="21" y1="9" y2="9" />
|
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||||
<line x1="3" x2="21" y1="15" y2="15" />
|
<path d="M3 9h18" />
|
||||||
<line x1="12" x2="12" y1="3" y2="21" />
|
<path d="M3 15h18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 392 B After Width: | Height: | Size: 332 B |
20
icons/tally-1.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"count",
|
||||||
|
"score",
|
||||||
|
"enumerate",
|
||||||
|
"days",
|
||||||
|
"one",
|
||||||
|
"1",
|
||||||
|
"first",
|
||||||
|
"bar",
|
||||||
|
"prison",
|
||||||
|
"cell",
|
||||||
|
"sentence"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maths",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
13
icons/tally-1.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="M4 4v16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 231 B |
21
icons/tally-2.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"count",
|
||||||
|
"score",
|
||||||
|
"enumerate",
|
||||||
|
"days",
|
||||||
|
"two",
|
||||||
|
"2",
|
||||||
|
"second",
|
||||||
|
"double",
|
||||||
|
"bars",
|
||||||
|
"prison",
|
||||||
|
"cell",
|
||||||
|
"sentence"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maths",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
14
icons/tally-2.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M4 4v16" />
|
||||||
|
<path d="M9 4v16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 254 B |
21
icons/tally-3.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"count",
|
||||||
|
"score",
|
||||||
|
"enumerate",
|
||||||
|
"days",
|
||||||
|
"three",
|
||||||
|
"3",
|
||||||
|
"third",
|
||||||
|
"triple",
|
||||||
|
"bars",
|
||||||
|
"prison",
|
||||||
|
"cell",
|
||||||
|
"sentence"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maths",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
15
icons/tally-3.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M4 4v16" />
|
||||||
|
<path d="M9 4v16" />
|
||||||
|
<path d="M14 4v16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 278 B |
20
icons/tally-4.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"count",
|
||||||
|
"score",
|
||||||
|
"enumerate",
|
||||||
|
"days",
|
||||||
|
"4",
|
||||||
|
"fourth",
|
||||||
|
"quadruple",
|
||||||
|
"bars",
|
||||||
|
"prison",
|
||||||
|
"cell",
|
||||||
|
"sentence"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maths",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/tally-4.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="M4 4v16" />
|
||||||
|
<path d="M9 4v16" />
|
||||||
|
<path d="M14 4v16" />
|
||||||
|
<path d="M19 4v16" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 302 B |
22
icons/tally-5.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"tags": [
|
||||||
|
"count",
|
||||||
|
"score",
|
||||||
|
"enumerate",
|
||||||
|
"days",
|
||||||
|
"five",
|
||||||
|
"5",
|
||||||
|
"fifth",
|
||||||
|
"bars",
|
||||||
|
"prison",
|
||||||
|
"cell",
|
||||||
|
"sentence",
|
||||||
|
"slash",
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"maths",
|
||||||
|
"gaming"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/tally-5.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="M4 4v16" />
|
||||||
|
<path d="M9 4v16" />
|
||||||
|
<path d="M14 4v16" />
|
||||||
|
<path d="M19 4v16" />
|
||||||
|
<path d="M22 6 2 18" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 328 B |
@@ -3,14 +3,17 @@
|
|||||||
"contributors": [
|
"contributors": [
|
||||||
"danielbayley"
|
"danielbayley"
|
||||||
],
|
],
|
||||||
"aliases": ["text-selection"],
|
|
||||||
"tags": [
|
"tags": [
|
||||||
"find",
|
"find",
|
||||||
"search",
|
"search",
|
||||||
"selection"
|
"selection",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text",
|
"text",
|
||||||
"cursors"
|
"cursors"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"text-selection"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,9 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"entry",
|
"entry",
|
||||||
"pass",
|
"pass",
|
||||||
"voucher"
|
"voucher",
|
||||||
|
"perforated",
|
||||||
|
"dashed"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"account",
|
"account",
|
||||||
|
|||||||
10
package.json
@@ -32,20 +32,20 @@
|
|||||||
"gi": "node ./scripts/generate/generateIcons.mjs"
|
"gi": "node ./scripts/generate/generateIcons.mjs"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@octokit/rest": "^19.0.7",
|
"@octokit/rest": "^19.0.13",
|
||||||
"eslint": "^8.36.0",
|
"eslint": "^8.43.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-config-prettier": "^8.8.0",
|
"eslint-config-prettier": "^8.8.0",
|
||||||
"eslint-plugin-import": "^2.27.5",
|
"eslint-plugin-import": "^2.27.5",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^13.2.0",
|
"lint-staged": "^13.2.3",
|
||||||
"minimist": "^1.2.8",
|
"minimist": "^1.2.8",
|
||||||
"node-fetch": "^3.3.1",
|
"node-fetch": "^3.3.1",
|
||||||
"p-memoize": "^7.1.1",
|
"p-memoize": "^7.1.1",
|
||||||
"prettier": "2.7.1",
|
"prettier": "2.7.1",
|
||||||
"semver": "^7.5.0",
|
"semver": "^7.5.3",
|
||||||
"simple-git": "^3.18.0",
|
"simple-git": "^3.19.1",
|
||||||
"svgo": "^3.0.2",
|
"svgo": "^3.0.2",
|
||||||
"svgson": "^5.2.1"
|
"svgson": "^5.2.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-angular",
|
"name": "lucide-angular",
|
||||||
"description": "A Lucide icon library package for Angular applications",
|
"description": "A Lucide icon library package for Angular applications",
|
||||||
"version": "0.160.0",
|
"version": "0.0.1",
|
||||||
"author": "SMAH1",
|
"author": "SMAH1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-figma",
|
"name": "lucide-figma",
|
||||||
"version": "0.15.11",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
@@ -23,7 +23,8 @@
|
|||||||
"@types/react-dom": "^17.0.0",
|
"@types/react-dom": "^17.0.0",
|
||||||
"@vitejs/plugin-react": "^1.0.0",
|
"@vitejs/plugin-react": "^1.0.0",
|
||||||
"typescript": "^4.3.2",
|
"typescript": "^4.3.2",
|
||||||
"vite": "^2.6.4",
|
"vite": "^4.3.9",
|
||||||
|
"vitest": "^0.32.2",
|
||||||
"vite-plugin-singlefile": "^0.5.1"
|
"vite-plugin-singlefile": "^0.5.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: lucide_icons
|
name: lucide_icons
|
||||||
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
|
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
|
||||||
version: 0.160.0
|
version: 0.0.1
|
||||||
homepage: https://lucide.dev
|
homepage: https://lucide.dev
|
||||||
repository: https://github.com/lucide-icons/lucide
|
repository: https://github.com/lucide-icons/lucide
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-preact",
|
"name": "lucide-preact",
|
||||||
"description": "A Lucide icon library package for Preact applications",
|
"description": "A Lucide icon library package for Preact applications",
|
||||||
"version": "0.160.0",
|
"version": "0.0.1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
@@ -40,8 +40,8 @@
|
|||||||
"preact": "^10.11.2",
|
"preact": "^10.11.2",
|
||||||
"rollup": "^3.5.1",
|
"rollup": "^3.5.1",
|
||||||
"typescript": "^4.8.4",
|
"typescript": "^4.8.4",
|
||||||
"vite": "^3.1.0",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.24.3"
|
"vitest": "^0.32.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"preact": "^10.5.13"
|
"preact": "^10.5.13"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Vitest Snapshot v1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||||
|
|
||||||
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 width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" 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 width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" y2=\\"21\\"></line></svg>"`;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-react-native",
|
"name": "lucide-react-native",
|
||||||
"description": "A Lucide icon library package for React Native applications",
|
"description": "A Lucide icon library package for React Native applications",
|
||||||
"version": "0.160.0",
|
"version": "0.0.1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
@@ -47,8 +47,8 @@
|
|||||||
"react-native-svg": "^13.0.0",
|
"react-native-svg": "^13.0.0",
|
||||||
"rollup": "^3.5.1",
|
"rollup": "^3.5.1",
|
||||||
"typescript": "^4.8.4",
|
"typescript": "^4.8.4",
|
||||||
"vite": "^3.1.0",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.24.3"
|
"vitest": "^0.32.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Vitest Snapshot v1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||||
|
|
||||||
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 width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" 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\\" data-testid=\\"grid-icon\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" y2=\\"21\\"></line></svg>"`;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lucide-react",
|
"name": "lucide-react",
|
||||||
"description": "A Lucide icon library package for React applications",
|
"description": "A Lucide icon library package for React applications",
|
||||||
"version": "0.160.0",
|
"version": "0.0.1",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"homepage": "https://lucide.dev",
|
"homepage": "https://lucide.dev",
|
||||||
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
"bugs": "https://github.com/lucide-icons/lucide/issues",
|
||||||
@@ -45,8 +45,8 @@
|
|||||||
"react-dom": "17.0.2",
|
"react-dom": "17.0.2",
|
||||||
"rollup": "^3.5.1",
|
"rollup": "^3.5.1",
|
||||||
"typescript": "^4.8.4",
|
"typescript": "^4.8.4",
|
||||||
"vite": "^3.1.0",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.24.3"
|
"vitest": "^0.32.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": "^16.5.1 || ^17.0.0 || ^18.0.0"
|
"react": "^16.5.1 || ^17.0.0 || ^18.0.0"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Vitest Snapshot v1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||||
|
|
||||||
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 width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" 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 width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\" ry=\\"2\\"></rect><line x1=\\"3\\" x2=\\"21\\" y1=\\"9\\" y2=\\"9\\"></line><line x1=\\"3\\" x2=\\"21\\" y1=\\"15\\" y2=\\"15\\"></line><line x1=\\"9\\" x2=\\"9\\" y1=\\"3\\" y2=\\"21\\"></line><line x1=\\"15\\" x2=\\"15\\" y1=\\"3\\" y2=\\"21\\"></line></svg>"`;
|
||||||
|
|
||||||
|
|||||||