diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..04b38c47c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,104 @@ +version: 2 + +updates: + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + groups: + react-deps: + patterns: + - '@testing-library/react' + - '@types/prop-types' + - '@types/react' + - '@vitejs/plugin-react' + - 'react' + - 'react-dom' + vue-deps: + patterns: + - '@testing-library/vue' + - '@vitejs/plugin-vue' + - '@vue/test-utils' + - 'vue' + svelte-deps: + patterns: + - '@sveltejs/*' + - '@testing-library/svelte' + - '@tsconfig/svelte' + - 'svelte' + - 'svelte-check' + - 'svelte-preprocess' + solid-deps: + patterns: + - '@babel/*' + - '@rollup/plugin-babel' + - '@solidjs/testing-library' + - 'babel-preset-solid' + - 'solid-js' + - 'vite-plugin-solid' + react-native-deps: + patterns: + - 'react-native' + - 'react-native-svg' + angular-deps: + patterns: + - '@angular/*' + - '@angular-eslint/*' + - '@vitest/browser-playwright' + - 'angular-eslint' + - 'ng-packagr' + - 'rxjs' + - 'tslib' + preact-deps: + patterns: + - '@preact/preset-vite' + - '@testing-library/preact' + - 'preact' + astro-deps: + patterns: + - '@astrojs/*' + - 'astro' + testing-deps: + patterns: + - '@testing-library/*' + - '@vitest/*' + - 'jest-serializer-html' + - 'jsdom' + - 'linkedom' + - 'vitest' + build-deps: + patterns: + - '@rollup/*' + - '@vitejs/*' + - 'esbuild' + - 'rollup' + - 'rollup-plugin-*' + - 'typescript' + - 'vite' + - 'vite-plugin-*' + linting-deps: + patterns: + - '@html-eslint/*' + - '@typescript-eslint/*' + - 'cspell' + - 'eslint' + - 'eslint-*' + - 'husky' + - 'lint-staged' + - 'prettier' + - 'prettier-plugin-*' + types-deps: + patterns: + - '@types/*' + remaining-deps: + patterns: + - '*' + + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + groups: + github-actions: + patterns: + - '*' diff --git a/.github/instructions/metadata.instructions.md b/.github/instructions/metadata.instructions.md index 9e4493442..05aacbae1 100644 --- a/.github/instructions/metadata.instructions.md +++ b/.github/instructions/metadata.instructions.md @@ -13,7 +13,7 @@ The `contributors` property is a required array of GitHub usernames for the peop The `tags` property is an array of strings that describe the icon and can be used for searching. Validate the tags against the `icon.schema.json` to ensure they are correctly formatted and adhere to the defined structure. -Provide tag suggestions based on the name of the icon and the use cases provided in the PR description. Use the existing tags in the repository as a reference for consistency and to avoid duplicates. Don't suggest words like: 'icon' and preferably use single words. Tags should always be in lowercase and should not contain spaces. The name of icon should not be included in the tags, as it is already specified. +Provide tag suggestions based on the name of the icon and the use cases provided in the PR description. Use the existing tags in the repository as a reference for consistency and to avoid duplicates. Don't suggest words like: 'icon' and preferably use single words. Tags should always be in lowercase, and may also contain spaces (e.g. `magnifying glass`). The name of icon should not be included in the tags, as it is already specified. # Categories diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml index 64ec0c903..764d077ec 100644 --- a/.github/workflows/angular.yml +++ b/.github/workflows/angular.yml @@ -7,13 +7,16 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -27,9 +30,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5abb506c7..c410bd739 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,9 +23,7 @@ on: - beta - alpha -permissions: - id-token: write # Required for OIDC - contents: write +permissions: {} jobs: check-dispatch-gate: @@ -33,10 +31,12 @@ jobs: startsWith(github.event.head_commit.message, 'feat(icons)') && github.event_name != 'workflow_dispatch' runs-on: ubuntu-latest + permissions: + contents: read outputs: RELEASE_ENVIRONMENT: ${{ steps.environment.outputs.RELEASE_ENVIRONMENT }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Fetch tags run: git fetch --all --tags @@ -60,12 +60,14 @@ jobs: needs: check-dispatch-gate environment: ${{ needs.check-dispatch-gate.outputs.RELEASE_ENVIRONMENT }} runs-on: ubuntu-latest + permissions: + contents: write # Required to create the release and tag outputs: VERSION: ${{ steps.new-version.outputs.NEW_VERSION }} steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -100,7 +102,7 @@ jobs: echo '${{ steps.change-log.outputs.CHANGE_LOG }}' - name: Create Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2 with: tag_name: ${{ steps.new-version.outputs.NEW_VERSION }} name: Version ${{ steps.new-version.outputs.NEW_VERSION }} @@ -111,13 +113,19 @@ jobs: needs: create-release uses: './.github/workflows/release.yml' secrets: inherit + permissions: + id-token: write # Required for OIDC (npm provenance) + contents: write # Required to upload release assets with: version: ${{ needs.create-release.outputs.VERSION }} dispatch-release: - if: github.event_name == 'workflow_dispatch' + if: github.repository == 'lucide-icons/lucide' && github.event_name == 'workflow_dispatch' uses: './.github/workflows/release.yml' secrets: inherit + permissions: + id-token: write # Required for OIDC (npm provenance) + contents: write # Required to upload release assets with: version: ${{ inputs.version }} tag: ${{ inputs.tag }} diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index e6958de12..5fb35811d 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -4,14 +4,21 @@ on: issues: types: [opened] +permissions: {} + +env: + GH_TOKEN: ${{ github.token }} + jobs: block_phrases: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: + contents: read issues: write steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Load stopwords from JSON & check issue title & body if: contains(github.event.issue.labels.*.name, '🙌 icon request') @@ -43,6 +50,3 @@ jobs: exit 0 fi done - -env: - GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/close-stale-prs.yml b/.github/workflows/close-stale-prs.yml index 0b47315f4..7704f341c 100644 --- a/.github/workflows/close-stale-prs.yml +++ b/.github/workflows/close-stale-prs.yml @@ -3,13 +3,16 @@ on: schedule: - cron: '45 1 * * *' +permissions: {} + jobs: stale: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: pull-requests: write steps: - - uses: actions/stale@v9 + - uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-pr-message: This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days. diff --git a/.github/workflows/comment-icon-preview.yml b/.github/workflows/comment-icon-preview.yml index 1ba1aa89e..b9f813e64 100644 --- a/.github/workflows/comment-icon-preview.yml +++ b/.github/workflows/comment-icon-preview.yml @@ -6,15 +6,22 @@ on: types: - completed +permissions: {} + jobs: upload: runs-on: ubuntu-latest + permissions: + contents: read + actions: read # Required to download the artifact from the triggering run + pull-requests: write if: > + github.repository == 'lucide-icons/lucide' && github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' steps: - name: 'Download artifact' - uses: actions/github-script@v7 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ @@ -42,7 +49,7 @@ jobs: id: pr-number - name: Find Comment - uses: peter-evans/find-comment@v2 + uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # v4.0.0 id: pr-comment with: issue-number: ${{ steps.pr-number.outputs.number }} @@ -50,7 +57,7 @@ jobs: body-includes: Added or changed icons - name: Create or update comment - uses: peter-evans/create-or-update-comment@v3 + uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0 with: comment-id: ${{ steps.pr-comment.outputs.comment-id }} issue-number: ${{ steps.pr-number.outputs.number }} diff --git a/.github/workflows/icons.yml b/.github/workflows/icons.yml index 42865b6b8..e4d53a6f9 100644 --- a/.github/workflows/icons.yml +++ b/.github/workflows/icons.yml @@ -9,13 +9,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -29,9 +32,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 7dc5c2879..75de3b3bb 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -2,12 +2,15 @@ name: 'Pull Request Labeler' on: - pull_request_target +permissions: {} + jobs: triage: + if: github.repository == 'lucide-icons/lucide' permissions: contents: read pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/labeler@v5 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0 diff --git a/.github/workflows/lint-code.yml b/.github/workflows/lint-code.yml index 8fb9a83d5..edaec6611 100644 --- a/.github/workflows/lint-code.yml +++ b/.github/workflows/lint-code.yml @@ -3,13 +3,16 @@ name: Linting PR code on: pull_request: +permissions: + contents: read + jobs: lint-code: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml index a336a39a5..ef9abcf61 100644 --- a/.github/workflows/lint-pr-title.yml +++ b/.github/workflows/lint-pr-title.yml @@ -7,12 +7,16 @@ on: - edited - reopened +permissions: + contents: read + pull-requests: read # Required to read the PR title + jobs: lint-pr-title: name: PR Title Lint runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/linting-icons.yml b/.github/workflows/linting-icons.yml index c02613b53..0f69ba490 100644 --- a/.github/workflows/linting-icons.yml +++ b/.github/workflows/linting-icons.yml @@ -9,6 +9,8 @@ on: - 'icons/*' - 'lab/*' +permissions: {} + jobs: lint-filenames: name: Lint Filenames @@ -17,9 +19,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -29,7 +31,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: | icons/* @@ -46,9 +48,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -65,6 +67,6 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Check Uniqueness of Aliases run: "! cat <(printf \"%s\\n\" icons/*.json | while read -r name; do basename \"$name\" .json; done) <(jq -cr 'select(.aliases) | .aliases[] | if type==\"string\" then . else .name end' icons/*.json) | sort | uniq -c | grep -ve '^\\s*1 '" diff --git a/.github/workflows/lucide-astro.yml b/.github/workflows/lucide-astro.yml index 09bcb19b8..47a1fc8dd 100644 --- a/.github/workflows/lucide-astro.yml +++ b/.github/workflows/lucide-astro.yml @@ -11,13 +11,16 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v2 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version-file: 'package.json' cache: 'pnpm' @@ -31,9 +34,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 - - uses: actions/setup-node@v3.8.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version-file: 'package.json' cache: 'pnpm' diff --git a/.github/workflows/lucide-font.yml b/.github/workflows/lucide-font.yml index 6842a01ce..7548723cb 100644 --- a/.github/workflows/lucide-font.yml +++ b/.github/workflows/lucide-font.yml @@ -9,13 +9,16 @@ on: - tools/build-font/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-font: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -30,7 +33,7 @@ jobs: run: pnpm build:font - name: 'Upload to Artifacts' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: lucide-font path: lucide-font diff --git a/.github/workflows/lucide-lab.yml b/.github/workflows/lucide-lab.yml new file mode 100644 index 000000000..323cb3595 --- /dev/null +++ b/.github/workflows/lucide-lab.yml @@ -0,0 +1,30 @@ +name: Lucide Lab checks + +on: + pull_request: + paths: + - packages/lab/** + - packages/shared/** + - tools/build-icons/** + - tools/rollup-plugins/** + - pnpm-lock.yaml + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + cache: 'pnpm' + node-version-file: 'package.json' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build + run: pnpm --filter @lucide/lab build diff --git a/.github/workflows/lucide-preact.yml b/.github/workflows/lucide-preact.yml index fc7b1c824..f842c1b47 100644 --- a/.github/workflows/lucide-preact.yml +++ b/.github/workflows/lucide-preact.yml @@ -12,13 +12,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-preact: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-react-native.yml b/.github/workflows/lucide-react-native.yml index 99436b33e..6f8d83079 100644 --- a/.github/workflows/lucide-react-native.yml +++ b/.github/workflows/lucide-react-native.yml @@ -12,13 +12,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -32,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-react.yml b/.github/workflows/lucide-react.yml index 77f85f7d0..7d00a1ba5 100644 --- a/.github/workflows/lucide-react.yml +++ b/.github/workflows/lucide-react.yml @@ -13,13 +13,16 @@ on: - scripts/generateNextJSAliases.mjs - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -33,9 +36,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-shared.yml b/.github/workflows/lucide-shared.yml index 56c4b1931..efea0dc77 100644 --- a/.github/workflows/lucide-shared.yml +++ b/.github/workflows/lucide-shared.yml @@ -9,13 +9,16 @@ on: - packages/shared/** - pnpm-lock.yaml +permissions: + contents: read + jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-solid.yml b/.github/workflows/lucide-solid.yml index a8515c761..d78602a35 100644 --- a/.github/workflows/lucide-solid.yml +++ b/.github/workflows/lucide-solid.yml @@ -12,13 +12,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -32,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-static.yml b/.github/workflows/lucide-static.yml index aa604eaa5..fee24bf72 100644 --- a/.github/workflows/lucide-static.yml +++ b/.github/workflows/lucide-static.yml @@ -7,13 +7,16 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-static: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-svelte-5.yml b/.github/workflows/lucide-svelte-5.yml index 84f3a415f..4f48fcf19 100644 --- a/.github/workflows/lucide-svelte-5.yml +++ b/.github/workflows/lucide-svelte-5.yml @@ -12,13 +12,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -32,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -48,9 +51,9 @@ jobs: typecheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-vue.yml b/.github/workflows/lucide-vue.yml index c653429bb..e4e4ee9b6 100644 --- a/.github/workflows/lucide-vue.yml +++ b/.github/workflows/lucide-vue.yml @@ -6,19 +6,22 @@ on: - next pull_request: paths: - - packages/lucide-vue/** + - packages/vue/** - packages/shared/** - tools/build-icons/** - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -32,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide.yml b/.github/workflows/lucide.yml index 578b71f36..844d2647f 100644 --- a/.github/workflows/lucide.yml +++ b/.github/workflows/lucide.yml @@ -11,13 +11,16 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -31,9 +34,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/pull-request-icon-preview.yml b/.github/workflows/pull-request-icon-preview.yml index 814673683..62112e892 100644 --- a/.github/workflows/pull-request-icon-preview.yml +++ b/.github/workflows/pull-request-icon-preview.yml @@ -5,27 +5,30 @@ on: paths: - 'icons/*.svg' +permissions: {} + jobs: generate-changed-icons-comment: name: Generate Changed Icons Comment + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version-file: 'package.json' - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: icons/*.svg - - uses: actions/setup-node@v6 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - name: Install svgson for code preview (safer and faster than installing all deps) run: npm install svgson@5.3.1 --force @@ -40,7 +43,7 @@ jobs: env: CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: pr_number path: pr/ diff --git a/.github/workflows/pull-request-metadata-suggestions.yml b/.github/workflows/pull-request-metadata-suggestions.yml index a6b2acfd2..cc1586da7 100644 --- a/.github/workflows/pull-request-metadata-suggestions.yml +++ b/.github/workflows/pull-request-metadata-suggestions.yml @@ -5,9 +5,12 @@ on: paths: - 'icons/*.json' +permissions: {} + jobs: pull-request-metadata-suggestions: name: Pull Request Metadata Suggestions + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: contents: read @@ -16,11 +19,11 @@ jobs: steps: # We checkout the main branch of main repository for security reasons. # This is to prevent the workflow from running on a forked repository. - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: lucide-icons/lucide - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e72e488db..e200da21f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,9 +16,7 @@ on: default: 'latest' type: string -permissions: - id-token: write # Required for OIDC - contents: write +permissions: {} jobs: prepare: @@ -26,7 +24,6 @@ jobs: runs-on: ubuntu-latest outputs: VERSION: ${{ steps.get_version.outputs.VERSION }} - steps: - name: Get the version id: get_version @@ -60,9 +57,9 @@ jobs: '@lucide/vue', ] steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -93,10 +90,14 @@ jobs: contents: read steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: lucide-font + path: lucide-font + + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -122,10 +123,12 @@ jobs: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest needs: prepare + permissions: + contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -142,7 +145,7 @@ jobs: BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} - name: 'Upload to Artifacts' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: lucide-font path: lucide-font @@ -152,18 +155,21 @@ jobs: runs-on: ubuntu-latest needs: [prepare, lucide-font] permissions: - id-token: write # Required for OIDC - contents: write + contents: write # Required to upload the release assets steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: lucide-font + path: lucide-font + - name: Zip font and icons run: | zip -r lucide-font-${{ needs.prepare.outputs.VERSION }}.zip lucide-font zip -r lucide-icons-${{ needs.prepare.outputs.VERSION }}.zip icons - name: Release zip and fonts - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2 with: tag_name: ${{ needs.prepare.outputs.VERSION }} diff --git a/.github/workflows/repo-journal.yml b/.github/workflows/repo-journal.yml index 09638bac5..b457fe47f 100644 --- a/.github/workflows/repo-journal.yml +++ b/.github/workflows/repo-journal.yml @@ -4,14 +4,17 @@ on: # Run this workflow every Monday at 07:00 UTC schedule: - cron: '0 7 * * 1' + permissions: contents: read + jobs: weekly-summary: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest steps: - name: Set up Node.js environment - uses: actions/setup-node@v4 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24 diff --git a/.github/workflows/request-review.yml b/.github/workflows/request-review.yml index 9998d6f83..3139435f8 100644 --- a/.github/workflows/request-review.yml +++ b/.github/workflows/request-review.yml @@ -5,21 +5,23 @@ on: paths: - icons/*.svg +permissions: {} + jobs: request-review: - if: github.event.pull_request.draft == false + if: github.repository == 'lucide-icons/lucide' && github.event.pull_request.draft == false runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 ref: refs/pull/${{ github.event.pull_request.number }}/merge - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v41 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: icons/*.svg - run: | diff --git a/.gitignore b/.gitignore index 7c3bf7898..f129428e8 100644 --- a/.gitignore +++ b/.gitignore @@ -64,4 +64,3 @@ docs/.vercel docs/.nitro docs/public/og/** !docs/public/og/general.png -.gitignore diff --git a/categories/emoji.json b/categories/emoji.json index 78442db1d..2bd590877 100644 --- a/categories/emoji.json +++ b/categories/emoji.json @@ -1,5 +1,5 @@ { "$schema": "../category.schema.json", "title": "Emoji", - "icon": "smile" + "icon": "face-slightly-smiling" } diff --git a/docs/.vitepress/data/companiesData.json b/docs/.vitepress/data/companiesData.json index a971952fa..c0f71a7c1 100644 --- a/docs/.vitepress/data/companiesData.json +++ b/docs/.vitepress/data/companiesData.json @@ -46,21 +46,5 @@ "light": "/company-logos/open-collective-light.svg", "dark": "/company-logos/open-collective-dark.svg" } - }, - { - "name": "Super", - "url": "https://super.so", - "image": { - "light": "/company-logos/super-light.svg", - "dark": "/company-logos/super-dark.svg" - } - }, - { - "name": "Noodle", - "url": "https://noodle.run/", - "image": { - "light": "/company-logos/noodle-light.svg", - "dark": "/company-logos/noodle-dark.svg" - } } ] diff --git a/docs/package.json b/docs/package.json index 0ee8cdda0..f2fbb44e4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -68,6 +68,6 @@ "react": "18.2.0", "react-dom": "18.2.0", "sandpack-vue3": "3.1.12", - "vue": "^3.5.39" + "vue": "^3.5.40" } } diff --git a/docs/public/company-logos/noodle-dark.svg b/docs/public/company-logos/noodle-dark.svg deleted file mode 100644 index 1dbff9c77..000000000 --- a/docs/public/company-logos/noodle-dark.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/public/company-logos/noodle-light.svg b/docs/public/company-logos/noodle-light.svg deleted file mode 100644 index 480ec267e..000000000 --- a/docs/public/company-logos/noodle-light.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/public/company-logos/super-dark.svg b/docs/public/company-logos/super-dark.svg deleted file mode 100644 index 9e830af2b..000000000 --- a/docs/public/company-logos/super-dark.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/public/company-logos/super-light.svg b/docs/public/company-logos/super-light.svg deleted file mode 100644 index c5af53b03..000000000 --- a/docs/public/company-logos/super-light.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/icons/angle.json b/icons/angle.json new file mode 100644 index 000000000..84bf9fdb2 --- /dev/null +++ b/icons/angle.json @@ -0,0 +1,34 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "samuelalake" + ], + "use-cases": [ + "rotation input in a design inspector", + "measurement tool in cad software", + "dimensioning in technical drawings", + "labeling angles in geometry exercises", + "displaying degrees for rotation controls" + ], + "tags": [ + "angle", + "degree", + "corner", + "geometry", + "measure", + "math", + "rotate", + "vertex", + "slope", + "protractor", + "measurement", + "dimension", + "arc", + "drafting", + "cad" + ], + "categories": [ + "math", + "design" + ] +} diff --git a/icons/angle.svg b/icons/angle.svg new file mode 100644 index 000000000..a188199e6 --- /dev/null +++ b/icons/angle.svg @@ -0,0 +1,14 @@ + + + + diff --git a/icons/audio-lines-x.json b/icons/audio-lines-x.json new file mode 100644 index 000000000..c6d77ea54 --- /dev/null +++ b/icons/audio-lines-x.json @@ -0,0 +1,55 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "karsa-mistmere" + ], + "use-cases": [ + "indicating muted, blocked, or unavailable audio playback", + "showing that an audio track, waveform, or signal has been removed", + "marking controls that disable sound, music, voice, or broadcast output", + "representing cancelled recording, paused monitoring, or silenced audio analysis", + "identifying error states for sound processing, voice activity, or media levels", + "showing a device's speaker or system volume is turned off", + "indicating a user's microphone or input is muted", + "signaling muted notifications or alerts", + "representing muted voice chat in conferencing or multiplayer games" + ], + "tags": [ + "sound", + "noise", + "mute", + "silence", + "disabled", + "cancel", + "remove", + "unavailable", + "listen", + "hearing", + "equalizer", + "equaliser", + "hertz", + "frequency", + "wavelength", + "vibrate", + "sine", + "waveform", + "synthesizer", + "synthesiser", + "levels", + "track", + "music", + "playback", + "radio", + "broadcast", + "airwaves", + "voice", + "vocals", + "singer", + "song" + ], + "categories": [ + "multimedia", + "communication" + ] +} diff --git a/icons/audio-lines-x.svg b/icons/audio-lines-x.svg new file mode 100644 index 000000000..eb855e736 --- /dev/null +++ b/icons/audio-lines-x.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/icons/broom-sparkles.json b/icons/broom-sparkles.json new file mode 100644 index 000000000..7937e7da1 --- /dev/null +++ b/icons/broom-sparkles.json @@ -0,0 +1,44 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "karsa-mistmere" + ], + "use-cases": [ + "representing AI-assisted sweeping or cleaning automation", + "indicating spotless or freshly cleaned floors", + "showing magical cleanup actions in smart home apps", + "representing enchanted broom or Halloween themes" + ], + "tags": [ + "broomstick", + "brush", + "sweep", + "sweeping", + "floor", + "cleaning", + "ai", + "magic", + "sparkle", + "smart", + "automation", + "housekeeping", + "chores", + "tidy", + "spotless", + "pristine", + "dust", + "debris", + "bristles", + "handle", + "janitor", + "maintenance", + "witch", + "halloween" + ], + "categories": [ + "tools", + "home", + "gaming" + ] +} diff --git a/icons/broom-sparkles.svg b/icons/broom-sparkles.svg new file mode 100644 index 000000000..7becbfa6d --- /dev/null +++ b/icons/broom-sparkles.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/icons/broom.json b/icons/broom.json new file mode 100644 index 000000000..eb9cf60a5 --- /dev/null +++ b/icons/broom.json @@ -0,0 +1,38 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "karsa-mistmere" + ], + "use-cases": [ + "representing sweeping and floor cleaning tasks", + "indicating housekeeping or janitorial services", + "showing cleaning supplies in home maintenance apps", + "representing witchcraft or Halloween themes" + ], + "tags": [ + "broomstick", + "brush", + "sweep", + "sweeping", + "floor", + "cleaning", + "housekeeping", + "chores", + "tidy", + "spotless", + "dust", + "debris", + "bristles", + "handle", + "janitor", + "maintenance", + "witch", + "halloween" + ], + "categories": [ + "tools", + "home", + "gaming" + ] +} diff --git a/icons/broom.svg b/icons/broom.svg new file mode 100644 index 000000000..75480a553 --- /dev/null +++ b/icons/broom.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/calendar-1.svg b/icons/calendar-1.svg index b6d8f3c45..d3d53f95c 100644 --- a/icons/calendar-1.svg +++ b/icons/calendar-1.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-arrow-down.svg b/icons/calendar-arrow-down.svg index 978b10d34..a65ba4b82 100644 --- a/icons/calendar-arrow-down.svg +++ b/icons/calendar-arrow-down.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-arrow-up.svg b/icons/calendar-arrow-up.svg index 37a94241f..ab5b38e0f 100644 --- a/icons/calendar-arrow-up.svg +++ b/icons/calendar-arrow-up.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-check-2.svg b/icons/calendar-check-2.svg index c23c6d788..897ed6f60 100644 --- a/icons/calendar-check-2.svg +++ b/icons/calendar-check-2.svg @@ -9,9 +9,15 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + + + + + + + diff --git a/icons/calendar-check.svg b/icons/calendar-check.svg index 270f8439b..f0fdd016c 100644 --- a/icons/calendar-check.svg +++ b/icons/calendar-check.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-clock.svg b/icons/calendar-clock.svg index e6ee3e0b0..305297d2d 100644 --- a/icons/calendar-clock.svg +++ b/icons/calendar-clock.svg @@ -10,9 +10,9 @@ stroke-linejoin="round" > - - - - + + + + diff --git a/icons/calendar-cog.svg b/icons/calendar-cog.svg index 853005d9f..305032c46 100644 --- a/icons/calendar-cog.svg +++ b/icons/calendar-cog.svg @@ -11,15 +11,15 @@ > - + - - - - - + + + + + diff --git a/icons/calendar-days.svg b/icons/calendar-days.svg index f05864a9c..78c5420d4 100644 --- a/icons/calendar-days.svg +++ b/icons/calendar-days.svg @@ -9,14 +9,14 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - - + + + + + + + + + + diff --git a/icons/calendar-fold.svg b/icons/calendar-fold.svg index eade0d650..7edecbba9 100644 --- a/icons/calendar-fold.svg +++ b/icons/calendar-fold.svg @@ -9,9 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + diff --git a/icons/calendar-heart.svg b/icons/calendar-heart.svg index 78977263c..bdf7c4b25 100644 --- a/icons/calendar-heart.svg +++ b/icons/calendar-heart.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-minus-2.svg b/icons/calendar-minus-2.svg index ed715e846..f40eca15d 100644 --- a/icons/calendar-minus-2.svg +++ b/icons/calendar-minus-2.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-minus.svg b/icons/calendar-minus.svg index 729da8952..f1a8927a2 100644 --- a/icons/calendar-minus.svg +++ b/icons/calendar-minus.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-off.svg b/icons/calendar-off.svg index 012885a07..21a438df6 100644 --- a/icons/calendar-off.svg +++ b/icons/calendar-off.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/calendar-plus-2.svg b/icons/calendar-plus-2.svg index dcb8e365a..4d68e9839 100644 --- a/icons/calendar-plus-2.svg +++ b/icons/calendar-plus-2.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-plus.svg b/icons/calendar-plus.svg index c52a86a0c..73e755151 100644 --- a/icons/calendar-plus.svg +++ b/icons/calendar-plus.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-range.svg b/icons/calendar-range.svg index 65492c67d..8009efa18 100644 --- a/icons/calendar-range.svg +++ b/icons/calendar-range.svg @@ -9,12 +9,12 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - + + + + + + + + diff --git a/icons/calendar-search.svg b/icons/calendar-search.svg index 04ec0c2a5..111070178 100644 --- a/icons/calendar-search.svg +++ b/icons/calendar-search.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-sync.svg b/icons/calendar-sync.svg index a55c758f6..527e0775a 100644 --- a/icons/calendar-sync.svg +++ b/icons/calendar-sync.svg @@ -10,11 +10,11 @@ stroke-linejoin="round" > - - - + + + - - - + + + diff --git a/icons/calendar-x-2.svg b/icons/calendar-x-2.svg index a4748e980..4a1a05b3b 100644 --- a/icons/calendar-x-2.svg +++ b/icons/calendar-x-2.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar-x.svg b/icons/calendar-x.svg index d5bafda03..5d22dfd3a 100644 --- a/icons/calendar-x.svg +++ b/icons/calendar-x.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + diff --git a/icons/calendar.svg b/icons/calendar.svg index 738ea05b4..467949703 100644 --- a/icons/calendar.svg +++ b/icons/calendar.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - + + + + diff --git a/icons/car-battery.json b/icons/car-battery.json new file mode 100644 index 000000000..9eeaef2fc --- /dev/null +++ b/icons/car-battery.json @@ -0,0 +1,29 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "andreynaz4renko" + ], + "use-cases": [ + "Showing battery status, power, and charging state", + "Category icon for car batteries, jump starters, or battery testers", + "Menu or shortcut for power-related info" + ], + "tags": [ + "battery", + "automobile", + "powercell", + "electric", + "power", + "electricity", + "energy", + "accumulator", + "charge", + "transport", + "vehicle", + "car" + ], + "categories": [ + "connectivity", + "transportation" + ] +} diff --git a/icons/car-battery.svg b/icons/car-battery.svg new file mode 100644 index 000000000..bfacd4895 --- /dev/null +++ b/icons/car-battery.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/contact-round.svg b/icons/contact-round.svg index 94a07d466..accad1223 100644 --- a/icons/contact-round.svg +++ b/icons/contact-round.svg @@ -10,8 +10,8 @@ stroke-linejoin="round" > - + - - + + diff --git a/icons/contact.svg b/icons/contact.svg index 04120f0cf..1a089203d 100644 --- a/icons/contact.svg +++ b/icons/contact.svg @@ -10,8 +10,8 @@ stroke-linejoin="round" > - + - - + + diff --git a/icons/eject.json b/icons/eject.json new file mode 100644 index 000000000..1ab40b3aa --- /dev/null +++ b/icons/eject.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "BorisDelchambre", + "ThibautMarechal", + "karsa-mistmere" + ], + "use-cases": [ + "eject removable media", + "unmount external storage", + "optical disc drive", + "media player controls", + "hardware controls" + ], + "tags": [ + "disc", + "drive", + "dvd", + "blu-ray", + "cd", + "media", + "optical", + "optical drive", + "removable media", + "storage", + "tray", + "unmount", + "usb" + ], + "categories": [ + "devices", + "files", + "multimedia" + ] +} diff --git a/icons/eject.svg b/icons/eject.svg new file mode 100644 index 000000000..7133980e7 --- /dev/null +++ b/icons/eject.svg @@ -0,0 +1,14 @@ + + + + diff --git a/icons/angry.json b/icons/face-angry.json similarity index 52% rename from icons/angry.json rename to icons/face-angry.json index 178069075..b05521ac3 100644 --- a/icons/angry.json +++ b/icons/face-angry.json @@ -6,12 +6,23 @@ ], "use-cases": [], "tags": [ - "emoji", "anger", - "face", + "rage", + "fury", + "resentment", + "irritation", + "disgust", + "emoji", "emotion" ], "categories": [ "emoji" + ], + "aliases": [ + { + "name": "angry", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/laugh.svg b/icons/face-angry.svg similarity index 60% rename from icons/laugh.svg rename to icons/face-angry.svg index 41b443c7f..b7c18de72 100644 --- a/icons/laugh.svg +++ b/icons/face-angry.svg @@ -9,8 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > + + + + + - - - diff --git a/icons/annoyed.json b/icons/face-expressionless.json similarity index 53% rename from icons/annoyed.json rename to icons/face-expressionless.json index b38f2e28e..a01567e4b 100644 --- a/icons/annoyed.json +++ b/icons/face-expressionless.json @@ -5,12 +5,21 @@ ], "use-cases": [], "tags": [ - "emoji", "nuisance", - "face", + "annoyed", + "annoyance", + "frustration", + "emoji", "emotion" ], "categories": [ "emoji" + ], + "aliases": [ + { + "name": "annoyed", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/annoyed.svg b/icons/face-expressionless.svg similarity index 77% rename from icons/annoyed.svg rename to icons/face-expressionless.svg index 3279b6621..a10550bbb 100644 --- a/icons/annoyed.svg +++ b/icons/face-expressionless.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/face-grinning.json b/icons/face-grinning.json new file mode 100644 index 000000000..d90e6de32 --- /dev/null +++ b/icons/face-grinning.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "karsa-mistmere", + "ericfennis" + ], + "use-cases": [], + "tags": [ + "happy", + "happiness", + "good", + "laugh", + "broad smile", + "pleasure", + "good cheer", + "humour", + "funny", + "emoji", + "emotion" + ], + "categories": [ + "emoji" + ], + "aliases": [ + { + "name": "laugh", + "deprecated": true, + "deprecationReason": "alias.name" + } + ] +} diff --git a/icons/angry.svg b/icons/face-grinning.svg similarity index 62% rename from icons/angry.svg rename to icons/face-grinning.svg index 41e4361ad..ada21a91b 100644 --- a/icons/angry.svg +++ b/icons/face-grinning.svg @@ -9,10 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - - - diff --git a/icons/face-neutral.json b/icons/face-neutral.json new file mode 100644 index 000000000..abbf36413 --- /dev/null +++ b/icons/face-neutral.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "mittalyashu", + "ericfennis" + ], + "use-cases": [], + "tags": [ + "emoji", + "neutral", + "emotion", + "meh", + "blank stare", + "social masking", + "irritation", + "concern", + "deadpan" + ], + "categories": [ + "emoji" + ], + "aliases": [ + { + "name": "meh", + "deprecated": true, + "deprecationReason": "alias.name" + } + ] +} diff --git a/icons/smile.svg b/icons/face-neutral.svg similarity index 66% rename from icons/smile.svg rename to icons/face-neutral.svg index 59e020763..afa79b090 100644 --- a/icons/smile.svg +++ b/icons/face-neutral.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/frown.json b/icons/face-slightly-frowning.json similarity index 56% rename from icons/frown.json rename to icons/face-slightly-frowning.json index 39d33df13..3fc21e638 100644 --- a/icons/frown.json +++ b/icons/face-slightly-frowning.json @@ -9,13 +9,21 @@ "use-cases": [], "tags": [ "emoji", - "face", "bad", - "sad", - "emotion" + "sadness", + "emotion", + "concern", + "disappointment" ], "categories": [ "emoji", "account" + ], + "aliases": [ + { + "name": "frown", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/frown.svg b/icons/face-slightly-frowning.svg similarity index 65% rename from icons/frown.svg rename to icons/face-slightly-frowning.svg index 370dbc736..61c813289 100644 --- a/icons/frown.svg +++ b/icons/face-slightly-frowning.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/smile-plus.json b/icons/face-slightly-smiling-plus.json similarity index 64% rename from icons/smile-plus.json rename to icons/face-slightly-smiling-plus.json index faa6caa98..5641fbcc2 100644 --- a/icons/smile-plus.json +++ b/icons/face-slightly-smiling-plus.json @@ -6,19 +6,26 @@ ], "use-cases": [], "tags": [ - "emoji", - "face", + "smile", "happy", "good", - "emotion", "react", "reaction", - "add" + "emoji", + "add", + "emotion" ], "categories": [ "emoji", "social", "notifications", "communication" + ], + "aliases": [ + { + "name": "smile-plus", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/smile-plus.svg b/icons/face-slightly-smiling-plus.svg similarity index 60% rename from icons/smile-plus.svg rename to icons/face-slightly-smiling-plus.svg index 47bbf6b0f..3c58cc0b2 100644 --- a/icons/smile-plus.svg +++ b/icons/face-slightly-smiling-plus.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - + + + + diff --git a/icons/smile.json b/icons/face-slightly-smiling.json similarity index 52% rename from icons/smile.json rename to icons/face-slightly-smiling.json index b622e70e8..d083317e6 100644 --- a/icons/smile.json +++ b/icons/face-slightly-smiling.json @@ -8,14 +8,27 @@ ], "use-cases": [], "tags": [ - "emoji", - "face", + "smile", "happy", + "happiness", "good", + "positive", + "friendly", + "patronizing", + "passive aggressive", + "ironic", + "emoji", "emotion" ], "categories": [ "emoji", "account" + ], + "aliases": [ + { + "name": "smile", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/meh.svg b/icons/face-slightly-smiling.svg similarity index 65% rename from icons/meh.svg rename to icons/face-slightly-smiling.svg index 78ac8d1e2..750065b43 100644 --- a/icons/meh.svg +++ b/icons/face-slightly-smiling.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/laugh.json b/icons/laugh.json deleted file mode 100644 index 1c07dc1da..000000000 --- a/icons/laugh.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "karsa-mistmere", - "ericfennis" - ], - "use-cases": [], - "tags": [ - "emoji", - "face", - "happy", - "good", - "emotion" - ], - "categories": [ - "emoji" - ] -} diff --git a/icons/layer-arrow-down.json b/icons/layer-arrow-down.json new file mode 100644 index 000000000..23cb90006 --- /dev/null +++ b/icons/layer-arrow-down.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "lowering a selected layer by one step", + "moving an item backward in layer order" + ], + "tags": [ + "move back", + "backward", + "lower", + "demote", + "step back", + "behind", + "reorder", + "arrange", + "layer", + "layers", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layer-arrow-down.svg b/icons/layer-arrow-down.svg new file mode 100644 index 000000000..e11232dc0 --- /dev/null +++ b/icons/layer-arrow-down.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/layer-arrow-up.json b/icons/layer-arrow-up.json new file mode 100644 index 000000000..a9df28a11 --- /dev/null +++ b/icons/layer-arrow-up.json @@ -0,0 +1,34 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "raising a selected layer by one step", + "moving an item forward in layer order" + ], + "tags": [ + "move forward", + "forward", + "raise", + "lift", + "promote", + "advance", + "step forward", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layer-arrow-up.svg b/icons/layer-arrow-up.svg new file mode 100644 index 000000000..5f018c88e --- /dev/null +++ b/icons/layer-arrow-up.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/layers-arrow-down.json b/icons/layers-arrow-down.json new file mode 100644 index 000000000..8ab271b7a --- /dev/null +++ b/icons/layers-arrow-down.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "sending a selected object to the back of a stack", + "moving an item behind all others in layer order" + ], + "tags": [ + "send to back", + "send backward", + "back", + "background", + "bottom", + "bottommost", + "lower", + "demote", + "behind", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layers-arrow-down.svg b/icons/layers-arrow-down.svg new file mode 100644 index 000000000..10489169c --- /dev/null +++ b/icons/layers-arrow-down.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/icons/layers-arrow-up.json b/icons/layers-arrow-up.json new file mode 100644 index 000000000..90e6476a3 --- /dev/null +++ b/icons/layers-arrow-up.json @@ -0,0 +1,37 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "bringing a selected object to the front of a stack", + "moving an item in front of all others in layer order" + ], + "tags": [ + "bring to front", + "bring forward", + "front", + "foreground", + "top", + "topmost", + "raise", + "lift", + "promote", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout", + "arrows" + ] +} diff --git a/icons/layers-arrow-up.svg b/icons/layers-arrow-up.svg new file mode 100644 index 000000000..65847d3e5 --- /dev/null +++ b/icons/layers-arrow-up.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/mail-badge.json b/icons/mail-badge.json new file mode 100644 index 000000000..ce403f211 --- /dev/null +++ b/icons/mail-badge.json @@ -0,0 +1,37 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "colebemis", + "karsa-mistmere", + "ericfennis", + "jguddas", + "danielbayley" + ], + "use-cases": [ + "indicating certified or registered email", + "marking messages with proof of delivery", + "marking a message as signed or sealed", + "labeling official or legal correspondence" + ], + "tags": [ + "email", + "message", + "letter", + "certified", + "registered", + "seal", + "stamp", + "verified", + "envelope", + "rosette", + "signed", + "official", + "delivery" + ], + "categories": [ + "mail", + "communication", + "security" + ] +} diff --git a/icons/mail-badge.svg b/icons/mail-badge.svg new file mode 100644 index 000000000..f38b0dc0d --- /dev/null +++ b/icons/mail-badge.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/meh.json b/icons/meh.json deleted file mode 100644 index 8676a7377..000000000 --- a/icons/meh.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "colebemis", - "csandman", - "mittalyashu", - "ericfennis" - ], - "use-cases": [], - "tags": [ - "emoji", - "face", - "neutral", - "emotion" - ], - "categories": [ - "emoji" - ] -} diff --git a/icons/mic-signal.json b/icons/mic-signal.json index 5ef7b1ebe..045a0fab5 100644 --- a/icons/mic-signal.json +++ b/icons/mic-signal.json @@ -39,8 +39,7 @@ { "name": "podcast", "deprecated": true, - "deprecationReason": "alias.name", - "toBeRemovedInVersion": "v1.0" + "deprecationReason": "alias.name" } ] } diff --git a/icons/shield-lock.json b/icons/shield-lock.json new file mode 100644 index 000000000..f760f9c63 --- /dev/null +++ b/icons/shield-lock.json @@ -0,0 +1,37 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "caisere", + "karsa-mistmere" + ], + "use-cases": [ + "encryption settings", + "secure login", + "privacy controls", + "security software", + "secure file storage" + ], + "tags": [ + "antivirus", + "authentication", + "authorization", + "credentials", + "cybersecurity", + "data protection", + "defense", + "encryption", + "guard", + "login", + "password", + "privacy", + "safeguard", + "ssl", + "tls", + "two-factor authentication", + "verification", + "vpn" + ], + "categories": [ + "security" + ] +} diff --git a/icons/shield-lock.svg b/icons/shield-lock.svg new file mode 100644 index 000000000..20cc5b941 --- /dev/null +++ b/icons/shield-lock.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/lab/broom.json b/lab/broom.json deleted file mode 100644 index 3c6655bc2..000000000 --- a/lab/broom.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "danielbayley" - ], - "tags": [ - "broomstick", - "brush", - "sweep", - "floor", - "cleaning", - "witch", - "halloween" - ], - "categories": [ - "tools", - "home" - ] -} diff --git a/lab/broom.svg b/lab/broom.svg deleted file mode 100644 index 814be7559..000000000 --- a/lab/broom.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - diff --git a/lab/chinese-character.json b/lab/chinese-character.json new file mode 100644 index 000000000..d639af9f2 --- /dev/null +++ b/lab/chinese-character.json @@ -0,0 +1,15 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "congemcd", + "rrod497" + ], + "tags": [ + "text", + "language", + "chinese" + ], + "categories": [ + "text" + ] +} diff --git a/lab/chinese-character.svg b/lab/chinese-character.svg new file mode 100644 index 000000000..a17541863 --- /dev/null +++ b/lab/chinese-character.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/packages/angular/package.json b/packages/angular/package.json index 5d4398f1d..51ddfe743 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -49,18 +49,18 @@ "@angular-eslint/template-parser": "~21.1.0", "@angular/build": "^21.2.19", "@angular/cli": "^21.2.19", - "@angular/common": "^21.2.18", - "@angular/compiler": "^21.2.18", - "@angular/compiler-cli": "^21.2.18", - "@angular/core": "^21.2.18", - "@angular/forms": "^21.2.18", - "@angular/platform-browser": "^21.2.18", - "@angular/platform-server": "^21.2.18", - "@angular/router": "^21.2.18", + "@angular/common": "^21.2.19", + "@angular/compiler": "^21.2.19", + "@angular/compiler-cli": "^21.2.19", + "@angular/core": "^21.2.19", + "@angular/forms": "^21.2.19", + "@angular/platform-browser": "^21.2.19", + "@angular/platform-server": "^21.2.19", + "@angular/router": "^21.2.19", "@lucide/build-icons": "workspace:*", "@lucide/helpers": "workspace:*", "@vitest/browser-playwright": "^4.1.10", - "angular-eslint": "21.1.0", + "angular-eslint": "21.4.0", "ng-packagr": "^21.2.5", "rxjs": "~7.8.2", "tslib": "^2.8.1", diff --git a/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap b/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap index 218463aea..34154c0eb 100644 --- a/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap +++ b/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap @@ -10,29 +10,21 @@ exports[`Using lucide icon components > should add a non-default attribute to th stroke-width="2" stroke-linecap="round" stroke-linejoin="round" - class="lucide lucide-smile" + class="lucide lucide-face-slightly-smiling lucide-smile" aria-hidden="true" style="position: absolute" > + + + + + + - - - - - - `; @@ -135,28 +127,20 @@ exports[`Using lucide icon components > should pass children to the icon slot 1` stroke-width="2" stroke-linecap="round" stroke-linejoin="round" - class="lucide lucide-smile" + class="lucide lucide-face-slightly-smiling lucide-smile" aria-hidden="true" > + + + + + + - - - - - -

Hello World

diff --git a/packages/lab/.gitignore b/packages/lab/.gitignore new file mode 100644 index 000000000..ce6fc2062 --- /dev/null +++ b/packages/lab/.gitignore @@ -0,0 +1,2 @@ +icons +icon-nodes.json diff --git a/packages/lab/README.md b/packages/lab/README.md index e93ab560f..a96e7a1ea 100644 --- a/packages/lab/README.md +++ b/packages/lab/README.md @@ -39,7 +39,7 @@ function App() { ```vue