Compare commits

...

50 Commits

Author SHA1 Message Date
Eric Fennis
251bfab76a Remove UMD support 2025-08-01 12:47:22 +02:00
Karsa
6d43b9feb3 feat(icons): added turntable icon (#3429)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Added icons/turntable.svg

* Added icons/turntable.json

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-08-01 12:30:47 +02:00
Jakob Guddas
16166f838b feat(lucide-static): include aliases in icons directory (#3368) 2025-08-01 12:21:31 +02:00
Jakob Guddas
425bcc3f3d fix(icons): arcified cake-slice icon (#3345)
* Updated icons/cake-slice.svg

* Updated icons/cake-slice.json
2025-08-01 12:19:13 +02:00
Jakob Guddas
982af91724 fix(icons): changed a-arrow-* icons (#3474)
* Updated icons/a-arrow-up.svg

* Updated icons/a-arrow-down.svg
2025-08-01 12:09:22 +02:00
Eric Fennis
a3ec4428f1 fix(lucide-vue-next): Support for kebabCase props (#3477)
* Fix kebabCase Vue props

* format code

* Fix tests

* Format code
2025-08-01 11:39:49 +02:00
Abdelrahman
673e76831d fix: add extensions to imports (#2950)
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-08-01 11:39:36 +02:00
Karsa
b4291576b7 fix(icons): changed hospital icon (#2969)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/hospital.svg

* Update hospital.svg

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-31 13:54:05 +02:00
Karsa
95f5ecacad fix(icons): arcified message icons & fixed optical volume (#3473)
* fix(icons): arcify message icons & fix optical volume

* fix(icons): increase optical volume of messages-square
2025-07-31 12:57:36 +02:00
Karsa
ef5c1b9bdd feat(icons): added hand-fist, renamed grab to hand-grab (#1843) 2025-07-31 12:44:26 +02:00
Eric Fennis
b01715ebe8 chore(docs): Update vitepress deps (#3470)
* Update vitepress

* Format code

* Update deps

* Fix build

* Update lockfile
2025-07-31 11:45:59 +02:00
Karsa
05dd5fcfde fix(icons): changed tiny heart icons (#3471)
* Updated icons/file-heart.svg

* Updated icons/folder-heart.svg

* Updated icons/calendar-heart.svg

* Updated icons/scan-heart.svg

* Updated icons/book-heart.svg

* Updated icons/book-heart.json

* Updated icons/hand-heart.svg

* Updated icons/hand-heart.json

* Updated icons/message-circle-heart.svg

* Updated icons/message-circle-heart.json

* fix(icons): revert changes made to message-circle-heart in favour of https://github.com/lucide-icons/lucide/pull/3473
2025-07-31 10:40:17 +02:00
Jakob Guddas
e71198d9b3 chore: icon alias improvements (#2861)
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-30 16:52:50 +02:00
Jakob Guddas
57714e36ea feat(SvgPreview): add features from lucide studio (#3365)
* feat(SvgPreview): add features from lucide studio

* Update docs/.vitepress/lib/SvgPreview/index.tsx

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-30 16:20:24 +02:00
Epifânio Francisco
358c9c1e80 fix(docs): update prop name from absolute-stroke-width to absoluteStrokeWidth in vue-next guide (#3322)
- Changed kebab-case to camelCase for consistency with Vue prop naming conventions
- Updated props table in lucide-vue-next documentation
2025-07-30 15:56:48 +02:00
Alex
64ddff76c5 fix: properly select icons dir for tags & error if no metadata found (#3411)
Fixes #3359
Throwing an error in readAllMetadata now to ensure this error can't happen again in the future.
The error was caused by this script being moved to a different dir, but the relative url not being updated, causing no icons to be found.
2025-07-30 11:59:46 +02:00
Jakob Guddas
31a9cdcbcc ci: add "telegram" to close-issue-with-banned-phrases (#3475) 2025-07-30 09:04:52 +02:00
Karsa
69319ee2f0 feat(icons): arcified moon icons (#3380) 2025-07-29 20:50:39 +02:00
Karsa
7beb3ee666 fix(icons): changed gavel icon (#3465)
* Updated icons/gavel.svg

* Updated icons/gavel.json

* Update icons/gavel.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-29 19:16:31 +02:00
Eric Fennis
396d6d42ce ci(suggest-tags): Switch to github.event.pull_request.head.sha 2025-07-29 16:19:30 +02:00
Eric Fennis
37a60eefb2 ci: Switch to $GITHUB_SHA 2025-07-29 16:11:08 +02:00
Jakob Guddas
c2c46b21ed fix(icons): changed mails, tags, files, file-stack, book-copy and folders icon (#2935)
* Updated icons/folders.svg

* Updated icons/folders.svg

* Updated icons/folders.svg

* Updated icons/folders.svg

* Updated icons/files.svg

* Updated icons/files.json

* Updated icons/mails.svg

* Updated icons/mails.json

* Updated icons/tags.svg

* Updated icons/tags.json

* Updated icons/files.svg

* Updated icons/file-stack.svg

* Updated icons/file-stack.json

* Updated icons/files.json

* Updated icons/images.svg

* Updated icons/square-stack.svg

* Updated icons/square-stack.json

* Updated icons/square-stack.svg

* Updated icons/files.svg

* Update icons/square-stack.json

* Update icons/square-stack.svg

* Updated icons/book-copy.svg

* Updated icons/tags.svg

* Updated icons/tags.svg

* Update icons/mails.svg

Co-authored-by: Karsa <contact@karsa.org>

* Update icons/folders.svg

Co-authored-by: Karsa <contact@karsa.org>

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2025-07-29 09:37:58 +02:00
Karsa
0a0c8aa7e7 fix(icons): changed settings icon (#3467)
* Updated icons/settings.svg

* Updated icons/settings.json

* Updated icons/settings.svg

* Update settings.svg
2025-07-29 09:35:23 +02:00
Usama Khan
dc14e6ea8e feat(icons): added closed-caption icon (#2910)
* Added icons/closed-caption.svg

* Added icons/closed-caption.json

* Update closed-caption.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-29 09:28:40 +02:00
Jamie Law
1f67ef5307 fix(icons): Rounded and optically-centred flag-triangle-* icons (#3438)
* Rounded and optically-centred `flag-triangle-*` icons

* Increase size of flag
2025-07-29 09:23:43 +02:00
Jakob Guddas
ff6f9a09ad Updated icons/folder-symlink.svg (#2558) 2025-07-29 09:22:54 +02:00
Jakob Guddas
585b65f28f fix(icons): added rounding to heart-* icons (#3061)
* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.json

* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart.svg

* Updated icons/heart.json

* Updated icons/heart-pulse.svg

* Updated icons/heart-pulse.json

* Updated icons/heart-crack.svg

* Updated icons/heart-crack.json

* Updated icons/heart-off.svg

* Updated icons/heart-off.json

* Updated icons/heart-crack.svg

* Updated icons/heart-handshake.svg

* Updated icons/heart-minus.svg

* Updated icons/heart-minus.json

* Update icons/heart-minus.json

* Update icons/heart-minus.json

* Update icons/heart-minus.json

* Apply suggestions from code review

* Updated icons/heart-minus.svg

* Updated icons/heart-minus.svg

* Updated icons/heart-off.svg

* Updated icons/heart-plus.svg

* Updated icons/heart-plus.json

* Updated icons/heart-plus.json

* Update icons/heart-handshake.svg

Co-authored-by: Karsa <contact@karsa.org>

* Update icons/heart-handshake.svg

* Update icons/heart-crack.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2025-07-29 07:31:19 +02:00
Victor Soteras
405feea8f6 fix(icons): Changed a-large-small icon (#3396)
* fix(icons): Changed a-large-small icon

* fix(icons): Changed case-sensitive icon

* fix(icons): Changed case-lower icon

* fix(icons): Changed case-upper icon

* Apply suggestions from code review

* Update .gitignore

* Update icons/a-large-small.json

* Update icons/case-upper.svg

* Update icons/case-upper.svg

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-28 17:08:39 +02:00
Karsa
5931a4a227 fix(icons): changed sailboat icon (#3460)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/sailboat.svg

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 15:59:58 +02:00
Zlendy
d3bafc2848 fix(docs): Icon Component Example for Svelte 5 does not compile (#3416) 2025-07-28 15:58:31 +02:00
Karsa
a6f4a08bda fix(icons): changed wrench icon (#3459)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/wrench.svg

* Updated icons/wrench.json

* Updated icons/pickaxe.svg

* Updated icons/gavel.svg

* Updated icons/hammer.svg

* Updated icons/hammer.json

* Updated icons/pickaxe.svg

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 15:57:03 +02:00
Jamie Law
5a93aff903 feat(icons): added handbag icon (#3298)
* Added icons/handbag.svg

* Added icons/handbag.json

* Update handbag.json

Added extra tags

* Fix trailing comma

* Update icons/handbag.svg

Co-authored-by: Karsa <contact@karsa.org>

* Update handbag.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2025-07-28 15:56:37 +02:00
Bean Duong
e6c50d543b feat(icons): added clipboard-clock icon (#3427)
* Added icons/clipboard-clock.svg

* Added icons/clipboard-clock.json

* Flip clock side

Co-authored-by: Karsa <contact@karsa.org>

* Add contributors

Co-authored-by: Karsa <contact@karsa.org>

* Extend use cases

Co-authored-by: Karsa <contact@karsa.org>

* Update icons/clipboard-clock.json

* Remove duplicated tag

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

---------

Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-28 15:51:52 +02:00
Karsa
0d7c70cab6 fix(icons): changed user-star icon (#3464)
* Updated icons/user-star.svg

* Updated icons/user-star.json

* Update user-star.json
2025-07-28 15:51:29 +02:00
Martin Vítek
379d1b1002 feat(icons): added user-star icon (#3331)
* Added icons/user-star.svg

* Added icons/user-star.json

* enlarge star in user-star icon

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-28 15:07:27 +02:00
Mariano Franzese
7d6998941d feat(icons): added map-minus icon (#3259)
* Added icons/map-minus.svg

* Added icons/map-minus.json

* Update icons/map-minus.svg

Co-authored-by: Jakob Guddas <github@jguddas.de>

* Update icons/map-minus.json

Co-authored-by: Jakob Guddas <github@jguddas.de>

* Update icons/map-minus.json

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-28 14:59:25 +02:00
Eric Fennis
667bb8034d fix(icons): Rename location-edit to map-pin-pencil (#3462)
* Rename `location-edit` to `map-pin-pencil`

* Updated "aliases" object
2025-07-28 14:51:16 +02:00
Karsa
fd9c489d7a fix(icons): changed castle icon (#2972)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/castle.svg

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 13:57:04 +02:00
Karsa
acb0e37ac2 fix(icons): changed shovel icon (#3458)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/shovel.svg

* Updated icons/shovel.json

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 13:46:09 +02:00
Karsa
6c25cbee67 feat(icons): added hat-glasses icon (#3431)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Added icons/hat-glasses.svg

* Added icons/hat-glasses.json

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 10:41:43 +02:00
Jamie Law
08121af31e fix(icons): arcify arrow-big- icons (#3356)
* fix(icons): arcify `arrow-big-` icons

* give correct attribution

* shorten stems of `arrow-big-*-dash` icons
2025-07-28 10:30:59 +02:00
Karsa
2d484469cd fix(icons): changed sparkles icon (#3426)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/sparkle.svg

* Updated icons/sparkles.svg

* Updated icons/sparkles.json

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 10:24:37 +02:00
Karsa
f66d167ead fix(icons): arcified playback icons (#3425)
* fix(icons): arcified playback icons

* fix(icons): fix file-play name & file-video-2 => file-video-camera

* fix(icons): add `stop` tags to square

* fix(icons): fix lines on skip icons

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
2025-07-28 10:17:44 +02:00
Jamie Law
c63e5a456e fix(icons): changed sprout icon (#3430)
* Updated icons/sprout.svg

* Updated icons/sprout.json

* Add a bend to the sprout stalk

* Add rounding to the leaf tip
2025-07-28 10:11:49 +02:00
Karsa
aac12f991a fix(icons): changed croissant icon (#3428)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/croissant.svg

---------

Co-authored-by: Karsa <karsa@karsa.org>
2025-07-28 10:11:12 +02:00
Jamie Law
3844a4b346 Refine refresh-ccw-dot to match other refresh- icons (#3437)
Also update attributions to include contributors to `refresh-ccw`, ignoring optimisations
2025-07-28 10:10:41 +02:00
Karsa
98b43826a4 fix(icons): changed gem icon (#3442)
* [github] Added issue template forms

* [github] yaml => yml

* Syntax fixes

* Further syntax fixes

* Sort issue templates

* Update 02_bug_report.yml

* Updated icons/gem.svg

* Updated icons/gem.json

* Update gem.svg

* Update gem.svg

* Update gem.json

---------

Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2025-07-28 10:10:14 +02:00
Jakob Guddas
e8194cbabe fix(icons): changed lasso icon (#3454)
* Updated icons/lasso.svg

* Updated icons/lasso.json
2025-07-28 09:57:12 +02:00
Kyle Angelo Galendez
17bbbe1cbb feat(icons): added spotlight icon (#3450)
* Added icons/spotlight.svg

* Added icons/spotlight.json
2025-07-28 09:56:11 +02:00
Jakob Guddas
c698121170 Updated icons/monitor-dot.svg (#3452) 2025-07-28 09:01:20 +02:00
416 changed files with 2769 additions and 871 deletions

View File

@@ -16,7 +16,7 @@ jobs:
- name: Check for blocked phrases in issue title
run: |
ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH")
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky" "spotify" "behance" "pix" "x.com")
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky" "spotify" "behance" "pix" "x.com" "telegram")
# Check title and body for blocked phrases
for PHRASE in "${BLOCKED_PHRASES[@]}"

View File

@@ -33,5 +33,5 @@ jobs:
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
COMMIT_SHA: ${{ github.sha }}
COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -13,10 +13,10 @@ export default eventHandler((event) => {
const data = pathData.at(-1).slice(0, -4);
const [name] = pathData;
const src = Buffer.from(data, 'base64')
.toString('utf8')
.replaceAll('\n', '')
.replace(/<svg[^>]*>|<\/svg>/g, '');
const src = Buffer.from(data, 'base64').toString('utf8').replaceAll('\n', '');
const width = parseInt((src.includes('svg') ? src.match(/width="(\d+)"/)?.[1] : null) ?? '24');
const height = parseInt((src.includes('svg') ? src.match(/height="(\d+)"/)?.[1] : null) ?? '24');
const children = [];
@@ -38,7 +38,7 @@ export default eventHandler((event) => {
children.push(
createElement(Backdrop, {
backdropString,
src,
src: src.replace(/<svg[^>]*>|<\/svg>/g, ''),
color: '#777',
}),
);
@@ -46,7 +46,18 @@ export default eventHandler((event) => {
const svg = Buffer.from(
// We can't use jsx here, is not supported here by nitro.
renderToString(createElement(SvgPreview, { src, showGrid: true }, children)),
renderToString(
createElement(
SvgPreview,
{
src: src.replace(/<svg[^>]*>|<\/svg>/g, ''),
height,
width,
showGrid: true,
},
children,
),
),
).toString('utf8');
defaultContentType(event, 'image/svg+xml');

View File

@@ -36,6 +36,13 @@ export default defineConfig({
},
},
head: [
[
'link',
{
rel: 'preconnect',
href: 'https://analytics.lucide.dev',
},
],
[
'script',
{

View File

@@ -0,0 +1,137 @@
import React from 'react';
import pathToPoints from './path-to-points';
import { Path, PathProps } from './types';
export const GapViolationHighlight = ({
radius,
stroke,
strokeWidth,
strokeOpacity,
paths,
...props
}: {
paths: Path[];
} & PathProps<'stroke' | 'strokeOpacity' | 'strokeWidth', 'd'>) => {
const id = React.useId();
const groupedPaths = Object.entries(
paths.reduce(
(groups, val) => {
const key = val.c.id;
groups[key] = [...(groups[key] || []), val];
return groups;
},
{} as Record<number, Path[]>,
),
);
const groups: Group[] = [];
for (const [, paths] of groupedPaths) {
const d = paths.map((path) => path.d).join(' ');
const points = paths.flatMap((path) => pathToPoints(path));
groups.push({ id: d, points });
}
const mergedGroups = mergeGroups(groups, 2);
return (
<g {...props}>
<defs xmlns="http://www.w3.org/2000/svg">
<pattern
id={`backdrop-pattern-${id}`}
width=".1"
height=".1"
patternUnits="userSpaceOnUse"
patternTransform="rotate(45 50 50)"
>
<line
stroke={stroke}
strokeWidth={0.1}
y2={1}
/>
<line
stroke={stroke}
strokeWidth={0.1}
y2={1}
/>
</pattern>
</defs>
{mergedGroups.flatMap((ds, idx, arr) =>
arr.slice(0, idx).map((val, i) => (
<g
strokeWidth={strokeWidth}
key={i}
>
<mask
id={`svg-preview-backdrop-mask-${id}-${i}`}
maskUnits="userSpaceOnUse"
>
<path
stroke="white"
d={val.join(' ')}
/>
</mask>
<path
d={ds.join(' ')}
stroke={`url(#backdrop-pattern-${id})`}
strokeWidth={strokeWidth}
strokeOpacity={strokeOpacity}
mask={`url(#svg-preview-backdrop-mask-${id}-${i})`}
/>
</g>
)),
)}
</g>
);
};
type Point = { x: number; y: number };
type Group = { id: string; points: Point[] };
// Euclidean distance
function distance(a: Point, b: Point): number {
return Math.hypot(a.x - b.x, a.y - b.y);
}
// Check if two groups should be merged based on minimum distance
function shouldMerge(a: Group, b: Group, minDistance: number): boolean {
for (const pa of a.points) {
for (const pb of b.points) {
if (distance(pa, pb) <= minDistance) {
return true;
}
}
}
return false;
}
// Merge groups and return arrays of merged group IDs
function mergeGroups(groups: Group[], minDistance: number): string[][] {
const mergedGroups: Group[][] = groups.map((g) => [g]);
let changed = true;
while (changed) {
changed = false;
outer: for (let i = 0; i < mergedGroups.length; i++) {
for (let j = i + 1; j < mergedGroups.length; j++) {
// Check if any group in mergedGroups[i] should merge with any in mergedGroups[j]
if (
mergedGroups[i].some((ga) =>
mergedGroups[j].some((gb) => shouldMerge(ga, gb, minDistance)),
)
) {
// Merge group j into group i
mergedGroups[i] = [...mergedGroups[i], ...mergedGroups[j]];
mergedGroups.splice(j, 1);
changed = true;
break outer;
}
}
}
}
// Return only arrays of IDs
return mergedGroups.map((groupList) => groupList.map((g) => g.id));
}

View File

@@ -1,6 +1,7 @@
import React from 'react';
import { PathProps, Path } from './types';
import { getPaths, assert } from './utils';
import getPaths, { assert } from './utils';
import { GapViolationHighlight } from './GapViolationHighlight.tsx';
export const darkModeCss = `
@media screen and (prefers-color-scheme: light) {
@@ -20,10 +21,16 @@ export const darkModeCss = `
export const Grid = ({
radius,
fill = '#fff',
fill,
height,
width,
subGridSize = 0,
...props
}: {
height: number;
width: number;
strokeWidth: number;
subGridSize?: number;
radius: number;
} & PathProps<'stroke', 'strokeWidth'>) => (
<g
@@ -33,43 +40,53 @@ export const Grid = ({
>
<rect
className="svg-preview-grid-rect"
width={24 - props.strokeWidth}
height={24 - props.strokeWidth}
width={width - props.strokeWidth}
height={height - props.strokeWidth}
x={props.strokeWidth / 2}
y={props.strokeWidth / 2}
rx={radius}
fill={fill}
/>
<path
strokeDasharray={'0 0.1 ' + '0.1 0.15 '.repeat(11) + '0 0.15'}
strokeDasharray={
'0 0.1 ' + '0.1 0.15 '.repeat(subGridSize ? subGridSize * 4 - 1 : 95) + '0 0.15'
}
strokeWidth={0.1}
d={
props.d ||
new Array(Math.floor(24 - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => i % 3 !== 2)
.flatMap((i) => [
`M${props.strokeWidth} ${i + 1}h${24 - props.strokeWidth * 2}`,
`M${i + 1} ${props.strokeWidth}v${24 - props.strokeWidth * 2}`,
])
.join('')
}
/>
<path
d={
props.d ||
new Array(Math.floor(24 - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => i % 3 === 2)
.flatMap((i) => [
`M${props.strokeWidth} ${i + 1}h${24 - props.strokeWidth * 2}`,
`M${i + 1} ${props.strokeWidth}v${24 - props.strokeWidth * 2}`,
])
.join('')
[
...new Array(Math.floor(width - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => !subGridSize || i % subGridSize !== subGridSize - 1)
.flatMap((i) => [`M${i + 1} ${props.strokeWidth}v${height - props.strokeWidth * 2}`]),
...new Array(Math.floor(height - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => !subGridSize || i % subGridSize !== subGridSize - 1)
.flatMap((i) => [`M${props.strokeWidth} ${i + 1}h${width - props.strokeWidth * 2}`]),
].join('')
}
/>
{!!subGridSize && (
<path
d={
props.d ||
[
...new Array(Math.floor(width - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => i % subGridSize === subGridSize - 1)
.flatMap((i) => [`M${i + 1} ${props.strokeWidth}v${height - props.strokeWidth * 2}`]),
...new Array(Math.floor(height - 1))
.fill(null)
.map((_, i) => i)
.filter((i) => i % subGridSize === subGridSize - 1)
.flatMap((i) => [`M${props.strokeWidth} ${i + 1}h${width - props.strokeWidth * 2}`]),
].join('')
}
/>
)}
</g>
);
@@ -99,6 +116,7 @@ const Shadow = ({
>
{groupedPaths.map(([id, paths]) => (
<mask
key={`svg-preview-shadow-mask-${id}`}
id={`svg-preview-shadow-mask-${id}`}
maskUnits="userSpaceOnUse"
strokeOpacity="1"
@@ -108,8 +126,8 @@ const Shadow = ({
<rect
x={0}
y={0}
width={24}
height={24}
width="100%"
height="100%"
fill="#fff"
stroke="none"
rx={radius}
@@ -152,30 +170,34 @@ const ColoredPath = ({
colors,
paths,
...props
}: { paths: Path[]; colors: string[] } & PathProps<never, 'd' | 'stroke'>) => (
<g
className="svg-preview-colored-path-group"
{...props}
>
{paths.map(({ d, c }, i) => (
<path
key={i}
d={d}
stroke={colors[(c.name === 'path' ? i : c.id) % colors.length]}
/>
))}
</g>
);
}: { paths: Path[]; colors: string[] } & PathProps<never, 'd' | 'stroke'>) => {
let idx = 0;
return (
<g
className="svg-preview-colored-path-group"
{...props}
>
{paths.map(({ d, c }, i) => (
<path
key={i}
d={d}
stroke={colors[(c.name === 'path' ? idx++ : c.id) % colors.length]}
/>
))}
</g>
);
};
const ControlPath = ({
paths,
radius,
pointSize,
...props
}: { pointSize: number; paths: Path[]; radius: number } & PathProps<
'stroke' | 'strokeWidth',
'd'
>) => {
}: {
pointSize: number;
paths: Path[];
radius: number;
} & PathProps<'stroke' | 'strokeWidth', 'd'>) => {
const controlPaths = paths.map((path, i) => {
const element = paths.filter((p) => p.c.id === path.c.id);
const lastElement = element.at(-1)?.next;
@@ -207,8 +229,8 @@ const ControlPath = ({
<rect
x="0"
y="0"
width="24"
height="24"
width="100%"
height="100%"
fill="#fff"
stroke="none"
rx={radius}
@@ -243,7 +265,7 @@ const ControlPath = ({
)
.join('')}
/>
{controlPaths.map(({ d, prev, next, startMarker, endMarker }, i) => (
{controlPaths.map(({ prev, next, startMarker, endMarker }, i) => (
<React.Fragment key={i}>
{startMarker && (
<circle
@@ -279,11 +301,37 @@ const Radii = ({
{...props}
>
{paths.map(
({ c, prev, next, circle }, i) =>
({ circle, next, prev, c }, i) =>
circle && (
<React.Fragment key={i}>
{c.name !== 'circle' && (
<path d={`M${prev.x} ${prev.y} ${circle.x} ${circle.y} ${next.x} ${next.y}`} />
{circle.tangentIntersection && c.name === 'path' && (
<>
<circle
cx={next.x * 2 - circle.tangentIntersection.x}
cy={next.y * 2 - circle.tangentIntersection.y}
r={0.25}
/>
<circle
cx={prev.x * 2 - circle.tangentIntersection.x}
cy={prev.y * 2 - circle.tangentIntersection.y}
r={0.25}
/>
<path
d={`M${next.x * 2 - circle.tangentIntersection.x} ${
next.y * 2 - circle.tangentIntersection.y
}L${circle.tangentIntersection.x} ${circle.tangentIntersection.y}L${prev.x * 2 - circle.tangentIntersection.x} ${
prev.y * 2 - circle.tangentIntersection.y
}`}
/>
<circle
cx={circle.tangentIntersection.x}
cy={circle.tangentIntersection.y}
r={0.25}
/>
</>
)}
{c.name === 'path' && (
<path d={`M${next.x} ${next.y}L${circle.x} ${circle.y}L${prev.x} ${prev.y}`} />
)}
<circle
cy={circle.y}
@@ -313,55 +361,60 @@ const Radii = ({
const Handles = ({
paths,
...props
}: { paths: Path[] } & PathProps<
'strokeWidth' | 'stroke' | 'strokeDasharray' | 'strokeOpacity',
any
>) => {
return (
<g
className="svg-preview-handles-group"
{...props}
>
{paths.map(({ c, prev, next, cp1, cp2 }) => (
<>
{cp1 && <path d={`M${prev.x} ${prev.y} ${cp1.x} ${cp1.y}`} />}
{cp1 && (
<circle
cy={cp1.y}
cx={cp1.x}
r={0.25}
/>
)}
{cp2 && <path d={`M${next.x} ${next.y} ${cp2.x} ${cp2.y}`} />}
{cp2 && (
<circle
cy={cp2.y}
cx={cp2.x}
r={0.25}
/>
)}
</>
))}
</g>
);
};
}: { paths: Path[] } & PathProps<'strokeWidth' | 'stroke' | 'strokeOpacity', any>) => (
<g
className="svg-preview-handles-group"
{...props}
>
{paths.map(({ c, prev, next, cp1, cp2 }, i) => (
<React.Fragment key={i}>
{cp1 && <path d={`M${prev.x} ${prev.y} ${cp1.x} ${cp1.y}`} />}
{cp1 && (
<circle
cy={cp1.y}
cx={cp1.x}
r={0.25}
/>
)}
{cp2 && <path d={`M${next.x} ${next.y} ${cp2.x} ${cp2.y}`} />}
{cp2 && (
<circle
cy={cp2.y}
cx={cp2.x}
r={0.25}
/>
)}
</React.Fragment>
))}
</g>
);
const SvgPreview = React.forwardRef<
SVGSVGElement,
{
height?: number;
width?: number;
src: string | ReturnType<typeof getPaths>;
showGrid?: boolean;
} & React.SVGProps<SVGSVGElement>
>(({ src, children, showGrid = false, ...props }, ref) => {
>(({ src, children, height = 24, width = 24, showGrid = false, ...props }, ref) => {
const subGridSize =
Math.max(height, width) % 3 === 0
? Math.max(height, width) > 24
? 12
: 3
: Math.max(height, width) % 5 === 0
? 5
: 0;
const paths = typeof src === 'string' ? getPaths(src) : src;
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={24}
height={24}
viewBox="0 0 24 24"
width={width}
height={height}
viewBox={`0 0 ${width} ${height}`}
fill="none"
stroke="currentColor"
strokeWidth={2}
@@ -372,8 +425,12 @@ const SvgPreview = React.forwardRef<
<style>{darkModeCss}</style>
{showGrid && (
<Grid
height={height}
width={width}
subGridSize={subGridSize}
strokeWidth={0.1}
stroke="#777"
mask="url(#svg-preview-bounding-box-mask)"
strokeOpacity={0.3}
radius={1}
/>
@@ -385,6 +442,12 @@ const SvgPreview = React.forwardRef<
radius={1}
strokeOpacity={0.15}
/>
<GapViolationHighlight
paths={paths}
stroke="red"
strokeOpacity={0.75}
strokeWidth={4}
/>
<Handles
paths={paths}
strokeWidth={0.12}
@@ -433,4 +496,6 @@ const SvgPreview = React.forwardRef<
);
});
SvgPreview.displayName = 'SvgPreview';
export default SvgPreview;

View File

@@ -0,0 +1,19 @@
import memoize from 'lodash/memoize';
import SVGPathCommander from 'svg-path-commander';
import { Path } from './types';
function pathToPoints({ d, prev, next }: Path, interval = 1) {
const commander = new SVGPathCommander(d);
const points = [];
try {
const totalLength = commander.getTotalLength();
points.push(prev);
for (let i = interval; i < totalLength - interval; i += interval) {
points.push(commander.getPointAtLength(i));
}
points.push(next);
} catch (err) {}
return points;
}
export default memoize(pathToPoints);

View File

@@ -1,7 +1,10 @@
import { INode, parseSync } from 'svgson';
// @ts-ignore
import toPath from 'element-to-path';
// @ts-ignore
import { SVGPathData, encodeSVGPath } from 'svg-pathdata';
import { Path, Point } from './types';
import memoize from 'lodash/memoize';
function assertNever(x: never): never {
throw new Error('Unknown type: ' + x['type']);
@@ -44,17 +47,21 @@ const extractNodes = (node: INode): INode[] => {
return [];
};
export const getNodes = (src: string) =>
extractNodes(parseSync(src.includes('<svg') ? src : `<svg>${src}</svg>`));
export const getNodes = memoize((src: string) =>
extractNodes(parseSync(src.includes('<svg') ? src : `<svg>${src}</svg>`)),
);
export const getCommands = (src: string) =>
getNodes(src)
.map(convertToPathNode)
.flatMap(({ d, name }, idx) =>
new SVGPathData(d).toAbs().commands.map((c, cIdx) => ({ ...c, id: idx, idx: cIdx, name })),
new SVGPathData(d)
.toAbs()
// @ts-ignore
.commands.map((c, cIdx) => ({ ...c, id: idx, idx: cIdx, name })),
);
export const getPaths = (src: string) => {
const getPaths = (src: string) => {
const commands = getCommands(src.includes('<svg') ? src : `<svg>${src}</svg>`);
const paths: Path[] = [];
let prev: Point | undefined = undefined;
@@ -237,6 +244,7 @@ export const getPaths = (src: string) => {
break;
}
default: {
// @ts-ignore
assertNever(c);
}
}
@@ -244,7 +252,7 @@ export const getPaths = (src: string) => {
return paths;
};
export const arcEllipseCenter = (
const arcEllipseCenter = (
x1: number,
y1: number,
rx: number,
@@ -296,5 +304,52 @@ export const arcEllipseCenter = (
M2[1][0] * Cp[0] + M2[1][1] * Cp[1] + V3[1],
];
return { x: C[0], y: C[1] };
return {
x: C[0],
y: C[1],
tangentIntersection: intersectTangents(
{ x: x1, y: y1 },
{ x: x2, y: y2 },
{ x: C[0], y: C[1] },
),
};
};
function getTangentDirection(p: Point, center: Point): Point {
// Tangent is perpendicular to the radius vector (rotate radius 90°)
const dx = p.x - center.x;
const dy = p.y - center.y;
return { x: -dy, y: dx }; // 90° rotation
}
function intersectTangents(start: Point, end: Point, center: Point): Point | null {
const t1 = getTangentDirection(start, center);
const t2 = getTangentDirection(end, center);
// Solve: start + λ * t1 = end + μ * t2
const A = [
[t1.x, -t2.x],
[t1.y, -t2.y],
];
const b = [end.x - start.x, end.y - start.y];
// Compute determinant
const det = A[0][0] * A[1][1] - A[0][1] * A[1][0];
if (Math.abs(det) < 1e-10) {
// Lines are parallel, no intersection
return null;
}
const invDet = 1 / det;
const lambda = (b[0] * A[1][1] - b[1] * A[0][1]) * invDet;
// Intersection point = start + lambda * t1
return {
x: start.x + lambda * t1.x,
y: start.y + lambda * t1.y,
};
}
export default memoize(getPaths);

View File

@@ -25,6 +25,7 @@
--vp-code-editor-string: #032f62;
--vp-c-text-4: rgba(60, 60, 67, 0.32);
--vp-home-hero-name-color: var(--vp-c-text);
}
.dark {
@@ -60,36 +61,15 @@
.VPHomeHero .image-container {
transform: none;
width: 100%;
/* padding: 0 24px; */
}
/* .VPHomeHero .container {
flex-direction: column-reverse;
} */
.VPHomeHero .container .main {
/* flex:1; */
flex-shirk: 0;
}
.VPHomeHero .container .main h1.name {
color: var(--vp-c-text);
}
.VPHomeHero .container .main h1.name .clip {
color: inherit;
-webkit-text-fill-color: unset;
color: var(--vp-c-text);
font-size: 36px;
}
.VPHomeHero .container .main h1::first-line {
.VPHomeHero .name::first-line {
color: var(--vp-c-brand);
}
/* */
.VPHomeHero .container .image {
margin: 0;
order: 2;
/* flex: 1; */
margin-top: 32px;
}
@@ -98,10 +78,6 @@
justify-content: flex-end;
}
.VPHomeHero .container .image-bg {
display: none;
}
.VPFeature .icon {
background-color: var(--vp-c-bg);
}
@@ -115,12 +91,6 @@
padding-left: 0;
}
@media (min-width: 640px) {
.VPHomeHero .container .main h1.name .clip {
font-size: unset;
}
}
@media (min-width: 960px) {
.VPHomeHero .container .image {
order: 1;
@@ -140,18 +110,11 @@
.VPHomeHero .container .image-container {
display: block;
}
.VPHomeHero .container .main h1.name {
}
}
.VPNavBarHamburger .container > span {
border-radius: 2px;
}
/*
html:has(* .outline-link:target) {
scroll-behavior: smooth;
} */
.sp-wrapper + * {
margin-top: 24px;
@@ -183,7 +146,6 @@ html:has(* .outline-link:target) {
font-size: 14px;
font-weight: 500;
position: relative;
/* box-sizing: content-box; */
}
.sp-wrapper .sp-tabs .sp-tab-button:after {

View File

@@ -296,7 +296,7 @@ The example below imports all ES Modules, so exercise caution when using it. Imp
```svelte [Svelte 5]
<script>
import * as icons from '@lucide/svelte';
let { name } = $props();
let { name, ...props } = $props();
const Icon = icons[name];
</script>

View File

@@ -54,7 +54,7 @@ import { Camera } from 'lucide-vue-next';
| `size` | *number* | 24 |
| `color` | *string* | currentColor |
| `stroke-width` | *number* | 2 |
| `absolute-stroke-width` | *boolean* | false |
| `absoluteStrokeWidth` | *boolean* | false |
| `default-class` | *string* | lucide-icon |
### Applying props

View File

@@ -60,7 +60,7 @@ Additional props can be passed to adjust the icon:
| `size` | *number* | 24 |
| `color` | *string* | currentColor |
| `stroke-width` | *number* | 2 |
| `absolute-stroke-width` | *boolean* | false |
| `absoluteStrokeWidth` | *boolean* | false |
| `default-class` | *string* | lucide-icon |
### Applying props

View File

@@ -2,6 +2,7 @@ import copy from 'rollup-plugin-copy';
import replace from '@rollup/plugin-replace';
export default defineNitroConfig({
compatibilityDate: '2025-07-30',
preset: 'vercel_edge',
srcDir: '.vitepress',
routeRules: {

View File

@@ -28,12 +28,12 @@
"@lucide/build-icons": "workspace:*",
"@lucide/helpers": "workspace:*",
"@lucide/shared": "workspace:*",
"@rollup/plugin-replace": "^6.0.1",
"@rollup/plugin-replace": "^6.0.2",
"@types/semver": "^7.5.3",
"h3": "^1.8.0",
"nitropack": "2.8.1",
"rollup-plugin-copy": "^3.4.0",
"vitepress": "^1.3.1"
"rollup-plugin-copy": "^3.5.0",
"vitepress": "^1.6.3",
"svg-path-commander": "^2.1.11"
},
"dependencies": {
"@floating-ui/vue": "^1.0.3",
@@ -57,6 +57,6 @@
"sitemap": "^7.1.1",
"svg-pathdata": "^6.0.3",
"svgson": "^5.2.1",
"vue": "^3.5.13"
"vue": "^3.5.18"
}
}

View File

@@ -21,10 +21,7 @@ const MAX_RELATED_ICONS = 4 * 17; // grid of 4x17 icons, = 68 icons
const arrayMatches = (a, b) => a.filter((item) => b.includes(item)).length;
const nameParts = (icon) =>
[
icon.name,
...(icon.aliases?.map((alias) => (typeof alias === 'string' ? alias : alias.name)) ?? []),
]
[icon.name, ...(icon.aliases?.map((alias) => alias.name) ?? [])]
.join('-')
.split('-')
.filter((word) => word.length > 2);

View File

@@ -159,16 +159,14 @@ try {
const aliases = iconMetaData.aliases ?? [];
if (aliases.length) {
aliases
.map((alias) => (typeof alias === 'string' ? alias : alias.name))
.forEach((alias) => {
if (!(alias in newReleaseMetaData)) {
return;
}
aliases.forEach((alias) => {
if (!(alias.name in newReleaseMetaData)) {
return;
}
contents.createdRelease =
newReleaseMetaData[alias].createdRelease ?? defaultReleaseMetaData.createdRelease;
});
contents.createdRelease =
newReleaseMetaData[alias.name].createdRelease ?? defaultReleaseMetaData.createdRelease;
});
}
const output = JSON.stringify(contents, null, 2);

View File

@@ -11,9 +11,7 @@ const iconMetaData = await getIconMetaData(path.resolve(scriptDir, '../../icons'
const iconAliasesRedirectRoutes = Object.entries(iconMetaData)
.filter(([, { aliases }]) => aliases?.length)
.map(([iconName, { aliases }]) => {
aliases = aliases.map((alias) => (typeof alias === 'object' ? alias.name : alias));
const aliasRouteMatches = aliases.join('|');
const aliasRouteMatches = aliases.map((alias) => alias.name).join('|');
return {
src: `/icons/${aliasRouteMatches}`,

View File

@@ -21,32 +21,29 @@
"aliases": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": ["name"],
"properties": {
"name": {
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"deprecated": {
"const": true
},
"deprecationReason": {
"$ref": "#/$defs/aliasDeprecationReasons"
},
"toBeRemovedInVersion": {
"$ref": "#/$defs/versionNumber",
"description": "The version this icon will be removed in."
}
},
"dependentRequired": {
"deprecated": ["deprecationReason", "toBeRemovedInVersion"]
}
"deprecated": {
"const": true
},
"deprecationReason": {
"$ref": "#/$defs/aliasDeprecationReasons"
},
"toBeRemovedInVersion": {
"$ref": "#/$defs/versionNumber",
"description": "The version this icon will be removed in."
}
]
},
"dependentRequired": {
"deprecated": ["deprecationReason", "toBeRemovedInVersion"],
"deprecationReason": ["deprecated"],
"toBeRemovedInVersion": ["deprecated"]
}
},
"uniqueItems": true
},
@@ -130,7 +127,9 @@
}
},
"dependentRequired": {
"deprecated": ["deprecationReason", "toBeRemovedInVersion"]
"deprecated": ["deprecationReason", "toBeRemovedInVersion"],
"deprecationReason": ["deprecated"],
"toBeRemovedInVersion": ["deprecated"]
},
"$defs": {
"iconDeprecationReasons": {

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3.5 13h6" />
<path d="m2 16 4.5-9 4.5 9" />
<path d="M18 7v9" />
<path d="m14 12 4 4 4-4" />
</svg>
<path d="M18 16V7" />
<path d="m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16" />
<path d="M3.304 13h6.392" />
</svg>

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 349 B

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3.5 13h6" />
<path d="m2 16 4.5-9 4.5 9" />
<path d="M18 16V7" />
<path d="m14 11 4-4 4 4" />
</svg>
<path d="M18 16V7" />
<path d="m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16" />
<path d="M3.304 13h6.392" />
</svg>

Before

Width:  |  Height:  |  Size: 319 B

After

Width:  |  Height:  |  Size: 349 B

View File

@@ -4,7 +4,9 @@
"it-is-not",
"jguddas",
"danielbayley",
"ericfennis"
"ericfennis",
"vichotech",
"karsa-mistmere"
],
"tags": [
"letter",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 14h-5" />
<path d="M16 16v-3.5a2.5 2.5 0 0 1 5 0V16" />
<path d="M4.5 13h6" />
<path d="m3 16 4.5-9 4.5 9" />
<path d="m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16" />
<path d="M15.697 14h5.606" />
<path d="m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16" />
<path d="M3.304 13h6.392" />
</svg>

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -19,6 +19,11 @@
"time"
],
"aliases": [
"alarm-check"
{
"name": "alarm-check",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -15,6 +15,11 @@
"time"
],
"aliases": [
"alarm-minus"
{
"name": "alarm-minus",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -15,6 +15,11 @@
"time"
],
"aliases": [
"alarm-plus"
{
"name": "alarm-plus",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"karsa-mistmere"
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"backwards",

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 5H9" />
<path d="M15 9v3h4l-7 7-7-7h4V9z" />
<path d="M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z" />
<path d="M9 4h6" />
</svg>

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 411 B

View File

@@ -3,7 +3,9 @@
"contributors": [
"Andreto",
"mittalyashu",
"danielbayley"
"danielbayley",
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"backwards",

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 6v6h4l-7 7-7-7h4V6h6z" />
<path d="M15 11a1 1 0 0 0 1 1h2.939a1 1 0 0 1 .75 1.811l-6.835 6.836a1.207 1.207 0 0 1-1.707 0L4.31 13.81a1 1 0 0 1 .75-1.811H8a1 1 0 0 0 1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1z" />
</svg>

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 389 B

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"karsa-mistmere"
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"previous",

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19 15V9" />
<path d="M15 15h-3v4l-7-7 7-7v4h3v6z" />
<path d="M13 9a1 1 0 0 1-1-1V5.061a1 1 0 0 0-1.811-.75l-6.835 6.836a1.207 1.207 0 0 0 0 1.707l6.835 6.835a1 1 0 0 0 1.811-.75V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z" />
<path d="M20 9v6" />
</svg>

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 414 B

View File

@@ -4,7 +4,9 @@
"Andreto",
"mittalyashu",
"ericfennis",
"danielbayley"
"danielbayley",
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"previous",

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 15h-6v4l-7-7 7-7v4h6v6z" />
<path d="M13 9a1 1 0 0 1-1-1V5.061a1 1 0 0 0-1.811-.75l-6.835 6.836a1.207 1.207 0 0 0 0 1.707l6.835 6.835a1 1 0 0 0 1.811-.75V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z" />
</svg>

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 391 B

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"karsa-mistmere"
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"next",

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 9v6" />
<path d="M9 9h3V5l7 7-7 7v-4H9V9z" />
<path d="M11 9a1 1 0 0 0 1-1V5.061a1 1 0 0 1 1.811-.75l6.836 6.836a1.207 1.207 0 0 1 0 1.707l-6.836 6.835a1 1 0 0 1-1.811-.75V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z" />
<path d="M4 9v6" />
</svg>

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 413 B

View File

@@ -4,7 +4,9 @@
"Andreto",
"mittalyashu",
"ericfennis",
"danielbayley"
"danielbayley",
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"next",

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 9h6V5l7 7-7 7v-4H6V9z" />
<path d="M11 9a1 1 0 0 0 1-1V5.061a1 1 0 0 1 1.811-.75l6.836 6.836a1.207 1.207 0 0 1 0 1.707l-6.836 6.835a1 1 0 0 1-1.811-.75V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z" />
</svg>

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 391 B

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"karsa-mistmere"
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"caps lock",

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 19h6" />
<path d="M9 15v-3H5l7-7 7 7h-4v3H9z" />
<path d="M9 13a1 1 0 0 0-1-1H5.061a1 1 0 0 1-.75-1.811l6.836-6.835a1.207 1.207 0 0 1 1.707 0l6.835 6.835a1 1 0 0 1-.75 1.811H16a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z" />
<path d="M9 20h6" />
</svg>

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 413 B

View File

@@ -3,7 +3,9 @@
"contributors": [
"Andreto",
"mittalyashu",
"danielbayley"
"danielbayley",
"karsa-mistmere",
"jamiemlaw"
],
"tags": [
"shift",

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 18v-6H5l7-7 7 7h-4v6H9z" />
<path d="M9 13a1 1 0 0 0-1-1H5.061a1 1 0 0 1-.75-1.811l6.836-6.835a1.207 1.207 0 0 1 1.707 0l6.835 6.835a1 1 0 0 1-.75 1.811H16a1 1 0 0 0-1 1v6a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z" />
</svg>

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-down-01"
{
"name": "arrow-down-01",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-down-10"
{
"name": "arrow-down-10",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-down-az"
{
"name": "arrow-down-az",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"sort-desc"
{
"name": "sort-desc",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -22,6 +22,11 @@
"arrows"
],
"aliases": [
"arrow-down-za"
{
"name": "arrow-down-za",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-up-01"
{
"name": "arrow-up-01",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-up-10"
{
"name": "arrow-up-10",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -21,6 +21,11 @@
"arrows"
],
"aliases": [
"arrow-up-az"
{
"name": "arrow-up-az",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -22,6 +22,11 @@
"arrows"
],
"aliases": [
"sort-asc"
{
"name": "sort-asc",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -22,6 +22,11 @@
"arrows"
],
"aliases": [
"arrow-up-za"
{
"name": "arrow-up-za",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -12,6 +12,11 @@
"design"
],
"aliases": [
"axis-3-d"
{
"name": "axis-3-d",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -5,7 +5,12 @@
"jguddas"
],
"aliases": [
"verified"
{
"name": "verified",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
],
"tags": [
"verified",

View File

@@ -15,6 +15,11 @@
"shapes"
],
"aliases": [
"badge-help"
{
"name": "badge-help",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 16V4a2 2 0 0 1 2-2h11" />
<path d="M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12" />
<path d="M5 14H4a2 2 0 1 0 0 4h1" />
<path d="M5 7a2 2 0 0 0-2 2v11" />
<path d="M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21" />
<path d="M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10" />
</svg>

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 406 B

View File

@@ -25,6 +25,11 @@
"development"
],
"aliases": [
"book-template"
{
"name": "book-template",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0.0"
}
]
}

View File

@@ -1,7 +1,8 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"karsa-mistmere"
],
"tags": [
"diary",

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7" />
<path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20" />
<path d="M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z" />
</svg>

Before

Width:  |  Height:  |  Size: 506 B

After

Width:  |  Height:  |  Size: 424 B

View File

@@ -1,7 +1,8 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"karsa-mistmere"
],
"tags": [
"robot",

View File

@@ -10,9 +10,9 @@
stroke-linejoin="round"
>
<path d="M12 6V2H8" />
<path d="m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z" />
<path d="M2 12h2" />
<path d="M9 11v2" />
<path d="M15 11v2" />
<path d="M2 12h2" />
<path d="M20 12h2" />
<path d="M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z" />
<path d="M9 11v2" />
</svg>

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 458 B

View File

@@ -5,7 +5,12 @@
"karsa-mistmere"
],
"aliases": [
"curly-braces"
{
"name": "curly-braces",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
],
"tags": [
"json",

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"jguddas"
"jguddas",
"karsa-mistmere"
],
"tags": [
"debug",

View File

@@ -9,13 +9,13 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z" />
<path d="M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97" />
<path d="M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z" />
<path d="M14.12 3.88 16 2" />
<path d="M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5" />
<path d="M20.97 5c0 2.1-1.6 3.8-3.5 4" />
<path d="M3 21c0-2.1 1.7-3.9 3.8-4" />
<path d="M6 13H2" />
<path d="M6.53 9C4.6 8.8 3 7.1 3 5" />
<path d="m8 2 1.88 1.88" />
<path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1" />
<path d="M9 7.13v-1a3 3 0 0 1 4.18-2.895 3 3 0 0 1 1.821 2.896v1" />
</svg>

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 678 B

View File

@@ -1,7 +1,8 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"jguddas"
],
"tags": [
"birthday",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="9" cy="7" r="2" />
<path d="M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6" />
<path d="M16 13H3" />
<path d="M16 17H3" />
<path d="m7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6" />
<circle cx="9" cy="7" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 437 B

View File

@@ -9,8 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7" />
<path d="M8 2v4" />
<path d="M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125" />
<path d="M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z" />
<path d="M16 2v4" />
<path d="M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z" />
<path d="M3 10h18" />
<path d="M8 2v4" />
</svg>

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 475 B

View File

@@ -16,6 +16,11 @@
"multimedia"
],
"aliases": [
"subtitles"
{
"name": "subtitles",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -1,7 +1,9 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"vichotech",
"karsa-mistmere"
],
"tags": [
"text",
@@ -11,6 +13,7 @@
"typography"
],
"categories": [
"text"
"text",
"development"
]
}

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="7" cy="12" r="3" />
<path d="M10 9v6" />
<circle cx="17" cy="12" r="3" />
<path d="M14 7v8" />
<path d="M10 9v7" />
<path d="M14 6v10" />
<circle cx="17.5" cy="12.5" r="3.5" />
<circle cx="6.5" cy="12.5" r="3.5" />
</svg>

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 336 B

View File

@@ -1,7 +1,9 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley"
"danielbayley",
"vichotech",
"karsa-mistmere"
],
"tags": [
"text",

View File

@@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m3 15 4-8 4 8" />
<path d="M4 13h6" />
<circle cx="18" cy="12" r="3" />
<path d="M21 9v6" />
<path d="m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16" />
<path d="M22 9v7" />
<path d="M3.304 13h6.392" />
<circle cx="18.5" cy="12.5" r="3.5" />
</svg>

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 359 B

View File

@@ -2,7 +2,9 @@
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"jguddas"
"jguddas",
"vichotech",
"karsa-mistmere"
],
"tags": [
"text",
@@ -12,6 +14,7 @@
"typography"
],
"categories": [
"text"
"text",
"development"
]
}

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m3 15 4-8 4 8" />
<path d="M4 13h6" />
<path d="M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4" />
<path d="M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5" />
<path d="m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16" />
<path d="M3.304 13h6.392" />
</svg>

Before

Width:  |  Height:  |  Size: 321 B

After

Width:  |  Height:  |  Size: 391 B

View File

@@ -9,13 +9,12 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z" />
<path d="M18 11V4H6v7" />
<path d="M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4" />
<path d="M22 11V9" />
<path d="M2 11V9" />
<path d="M6 4V2" />
<path d="M18 4V2" />
<path d="M10 4V2" />
<path d="M14 4V2" />
<path d="M10 5V3" />
<path d="M14 5V3" />
<path d="M15 21v-3a3 3 0 0 0-6 0v3" />
<path d="M18 3v8" />
<path d="M18 5H6" />
<path d="M22 11H2" />
<path d="M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9" />
<path d="M6 3v8" />
</svg>

Before

Width:  |  Height:  |  Size: 490 B

After

Width:  |  Height:  |  Size: 443 B

View File

@@ -14,6 +14,11 @@
"notifications"
],
"aliases": [
"alert-circle"
{
"name": "alert-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -18,6 +18,11 @@
"gaming"
],
"aliases": [
"arrow-down-circle"
{
"name": "arrow-down-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -20,6 +20,11 @@
"gaming"
],
"aliases": [
"arrow-left-circle"
{
"name": "arrow-left-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -14,6 +14,11 @@
"navigation"
],
"aliases": [
"arrow-down-left-from-circle"
{
"name": "arrow-down-left-from-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -14,6 +14,11 @@
"navigation"
],
"aliases": [
"arrow-down-right-from-circle"
{
"name": "arrow-down-right-from-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -18,6 +18,11 @@
"development"
],
"aliases": [
"arrow-up-left-from-circle"
{
"name": "arrow-up-left-from-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -14,6 +14,11 @@
"navigation"
],
"aliases": [
"arrow-up-right-from-circle"
{
"name": "arrow-up-right-from-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -20,6 +20,11 @@
"gaming"
],
"aliases": [
"arrow-right-circle"
{
"name": "arrow-right-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -17,6 +17,11 @@
"gaming"
],
"aliases": [
"arrow-up-circle"
{
"name": "arrow-up-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -17,6 +17,11 @@
"notifications"
],
"aliases": [
"check-circle"
{
"name": "check-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -15,6 +15,11 @@
"notifications"
],
"aliases": [
"check-circle-2"
{
"name": "check-circle-2",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -13,6 +13,11 @@
"navigation"
],
"aliases": [
"chevron-down-circle"
{
"name": "chevron-down-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -16,6 +16,11 @@
"navigation"
],
"aliases": [
"chevron-left-circle"
{
"name": "chevron-left-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -15,6 +15,11 @@
"navigation"
],
"aliases": [
"chevron-right-circle"
{
"name": "chevron-right-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -14,6 +14,11 @@
"navigation"
],
"aliases": [
"chevron-up-circle"
{
"name": "chevron-up-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -14,6 +14,11 @@
"math"
],
"aliases": [
"divide-circle"
{
"name": "divide-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -18,6 +18,11 @@
"science"
],
"aliases": [
"gauge-circle"
{
"name": "gauge-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -22,6 +22,11 @@
"math"
],
"aliases": [
"minus-circle"
{
"name": "minus-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -15,6 +15,11 @@
"navigation"
],
"aliases": [
"parking-circle-off"
{
"name": "parking-circle-off",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -13,6 +13,11 @@
"navigation"
],
"aliases": [
"parking-circle"
{
"name": "parking-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -13,6 +13,11 @@
"multimedia"
],
"aliases": [
"pause-circle"
{
"name": "pause-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -20,6 +20,11 @@
"math"
],
"aliases": [
"percent-circle"
{
"name": "percent-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -1,7 +1,8 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"colebemis"
"colebemis",
"karsa-mistmere"
],
"tags": [
"music",
@@ -12,6 +13,11 @@
"multimedia"
],
"aliases": [
"play-circle"
{
"name": "play-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z" />
<circle cx="12" cy="12" r="10" />
<polygon points="10 8 16 12 10 16 10 8" />
</svg>

Before

Width:  |  Height:  |  Size: 289 B

After

Width:  |  Height:  |  Size: 352 B

View File

@@ -34,6 +34,11 @@
"gaming"
],
"aliases": [
"plus-circle"
{
"name": "plus-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -22,6 +22,11 @@
"connectivity"
],
"aliases": [
"power-circle"
{
"name": "power-circle",
"deprecationReason": "alias.name",
"deprecated": true,
"toBeRemovedInVersion": "v1.0"
}
]
}

Some files were not shown because too many files have changed in this diff Show More