- Say "Copied SVG!" and "Copied name!" when an icon is copied with
Shift + click or Ctrl/Cmd + click.
- Center the text over the icon instead of starting at its left edge.
- Give the icon the brand border while the confetti plays.
- Keep the confetti visible when reduced motion is on; the site-wide
reduced-motion rule shrank it to 0.01ms so it never showed.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat(metadata): improve tags for common no-result searches
Adds tags for the most frequent icon searches that returned nothing in
the last 30 days of site search data (customer, job, checklist, docs,
sell, invite, csv, budget, install, deploy, 404, ...).
Groups:
- Extend `user`, `check`, `x`, `exclamation-mark`, `question-mark`,
`chart`, `code`, `search` and `exit` with missing synonyms.
- Add `face` group for the `face-*` icons (emoji, emotion, mood,
feeling, expression, reaction).
- Add `dashed` group for icons drawn with a dashed outline, so
"dotted" finds them.
- Use `$group:exit` on the diagonal `*-exit` arrows and `$group:code`
on `terminal` and `square-terminal`.
Icons: add tags to ~100 icons for the top concept gaps, and drop
literals that a group or `$extends` now provides.
Replaying the top 3,000 no-result queries against this branch with the
site's Fuse settings: 173 queries (8,197 searches) now return results.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8Feg8TihZv9E4BxmKpt
* feat(metadata): rename `face` group to `emoticon`, tag `eye` with "eyes"
"eyes" (187 no-result searches in 30 days) did not match the eye icons:
Fuse treats the extra "s" as a typo past its threshold.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8Feg8TihZv9E4BxmKpt
---------
Co-authored-by: Claude <noreply@anthropic.com>
2026-11-10 12:37:50 +01:00
Samuel Alakegithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
* feat(icons): add route-arrow-right
Adds route-arrow-right: a serpentine route ending in an arrow, giving
the route a direction of travel.
route depicts a path between two waypoints but has no direction. This
reuses route's exact serpentine geometry (the 3.5-radius arcs at x6.5 and
x17.5, rails at y5/y12/y19, same 2px margins), replacing the waypoint
circles with a directional arrow that follows Lucide's arrow convention
(the shaft ends at the chevron apex, as in arrow-right).
Naming: happy to switch to route-arrow if a directional family isn't
wanted. A route-arrow-left mirror and a both-arrows variant are natural
follow-ups if this lands.
* Apply batched suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Flip route icon and fix arrow right icon
* Adjust metadata
* Rewrite usecases
* add one-way tag
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Added icons/pencil-draft.svg
* Added icons/pencil-draft.json
* Update name, tags and contributors
Removed several contributors and tags related to writing and speed. Added new tags related to drafting and authoring.
* Update SVG paths in text-pen.svg
* Update metadata
---------
Co-authored-by: Eric <eric.fennis@gmail.com>
* feat(docs): add keyboard shortcuts to the icons page
Add the shortcuts suggested in #4916 and list them on the page:
- Ctrl/Cmd + click on an icon copies its name
- Arrow keys move from the search field into the results and between
the icons
- Ctrl/Cmd + C copies the name of the selected icon
- Ctrl/Cmd + Shift + C copies the SVG of the selected icon
Icons can now be focused with the keyboard, and a keyboard button next to
the sort select opens a dialog with all shortcuts, including the existing
Ctrl/Cmd + K and Shift + click. The dialog also opens with Shift + ?
(except while typing in a field).
Closes#4916
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(docs): add copy toasts, open icons with Enter and a shared Kbd component
- Copying an icon shows a toast (vue-sonner, bottom-center) that says
whether its name or its SVG was copied
- Enter opens the selected icon's drawer
- The SVG shortcut is now Shift + C, as Ctrl/Cmd + Shift + C opens the
browser's inspect tool
- Kbd component shared by the search inputs and the shortcuts dialog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Adjust keyboard shortcuts
* Revert customizer change
* Adjust kbd style
* Fix toaster styling
* Fix types
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Eric <eric.fennis@gmail.com>
* Added icons/corner-join-*
* feat(icons): added stroke-line-* icons & line tag group
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
* feat(icons): added grid-3x3-off icon
* chore(icons): add suggested tags to `grid-3x3-off`
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(icons): use standard off geometry for `grid-3x3-off`
* chore(icons): use metadata markers for `grid-3x3-off`
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
- Redirect /docs/lucide-*, /guide/lucide-* and /guide/packages/lucide-*/ to
the current /guide/<pkg> pages (vue-next -> vue)
- Redirect old /guide/basics/*, /guide/advanced/* and /guide/design/* pages
- Redirect graduated lab icons carton-off and briefcase-plus to core
- Remove the /docs/:slug(lucide-?.*) rule that produced 404 destinations
Fixes LUCIDE-15
Claude-Session: https://claude.ai/code/session_01G9u8FetMRtXGCVFrfg619a
Co-authored-by: Claude <noreply@anthropic.com>
* feat: add mango icon
* fix: adjust mango icon leaf and body shape
* refactor: switch to rrod497's mango design, expand metadata
* Update use cases for mango in icons/mango.json
Removed outdated use cases and added updated ones for mango.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @karsa-mistmere
Co-authored-by: Karsa <contact@karsa.org>
* Update mango.json
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
* Upgrade deps
* Fix security alerts
* Keep incompatible consumers off minimatch 11 and file-type 21
The security overrides forced minimatch 11 and file-type 21 onto every
consumer, which broke ESLint (eslint-plugin-import-x imports the removed
makeRe) and the font build (jimp 0.22 calls file-type's removed
fromBuffer). glob 7 and @eslint/eslintrc also rely on the minimatch 3
callable export. Scope those consumers back to their compatible lines.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Remove minimatch override
* Fix font build
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* chore(deps-dev): bump react-native
Bumps the react-native-deps group with 1 update in the / directory: [react-native](https://github.com/react/react-native/tree/HEAD/packages/react-native).
Updates `react-native` from 0.88.0 to 0.88.1
- [Release notes](https://github.com/react/react-native/releases)
- [Changelog](https://github.com/react/react-native/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react-native/commits/v0.88.1/packages/react-native)
---
updated-dependencies:
- dependency-name: react-native
dependency-version: 0.88.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: react-native-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix(deps): regenerate pnpm-lock.yaml for react-native 0.88.1
Dependabot's lockfile for this bump added a second, peer-less
`vitest@5.0.3` snapshot and pointed `@vitest/coverage-v8` / `@vitest/ui`
at it. That loaded two vitest instances, which broke snapshot tests in
lucide, lucide-react, lucide-vue and lucide-react-native ("The snapshot
state ... is not found. Did you call 'SnapshotClient.setup()'?"). It also
pulled unrelated @types/node and @babel/* bumps into other importers.
Regenerated with pnpm 11.22.0 from the base lockfile, so it now only
changes the react-native tree and hermes-compiler.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8Fhnpt1Di4KhMFtKbb2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* fix(dev): import icon templates with file URLs
Convert the resolved template path to an encoded file URL so the Node.js ESM loader accepts Windows paths and URL characters.
* fix(dev): import icon metadata with file URLs
Encode metadata file paths before dynamic JSON import, including Windows drive paths and URL characters.
* test(dev): cover icon build assets in paths with URL characters
Run the icon CLI in a Node process with a small SVG and metadata fixture; verify generation and metadata in a path containing spaces, # and %.
* test(build-icons): cover Windows file URL imports
---------
Co-authored-by: Vugar Bakhishov <vugarbbakhishov-hub@users.noreply.github.com>
* feat(icons): add soldering iron
* fix(icons): consolidate soldering iron use cases
* fix(icons): refine soldering iron geometry
* fix(icons): update soldering iron design and credits
* Update soldering-iron.json
removed solder tag, since part of the name
* Move `soldering-iron` icon to lab
---------
Co-authored-by: Peter Jamrozinski <peter.jamrozinski@johnsonfit.com>
Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric <eric.fennis@gmail.com>
GitHub's `ubuntu-latest` runners now resolve to Ubuntu 26.04, and
`playwright install --with-deps chromium` fails there on Playwright 1.58.2:
Cannot install dependencies for ubuntu26.04-x64 with Playwright 1.58.2!
Error: ERROR: Playwright does not support chromium on ubuntu26.04-x64
Ubuntu 26.04 support was added in Playwright 1.61, so bump the pinned
version in all integration packages to the latest stable (1.64.1). This
fixes the `integration` job in the react, vue, svelte, solid and solid-2
workflows.
Claude-Session: https://claude.ai/code/session_01G9u8FfWcVzm87hKho1ZQcc
Co-authored-by: Claude <noreply@anthropic.com>
* feat(docs): add sponsor page
Add a /sponsor page to lucide.dev with sponsor tiers, an amount picker,
a sponsor wall and a FAQ.
- Fetch active Open Collective sponsors at build time into
sponsorsData.json, falling back to an empty list when the API fails
- Group sponsors by monthly amount so the wall keeps working while the
Open Collective tiers are renamed
- Add reusable SponsorLogoGrid and SponsorAvatars components
- Add general Faq/FaqItem components fed by `faq` frontmatter, which
also emits FAQPage structured data
- Link the page from the nav, footer and the home page sponsor card
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(docs): add navbar sponsor button, more sponsor stats and tier links
- Replace the Sponsor nav text link with a dedicated heart button in the
navbar, shown icon-only at tablet widths where the menu is crowded
- Show weekly npm downloads across all Lucide packages and the all-time
Open Collective sponsor count in the sponsor page hero
- Add tierLinks.ts for direct Open Collective and GitHub Sponsors tier
checkout links, falling back to the general pages while empty
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(docs): update team member titles and add funding manifest
* update tier links
* Adjust hero
* Add motion counter to hero
* Add custom option
* Add scroll padding
* Fix reduce motion sponsor page
* Refactor sponsor tier links into tier data
Store only the Open Collective tier slug and GitHub Sponsors tier id on
each tier and derive the checkout URLs from them, so amounts are no
longer duplicated in the links. Removes tierLinks.ts and the circular
import between it and tiers.ts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8FefqMHXb8HoeQ8LhcU
* Set transition duration to zero
* Add social links
* Fix stikcybar
* Format code
* Refactor SponsorAmountPicker and SponsorHeroAnimation
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Fix sponsor animation
* Adjust tiers
* Update readmes
* Update sponsors
* Update sponsors
* Update sponsors
* Update logo gris size
* Add breaking space
* Update logos
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>