diff --git a/.github/actions/build-and-test.yml b/.github/actions/build-and-test.yml index 245b88e92..59cceca58 100644 --- a/.github/actions/build-and-test.yml +++ b/.github/actions/build-and-test.yml @@ -24,15 +24,15 @@ runs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-preact-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter lucide-preact diff --git a/.github/actions/check-icons.yml b/.github/actions/check-icons.yml index c32f22fe4..cdf436552 100644 --- a/.github/actions/check-icons.yml +++ b/.github/actions/check-icons.yml @@ -24,15 +24,15 @@ runs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-preact-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter . diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..1bb40fe84 --- /dev/null +++ b/.github/labeler.yml @@ -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/*' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99dd79a3a..51b3d06d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,12 +29,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- @@ -47,7 +47,7 @@ jobs: - name: Get 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 run: pnpm install @@ -57,17 +57,11 @@ jobs: - name: Create 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 id: change-log - run: | - CHANGE_LOG=$(pnpm run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }}) - CHANGE_LOG="${CHANGE_LOG//'%'/'%25'}" - CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}" - CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}" - echo $CHANGE_LOG - echo "::set-output name=CHANGE_LOG::$CHANGE_LOG" + run: echo "CHANGE_LOG=$(pnpm run generate:changelog --old-tag=${{ steps.latest-tag.outputs.LATEST_TAG }})" >> $GITHUB_OUTPUT env: GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }} @@ -76,11 +70,14 @@ jobs: echo '${{ steps.new-version.outputs.NEW_VERSION }}' echo '${{ steps.change-log.outputs.CHANGE_LOG }}' - - name: Release + - name: Create Release uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }} with: tag_name: ${{ steps.new-version.outputs.NEW_VERSION }} name: New icons ${{ steps.new-version.outputs.NEW_VERSION }} body: ${{ steps.change-log.outputs.CHANGE_LOG }} + + - name: Release packages + uses: './.github/workflows/release.yml' + with: + version: ${{ steps.new-version.outputs.NEW_VERSION }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..07b21837d --- /dev/null +++ b/.github/workflows/labeler.yml @@ -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 diff --git a/.github/workflows/lucide-angular.yml b/.github/workflows/lucide-angular.yml index af765851a..51d373d35 100644 --- a/.github/workflows/lucide-angular.yml +++ b/.github/workflows/lucide-angular.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-font.yml b/.github/workflows/lucide-font.yml index 19026ffc7..dfb35a4cc 100644 --- a/.github/workflows/lucide-font.yml +++ b/.github/workflows/lucide-font.yml @@ -26,15 +26,15 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-font-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-font-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter outline-svg diff --git a/.github/workflows/lucide-preact.yml b/.github/workflows/lucide-preact.yml index fafb58ffa..9d76816c0 100644 --- a/.github/workflows/lucide-preact.yml +++ b/.github/workflows/lucide-preact.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-react-native.yml b/.github/workflows/lucide-react-native.yml index 2470b83c0..4674f20e9 100644 --- a/.github/workflows/lucide-react-native.yml +++ b/.github/workflows/lucide-react-native.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-react.yml b/.github/workflows/lucide-react.yml index 55b84eaf4..73962b2ef 100644 --- a/.github/workflows/lucide-react.yml +++ b/.github/workflows/lucide-react.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-solid.yml b/.github/workflows/lucide-solid.yml index bc8480cc3..cc351d708 100644 --- a/.github/workflows/lucide-solid.yml +++ b/.github/workflows/lucide-solid.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-static.yml b/.github/workflows/lucide-static.yml index 28576135f..9211a522f 100644 --- a/.github/workflows/lucide-static.yml +++ b/.github/workflows/lucide-static.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-svelte.yml b/.github/workflows/lucide-svelte.yml index 32537dc07..d8c42fa5e 100644 --- a/.github/workflows/lucide-svelte.yml +++ b/.github/workflows/lucide-svelte.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-vue-next.yml b/.github/workflows/lucide-vue-next.yml index 1222c4a19..352042cea 100644 --- a/.github/workflows/lucide-vue-next.yml +++ b/.github/workflows/lucide-vue-next.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-vue.yml b/.github/workflows/lucide-vue.yml index f443c6406..78678756d 100644 --- a/.github/workflows/lucide-vue.yml +++ b/.github/workflows/lucide-vue.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide.yml b/.github/workflows/lucide.yml index bb72c5915..315e43bbc 100644 --- a/.github/workflows/lucide.yml +++ b/.github/workflows/lucide.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6588d5982..18fd5f830 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,8 +12,8 @@ on: required: true jobs: - pre-build: - if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey", "karsa-mistmere"]', github.actor) + pre-release: + if: github.repository == 'lucide-icons/lucide' && contains('["ericfennis", "karsa-mistmere"]', github.actor) runs-on: ubuntu-latest outputs: VERSION: ${{ steps.get_version.outputs.VERSION }} @@ -23,19 +23,32 @@ jobs: id: get_version run: | echo $VERSION_REF - echo ::set-output name=VERSION::${VERSION_REF/refs\/tags\/\v} + echo "VERSION=${VERSION_REF/refs\/tags\/\v}" >> $GITHUB_OUTPUT env: VERSION_REF: ${{ github.event.inputs.version || github.ref }} - lucide: + release: if: github.repository == 'lucide-icons/lucide' 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: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - uses: pnpm/action-setup@v2.0.1 name: Install pnpm @@ -47,484 +60,38 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm install + run: pnpm install --frozen-lockfile - name: Set Auth Token run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - 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-release.outputs.VERSION }} --no-git-tag-version - name: Build - run: pnpm --filter lucide build + run: pnpm --filter ${{ matrix.package }} build - name: Test - run: pnpm --filter lucide test + run: pnpm --filter ${{ matrix.package }} test - name: Publish - run: pnpm --filter lucide publish --no-git-checks - - - 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 + run: pnpm --filter ${{ matrix.package }} publish --no-git-checks --ignore-scripts lucide-static: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: [pre-build, lucide-font] + needs: [pre-release, lucide-font] steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v2 @@ -543,24 +110,24 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm install + run: pnpm install --frozen-lockfile - name: Set Auth Token run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - name: Set new version - run: pnpm --filter lucide-static version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version + run: pnpm --filter lucide-static version --new-version ${{ needs.pre-release.outputs.VERSION }} --no-git-tag-version - name: Move Font run: cp -r lucide-font packages/lucide-static/font @@ -571,16 +138,10 @@ jobs: - name: Publish 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: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: pre-build + needs: pre-release container: ericfennis/lucide-font:latest steps: - uses: actions/checkout@v3 @@ -598,12 +159,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache 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') }} restore-keys: | ${{ runner.os }}-pnpm-store- @@ -626,130 +187,26 @@ jobs: name: lucide-font path: lucide-font - lucide-flutter: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: [pre-build, lucide-font] - container: - image: cirrusci/flutter:latest - steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v2 - - uses: actions/cache@v2 - with: - path: ~/.pub-cache - key: ${{ runner.os }}-pub-${{ hashFiles('~/.pub-cache') }} - restore-keys: | - ${{ runner.os }}-pub- - - - name: Setup credentials - run: | - mkdir -p ~/.pub-cache - cat < ~/.pub-cache/credentials.json - { - "accessToken": "${{ secrets.GOOGLE_OAUTH_ACCESS_TOKEN }}", - "refreshToken": "${{ secrets.GOOGLE_OAUTH_REFRESH_TOKEN }}", - "idToken": "${{ secrets.GOOGLE_OAUTH_ID_TOKEN }}", - "tokenEndpoint":"https://accounts.google.com/o/oauth2/token", - "scopes": [ "openid", "https://www.googleapis.com/auth/userinfo.email" ], - "expiration": 1629835569218 - } - EOF - - - name: Get packages - run: flutter pub get - working-directory: packages/lucide-flutter - - - name: List lucide-font folder - run: ls lucide-font - - - name: Copy assets from lucide-font directory - run: | - mkdir packages/lucide-flutter/assets - cp lucide-font/lucide.ttf packages/lucide-flutter/assets/lucide.ttf - cp lucide-font/lucide-preview.html packages/lucide-flutter/assets/lucide-preview.html - - - name: Generate exports file - run: | - dart tool/generate_fonts.dart assets/lucide-preview.html - flutter format . - working-directory: packages/lucide-flutter - - - name: Test - run: flutter test - working-directory: packages/lucide-flutter - - - name: Copy License - run: cp ../../LICENSE ./LICENSE - working-directory: packages/lucide-flutter - - - name: Update yaml - run: sed -E 's/(version:)[^\n]*/\1 ${{ needs.pre-build.outputs.VERSION }}/;' pubspec.yaml > pubspec && mv pubspec pubspec.yaml - working-directory: packages/lucide-flutter - - - name: Flutter publish - run: flutter pub publish -f - working-directory: packages/lucide-flutter - - - name: Upload pubspec.yaml - uses: actions/upload-artifact@v2 - with: - name: lucide-flutter-pubspec-yaml - path: packages/lucide-flutter/pubspec.yaml - post-release: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: - [ - pre-build, - lucide, - lucide-react, - lucide-react-native, - lucide-vue, - lucide-vue-next, - lucide-angular, - lucide-svelte, - lucide-preact, - lucide-flutter, - lucide-font, - ] + needs: [ + pre-release, + lucide-font, + ] steps: - uses: actions/checkout@v3 - 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 run: | - zip -r lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip lucide-font - zip -r lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip icons + zip -r lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip lucide-font + zip -r lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip icons - name: Release zip and fonts uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }} with: - tag_name: v${{ needs.pre-build.outputs.VERSION }} + tag_name: v${{ needs.pre-release.outputs.VERSION }} files: | - lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip - lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip + lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip + lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip diff --git a/.gitignore b/.gitignore index d9ed9cb24..49f145962 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ docs/.vitepress/data/iconNodes docs/.vitepress/data/iconMetaData.ts docs/.vitepress/data/releaseMetaData.json docs/.vitepress/data/releaseMetaData +docs/.vitepress/data/iconDetails docs/.vitepress/data/relatedIcons.json docs/.vercel docs/.nitro diff --git a/.vscode/svg.code-snippets b/.vscode/svg.code-snippets new file mode 100644 index 000000000..3c491c3b8 --- /dev/null +++ b/.vscode/svg.code-snippets @@ -0,0 +1,95 @@ +{ + "Lucide SVG": { + "scope": "xml", + "description": "Base SVG with Lucide attributes.", + "prefix": [ + "svg", + "lucide" + ], + "body": [ + "", + " $0", + "" + ] + }, + "Rectangle": { + "scope": "xml", + "description": "SVG `rect`angle, with Lucide defaults.", + "prefix": [ + "rect", + "" + }, + "Square": { + "scope": "xml", + "description": "SVG square `rect`angle, with Lucide defaults.", + "prefix": [ + "square", + "rect", + "" + }, + "Circle": { + "scope": "xml", + "description": "SVG `circle`, with Lucide defaults.", + "prefix": [ + "circle", + "" + }, + "Ellipse": { + "scope": "xml", + "description": "SVG `ellipse`.", + "prefix": [ + "ellipse", + "" + }, + "Path": { + "scope": "xml", + "description": "SVG custom `path`.", + "prefix": [ + "path", + "" + }, + "Line": { + "scope": "xml", + "description": "SVG `path`, preffered to `line` in Lucide.", + "prefix": [ + "line", + "" + }, + "Dot": { + "scope": "xml", + "description": "SVG small dot, within the Lucide guidelines.", + "prefix": [ + "dot", + "." + ], + "body": "" + } +} diff --git a/README.md b/README.md index ce2e25bfa..0736d6683 100644 --- a/README.md +++ b/README.md @@ -166,8 +166,8 @@ For more details, see the [documentation](https://github.com/lucide-icons/lucide ### Static (svg sprite, font, icons ..) Assets: -[Font Files](https://github.com/lucide-icons/lucide/releases/tag/latest) -[SVG 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/latest) [SVG Sprite](https://cdn.jsdelivr.net/npm/lucide-static@latest/sprite.svg) NPM package diff --git a/docs/.vitepress/api/categories/index.get.ts b/docs/.vitepress/api/categories/index.get.ts new file mode 100644 index 000000000..a1fb097ca --- /dev/null +++ b/docs/.vitepress/api/categories/index.get.ts @@ -0,0 +1,11 @@ +import { eventHandler, setResponseHeader } from 'h3' +import iconMetaData from '../../data/iconMetaData' + +export default eventHandler((event) => { + setResponseHeader(event, 'Cache-Control', 'public, max-age=86400') + setResponseHeader(event, 'Access-Control-Allow-Origin', '*') + + return Object.fromEntries( + Object.entries(iconMetaData).map(([name, { categories }]) => [ name, categories ]) + ) +}) diff --git a/docs/.vitepress/api/icon-nodes/index.get.ts b/docs/.vitepress/api/icon-nodes/index.get.ts index e07168676..a8623661c 100644 --- a/docs/.vitepress/api/icon-nodes/index.get.ts +++ b/docs/.vitepress/api/icon-nodes/index.get.ts @@ -8,6 +8,7 @@ export default eventHandler((event) => { const withUniqueKeys = query.withUniqueKeys === 'true' setResponseHeader(event, 'Cache-Control', 'public, max-age=86400') + setResponseHeader(event, 'Access-Control-Allow-Origin', '*') if (withUniqueKeys) { return iconNodes diff --git a/docs/.vitepress/api/icons/[iconName].get.ts b/docs/.vitepress/api/icons/[iconName].get.ts index 435121388..50fa8107a 100644 --- a/docs/.vitepress/api/icons/[iconName].get.ts +++ b/docs/.vitepress/api/icons/[iconName].get.ts @@ -38,6 +38,7 @@ export default eventHandler((event) => { defaultContentType(event, 'image/svg+xml') setResponseHeader(event, 'Cache-Control', 'public,max-age=31536000') + setResponseHeader(event, 'Access-Control-Allow-Origin', '*') return svg diff --git a/docs/.vitepress/api/tags/index.get.ts b/docs/.vitepress/api/tags/index.get.ts index 3a30248c5..ab3c94ca5 100644 --- a/docs/.vitepress/api/tags/index.get.ts +++ b/docs/.vitepress/api/tags/index.get.ts @@ -3,6 +3,7 @@ import iconMetaData from '../../data/iconMetaData' export default eventHandler((event) => { setResponseHeader(event, 'Cache-Control', 'public, max-age=86400') + setResponseHeader(event, 'Access-Control-Allow-Origin', '*') return Object.fromEntries( Object.entries(iconMetaData).map(([name, { tags }]) => [ name, tags ]) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index cad4cd50d..bf2af47ee 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -5,6 +5,7 @@ import { createWriteStream } from 'node:fs' import { resolve } from 'node:path' import { SitemapStream } from 'sitemap' import sidebar from './sidebar'; +import fs from 'fs'; const links = [] @@ -35,7 +36,7 @@ export default defineConfig({ ) } ] - } + }, }, head: [ [ 'script', { @@ -138,10 +139,6 @@ export default defineConfig({ return } - if (pageData.relativePath === 'index.md') { - console.log('Home!'); - } - if (pageData.relativePath.startsWith('icons/')) { links.push({ url: pageData.relativePath.replace(/((^|\/)index)?\.md$/, '$2'), diff --git a/docs/.vitepress/theme/components/base/Tooltip.vue b/docs/.vitepress/theme/components/base/Tooltip.vue new file mode 100644 index 000000000..4371bb7fe --- /dev/null +++ b/docs/.vitepress/theme/components/base/Tooltip.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/docs/.vitepress/theme/components/icons/CopySVGButton.vue b/docs/.vitepress/theme/components/icons/CopySVGButton.vue index b5c74828c..882ab677d 100644 --- a/docs/.vitepress/theme/components/icons/CopySVGButton.vue +++ b/docs/.vitepress/theme/components/icons/CopySVGButton.vue @@ -3,19 +3,9 @@ import { ref } from 'vue'; import ButtonMenu from '../base/ButtonMenu.vue' import { useIconStyleContext } from '../../composables/useIconStyle'; 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 copiedText = 'Copied!' const confettiText = ref(copiedText) @@ -28,24 +18,6 @@ const { size } = useIconStyleContext() 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() { confettiText.value = copiedText const svgString = getSVGIcon() @@ -70,11 +42,7 @@ function downloadSVG() { confettiText.value = downloadText const svgString = getSVGIcon() - const link = document.createElement('a'); - link.download = `${props.name}.svg`; - link.href = `data:image/svg+xml;base64,${btoa(svgString)}` - link.click(); - + downloadData(`${props.name}.svg`, `data:image/svg+xml;base64,${btoa(svgString)}`) confetti() } @@ -91,12 +59,7 @@ function downloadPNG() { image.src = `data:image/svg+xml;base64,${btoa(svgString)}`; image.onload = function() { ctx.drawImage(image, 0, 0); - - const link = document.createElement('a'); - link.download = `${props.name}.png`; - link.href = canvas.toDataURL('image/png') - link.click(); - + downloadData(`${props.name}.png`, canvas.toDataURL('image/png')) confetti() } } diff --git a/docs/.vitepress/theme/components/icons/IconDetailOverlay.vue b/docs/.vitepress/theme/components/icons/IconDetailOverlay.vue index dc61946d2..df4cb772f 100644 --- a/docs/.vitepress/theme/components/icons/IconDetailOverlay.vue +++ b/docs/.vitepress/theme/components/icons/IconDetailOverlay.vue @@ -1,30 +1,38 @@