Compare commits

...

65 Commits

Author SHA1 Message Date
Jakob Guddas
f4d451de80 fix(icons): redesigned house icon (#2116)
* Updated icons/home.svg

* Updated icons/home.json

* Updated icons/home.svg

* Updated icons/home.svg

* Updated icons/home.json

* Updated icons/home.svg

* Updated icons/home.json

* Updated icons/home.json

* fix(icons): renamed home to house

* feat(icons): update tags

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-06-21 12:52:28 +02:00
Jakob Guddas
1e887bc30f feat(icons): added house-plug icon (#2123)
* Added icons/home-plug.svg

* Added icons/home-plug.json

* Update icons/home-plug.json

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

* Updated icons/home-plug.json

* fix(icons): renamed home-plug to house-plug

* fix(icons): remove alias

* feat(icons): update tags

---------

Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-21 12:51:55 +02:00
Karsa
1442b9a35b feat(icons): added house-plus icon (#2221)
* feat(icons): add house-plus icon

* feat(icons): update categories

* feat(icons): add jguddas to house-plus as co-author
2024-06-21 12:50:20 +02:00
Jakob Guddas
41fd856578 feat(ci): check uniqueness of aliases (#2223) 2024-06-21 12:30:05 +02:00
Eric Fennis
621b60b19d fix(site): Aliases redirect (#2235)
* fix: Aliases redirect

* Fix lint errors

* Apply feedback
2024-06-20 16:13:38 +02:00
Karsa
b77e372f3e feat(icons): add additional rounding to sofa and armchair icons (#2228) 2024-06-20 09:51:49 +02:00
Karsa
d4891a7307 feat(docs): added accessibility guide (#2122)
* feat(docs): added a11y guide

* feat(docs): add further resources

* feat(docs): add more resources & note on aria label usage

* feat(docs): update illustration button labels

* feat(docs): fix misaligned overlay in icon button alttext illustration

* fix(docs): deprecate the use of aria label on illustrations and elaborate on not using it.

* feat(docs/a11y): added code examples & rephrased aria-label resource

* feat(docs/a11y): fix typos

* Update docs/guide/advanced/accessibility.md

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

* Apply suggestions from code review

Reformat headers, add RadixUI example.

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

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-06-17 16:12:24 +02:00
Jakob Guddas
199987276b feat(icons): redesigned mic-vocal icon (#2198)
* Updated icons/mic-vocal.svg

* Updated icons/mic-vocal.json
2024-06-14 12:48:41 +02:00
Jakob Guddas
5647b34594 feat: narrowed type for categories in icon.schema.json (#2126) 2024-06-14 12:47:46 +02:00
Jakob Guddas
439e463430 fix(icons): arcified guitar icon (#2133)
* Updated icons/guitar.svg

* Updated icons/guitar.json

* Updated icons/guitar.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-14 12:24:51 +02:00
Jakob Guddas
22921304a7 Updated icons/pin-off.svg (#2211) 2024-06-14 12:16:06 +02:00
Jakob Guddas
220abb1510 Updated icons/pin.svg (#2210) 2024-06-14 12:15:29 +02:00
Jakob Guddas
91ce9221e8 fix(icons): rebuild quote icon (#2212)
* Updated icons/quote.svg

* Updated icons/quote.json

* Updated icons/quote.svg

* Update icons/quote.svg

* Updated icons/quote.json
2024-06-14 12:12:17 +02:00
Garrett Pauls
904d74fe4a fix(lucide-svelte): update IconProps to include all properties of Icon component (#2182)
* fix(lucide-svelte): update IconProps to include all properties of Icon component

* fix(lucide-svelte): removed custom Icon type that conflicted with Icon component type

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-12 10:49:21 +02:00
Jakob Guddas
f507644488 fix(icons): added round corner to file-archive icon (#2132)
* Updated icons/file-archive.svg

* Updated icons/file-archive.json
2024-06-10 16:25:08 +02:00
Karsa
501b65a7a1 fix(icons): remove edit-2 alias from pen-off (#2209)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-10 16:14:36 +02:00
Jakob Guddas
14862fb0dc fix(icons): changed file-cog icon to match other -cog icons (#2184)
* Updated icons/file-cog.svg

* Updated icons/file-cog.json
2024-06-10 16:07:33 +02:00
Karsa
2963369c8d feat(icons): add pen-off pencil-off, update pen icons w/ rounding (#2186) 2024-06-10 16:04:12 +02:00
Karsa
1e20d5087a fix(icons): fixes/removes zero long path segments (#2205)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-10 13:16:03 +02:00
Karsa
4b312b369f fix(scripts): fixes writeIconRelatedIcons.mjs (#2190)
* fix(scripts): fixes writeIconRelatedIcons.mjs

* fix(scripts): fixes linting

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-07 10:10:17 +02:00
Karsa
afbef743de fix(site): fixes open collective logo in light mode (#2189)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-06 19:54:50 +02:00
Alexandre Philibert
864fdeca84 feat(icons): added calendar-cog icon (#2176)
* feat(icons): added calendar-cog icon

* feat(icons): cleanup calendar-cog icon

* feat(icons): fix indentation of calendar-cog icon

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-06 16:27:01 +02:00
Karsa
541add925c fix(icons): fixes duplicate tv-2 alias (#2188)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-06 16:26:09 +02:00
Karsa
2e7df30267 fix(icons): fix mismatched lines in dna & dna-off (#2187)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-06 15:08:32 +02:00
Viktor
0a578c8803 meta(icons): Added "liquid" tag to Droplet icon (#2152)
Co-authored-by: Karsa <contact@karsa.org>
2024-06-06 13:17:22 +02:00
Karsa
b227caee98 feat(icons): added tv-minimal-play (#2128)
* feat(icons): add tv-minimal-play icon, rename tv-2 to tv-minimal

* feat(icons/tv-minimal-play): add more tags

* feat(icons): add deprecation reason to tv-2 alias

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-06-06 13:16:25 +02:00
Jakob Guddas
72b74fbdb4 fix(icons): added round corners to signpost icon (#2002)
* Updated icons/signpost.svg

* Updated icons/signpost.svg

* Updated icons/signpost.json
2024-06-06 11:08:10 +02:00
Jakob Guddas
01d36ad363 fix(icons): added rounding to sigma icon (#2149)
* Updated icons/sigma.svg

* Update icons/sigma.svg

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

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-06-06 11:06:56 +02:00
Karsa
548cb9cdf5 feat(icons): added biceps-flexed icon (#2127) 2024-06-06 11:06:19 +02:00
Jakob Guddas
79430da42e fix(icons): arcified tractor icon (#2112)
* Updated icons/tractor.svg

* Updated icons/tractor.json

* Updated icons/tractor.svg

* Updated icons/tractor.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-06 11:02:31 +02:00
Karsa
0620843f4c fix(icons): added rounding to paintbrush (#2147)
* fix(icons): arcified paintbrush

* Update icons/paintbrush.svg

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

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-06-06 10:59:42 +02:00
Quill Zhou
34d063302a Add copy component name (#2169) 2024-06-05 23:22:19 +02:00
Jakub Różbicki
0abc3389db Update circle-slash.svg (#2183)
Having <line> after <circle> allows to set `fill` as a background and line would still be visible
2024-06-05 21:43:33 +02:00
Jakob Guddas
ebb8ec66af fix(icons): added rounding radical icon (#2150)
* Updated icons/radical.svg

* Updated icons/radical.svg

* Updated icons/radical.json
2024-06-02 12:05:05 +02:00
Jakob Guddas
f55ced97a5 fix(icons): added rounding to compass icon (#2143)
* Updated icons/compass.svg

* Updated icons/compass.json
2024-06-02 10:41:30 +02:00
Karsa
8458345535 feat(icons): added pill-bottle icon (#2174)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-06-02 10:39:11 +02:00
Karsa
66d6c2fe4b feat(icons): added lectern icon (#2171)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-30 12:56:40 +02:00
Karsa
053808685c feat(icons): added section icon (#2172)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-30 12:03:14 +02:00
Sayakie
4f2a6b70d8 fix license typos (#2161) 2024-05-24 12:06:03 +02:00
Karsa
d8004e471a feat(angular): add support for ng 18 (#2167)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-24 12:04:15 +02:00
Karsa
e2b46eac8e feat(icons): add deprecationReason and alias deprecation feature (#1960)
* feat(icons): add deprecationReason and alias deprecation feature

* chore(tools): run prettier. again.

* fix(scripts): overall alias as object support

* fix(icon.schema.json): add dependentRequired on deprecated properties

* fix(icon.schema.json): remove unicode for now

* fix(icon.schema.json): use const true for deprecated

* fix(build): convert deprecation reason to enum

* fix(build): fix linting of icon.schema.json

* fix(build): renamed gracePeriod => toBeRemovedInVersion

* fix(build): fix aliases map in related icons generation

* fix(build): deprecate aliases using numbers

* feat(icon-schema): separate deprecation reason enumerations, extract removal notice

* fix(icon-schema): fix linting

* Update tools/build-icons/utils/deprecationReasonTemplate.mjs

* fix(icons): add deprecation reason to some more icons

* fix(docs): fix linting issue

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
Co-authored-by: Jakob Guddas <github@jguddas.de>
2024-05-22 13:08:34 +02:00
Karsa
1b3173b17b fix(icons): arcified and renamed paintbrush-2 (#2146)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-21 15:34:42 +02:00
Eric Fennis
d5f4275055 fix(lucide-svelte): Remove export mergeClasses in svelte Icon (#2119)
* Remove export svelte icon

* formatting
2024-05-21 15:31:05 +02:00
Jakob Guddas
6abae7cc14 fix(icons): arcified key icon (#2067)
* Updated icons/key.svg

* Updated icons/key.json

* Update icons/key.svg

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

* Add space before close key.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-05-21 15:29:20 +02:00
Eric Fennis
f32ffcd2a2 fix(docs): Fix data api 2024-05-14 23:31:11 +02:00
Karsa
824bb897cf feat(figma): add data API endpoint for new plugin (#2018)
* feat(figma): add data API endpoint with every metadata needed by new Figma plugin

* chore(docs/api): extract data as static const

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-14 22:44:52 +02:00
Jakob Guddas
2843a76e28 docs(site): changed my name in the team section (#2142) 2024-05-13 08:23:53 +02:00
Jakob Guddas
155ff3319a fix: resolved broken icons as code details section issue (#2144) 2024-05-13 08:23:23 +02:00
Karsa
34dddb811b fix(icons): fix incorrect category name for diamond-plus/minus (#2125)
Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-03 17:15:48 +02:00
Daniel Bayley
5fead67bf3 Sort out loader/cursor icons (#1331)
* Add `loader-pinwheel` icon

* Optimise `loader` icon

* Improve `loader` metadata

* Add `loader-circle-big` variant

* Rename `loader-2` to `loader-circle`

* Improve `more-horizontal` metadata

* Add `mouse-pointer-ban` icon

* Improve `mouse-pointer` icons metadata

* Improve metadata

* Revert rename of `loader-2` to `loader-circle`

* Revert "Improve `more-horizontal` metadata"

This reverts commit 41fa676b15.

* Formatting

* Format pinwheel and remove loader-circle-big

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-05-03 10:31:21 +02:00
Karsa
48dc9372db fix(icons): add more Lucide-ish rounding to sparkle icons (#1937)
* fix(icons): add more Lucide-ish rounding to sparkle icons

* chore(icons): sharpen points ever so slightly for better visual weight

* chore(icons): linting fix

* chore(icons): update sparkles & moon-star icon as per Discord

---------

Co-authored-by: Karsa <karsa@sztaki.hu>
2024-05-03 10:27:46 +02:00
Karsa
747446fc76 fix(docs): fix uppercase import in lucide-static docs (#2118) 2024-05-03 08:34:04 +02:00
Jakob Guddas
5862ea735e fix(icons): arcified award icon (#2113)
* Updated icons/award.svg

* Update icons/award.svg

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

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-05-02 11:44:15 +02:00
Rob van Bakel
3a8a349771 fix: Prevent internal router from handling external links (#2107) 2024-04-28 11:22:07 +02:00
Eric Fennis
70bc2245c7 fix(lucide-svelte): Revert shared package for lucide-svelte (#2109)
* fix(lucide-svelte): Revert shared package for `lucide-svelte`

* Update lockfile
2024-04-28 11:05:58 +02:00
Eric Fennis
89f6b6357d fix: Revert moving createIcons to separate file 2024-04-26 19:39:48 +02:00
Jakob Guddas
354af456d3 fix(icons): added rounding to alarm-smoke icon (#2059)
* Updated icons/alarm-smoke.svg

* Updated icons/alarm-smoke.svg

* Updated icons/alarm-smoke.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2024-04-26 18:45:50 +02:00
Eric Fennis
e50582e93e feat(icon-component): Creating icons with iconNodes (#1997)
* Add useIconComponent, lucide-react

* Add concept useIconComponent

* add useIconComponents to packages

* Add icon component

* Add icon component

* Add tests for react packages

* Reset changes in icons

* Add types

* Add support for Icon components in Lucide Vue Next

* update tests

* Update tests

* Enable Svelte component

* Fix lucide-react-native tests

* Update Solid package

* update snapshots

* Add docs

* add docs

* Update tests

* Formatting

* Formatting

* Update package lock

* Remove `useIconComponent`

* Update guides

* Update exports preact and solid package

* Formatting

* Format createIcons.ts

* Add lucide lab repo link in docs
2024-04-26 17:59:04 +02:00
Eric Fennis
65deefa53c ci: Revert pnpm in pull-request.yml 2024-04-26 16:25:44 +02:00
Kyle Angelo Galendez
54ef137b49 feat(icons): added grid-2x2-x icon (#2085)
* Added icons/grid-2x2-x.svg

* Added icons/grid-2x2-x.json

* Archify grid-2x2-x.svg
2024-04-26 15:41:08 +02:00
Kyle Angelo Galendez
d4df542117 feat(icons): added grid-2x2-check icon (#2084)
* Added icons/grid-2x2-check.svg

* Added icons/grid-2x2-check.json

* Updated icons/grid-2x2-check.json

* Arcify grid-2x2-check.svg

* Unarcify the check
2024-04-26 15:40:50 +02:00
Jakob Guddas
8c1e56a7bf fix(icons): arcify activity icon (#2058)
* Updated icons/activity.svg

* Updated icons/activity.svg

* Updated icons/activity.json

* Updated icons/activity.svg

* Updated icons/activity.svg

* Update icons/activity.svg

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

---------

Co-authored-by: Karsa <contact@karsa.org>
2024-04-26 10:59:23 +02:00
Jakob Guddas
dff2172173 Updated icons/printer.svg (#2066) 2024-04-26 10:42:33 +02:00
Kyle Angelo Galendez
e8ccd3df7e Add more OS (#2101)
This includes ChromeOS, iOS, and Android to ensure the report is concise as possible.
2024-04-26 10:40:29 +02:00
Kyle Angelo Galendez
b593355537 Add more OS (#2100)
This includes ChromeOS, iOS, and Android to ensure the report is concise as possible.
2024-04-26 10:40:08 +02:00
317 changed files with 3745 additions and 830 deletions

View File

@@ -69,6 +69,9 @@ body:
- label: Windows
- label: Linux
- label: macOS
- label: ChromeOS
- label: iOS
- label: Android
- label: Other/not relevant
- type: textarea
id: description

View File

@@ -30,6 +30,9 @@ body:
- label: Windows
- label: Linux
- label: macOS
- label: ChromeOS
- label: iOS
- label: Android
- label: Other/not relevant
- type: textarea
id: description

View File

@@ -45,9 +45,8 @@ jobs:
with:
files: icons/*
- uses: actions/setup-node@v4
- uses: pnpm/action-setup@v2
- name: Install simple-git (safer and faster than installing all deps)
run: pnpm install simple-git
run: npm install simple-git
- name: Generate annotations
run: node ./scripts/updateContributors.mjs
env:
@@ -69,6 +68,16 @@ jobs:
# input: +++ b/icons/accessibility.json%0A@@ -2,0 +3 @@%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A
# output: ::$ANNOTATION_SEVERITY file=icons/accessibility.json,line=2,endLine=3,title=$ANNOTATION_TITLE::$ANNOTATION_DESCRIPTION%0A%0A+ "contributors": ["hi"],%0A@@ -13 +14 @@%0A+}%0A
lint-aliases:
name: Check Uniqueness of Aliases
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- 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 '^ 1 '
generate-changed-icons-comment:
runs-on: ubuntu-latest
permissions:
@@ -96,9 +105,8 @@ jobs:
body-includes: Added or changed icons
- uses: actions/setup-node@v4
- uses: pnpm/action-setup@v2
- name: Install svgson for code preview (safer and faster than installing all deps)
run: pnpm install svgson
run: npm install svgson
- name: Generate comment markup
run: node ./scripts/generateChangedIconsCommentMarkup.mjs >> comment-markup.md

1
.gitignore vendored
View File

@@ -34,6 +34,7 @@ docs/.vitepress/data/iconNodes
docs/.vitepress/data/iconMetaData.ts
docs/.vitepress/data/releaseMetaData.json
docs/.vitepress/data/releaseMetaData
docs/.vitepress/data/categoriesData.json
docs/.vitepress/data/iconDetails
docs/.vitepress/data/relatedIcons.json
docs/.vercel

View File

@@ -2,6 +2,10 @@ pnpm-lock.yaml
# docs examples
docs/**/examples/
docs/.vitepress/.temp
docs/.vitepress/cache
docs/.vitepress/data
docs/.nitro
# lucide-angular
packages/lucide-angular/.angular/cache

View File

@@ -1,4 +1,3 @@
import { eventHandler, setResponseHeader } from 'h3';
import iconMetaData from '../../data/iconMetaData';
export default eventHandler((event) => {

View File

@@ -0,0 +1,40 @@
import iconNodes from '../../data/iconNodes/index.ts';
import { IconNodeWithKeys } from '../../theme/types';
import iconMetaData from '../../data/iconMetaData';
import releaseMeta from '../../data/releaseMetaData.json';
import categories from '../../data/categoriesData.json';
const dataResponse = {
icons: Object.entries(iconNodes).reduce((acc, [name, iconNode]) => {
const newIconNode = (iconNode as IconNodeWithKeys).map(([name, { key, ...attrs }]) => {
return [name, attrs];
});
acc[name] = {
iconNode: newIconNode,
aliases: (iconMetaData[name]?.aliases ?? []).map((alias) =>
typeof alias === 'string' ? alias : alias.name,
),
tags: iconMetaData[name].tags ?? [],
categories: iconMetaData[name].categories ?? [],
...releaseMeta[name],
};
return acc;
}, {}),
aliases: Object.entries(iconNodes).reduce((acc, [name]) => {
for (const alias of iconMetaData[name]?.aliases ?? []) {
acc[typeof alias === 'string' ? alias : alias.name] = name;
}
return acc;
}, {}),
categories,
};
export default eventHandler((event) => {
setResponseHeader(event, 'Cache-Control', 'public, max-age=86400');
setResponseHeader(event, 'Access-Control-Allow-Origin', '*');
return dataResponse;
});

View File

@@ -1,4 +1,3 @@
import { eventHandler, setResponseHeader } from 'h3';
import iconMetaData from '../../data/iconMetaData';
export default eventHandler((event) => {

View File

@@ -31,8 +31,8 @@
]
},
{
"name": "jguddas",
"title": "Maintainer of Lucide & Software engineer @lego",
"name": "Jakob Guddas",
"title": "Maintainer of Lucide & Software engineer @LEGO",
"image": "https://github.com/jguddas.png?size=192",
"socialLinks": [
{

View File

@@ -31,10 +31,10 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
{
text: 'Advanced',
items: [
// {
// text: 'Accessibility',
// link: '/guide/advanced/accessibility'
// },
{
text: 'Accessibility',
link: '/guide/advanced/accessibility',
},
{
text: 'Global styling',
link: '/guide/advanced/global-styling',

View File

@@ -7,7 +7,16 @@ const props = defineProps<{
href?: string
}>()
const isExternal = computed(() => props.href?.startsWith('http') ?? false)
const component = computed(() => props.href ? 'a' : 'div')
const target = computed(() => isExternal.value ? '_blank' : undefined)
const rel = computed(() => isExternal.value ? 'noreferrer noopener' : undefined)
const onClick = computed(() => {
if(!props.href || isExternal) return
return go(props.href)
})
</script>
<template>
@@ -15,7 +24,9 @@ const component = computed(() => props.href ? 'a' : 'div')
:is="component"
:href="href"
class="badge"
@click="props?.href ? go(href) : undefined"
:target="target"
:rel="rel"
@click="onClick"
>
<slot/>
</component>

View File

@@ -8,8 +8,6 @@ import { data } from './HomeHeroBefore.data'
<HomeContainer class="container">
<Badge
:href="`https://github.com/lucide-icons/lucide/releases/tag/${data.version}`"
target="_blank"
rel="noreferrer noopener"
>v{{ data.version }}</Badge>
</HomeContainer>
</template>

View File

@@ -1,17 +1,23 @@
<script setup lang="ts">
import Card from '../base/Card.vue'
import HomeSectionTitle from './HomeSectionTitle.vue'
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue'
import Card from '../base/Card.vue';
import HomeSectionTitle from './HomeSectionTitle.vue';
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue';
</script>
<template>
<HomeSectionTitle :headingLevel="3">
Sponsor the Lucide maintainers
</HomeSectionTitle>
<HomeSectionTitle :headingLevel="3"> Sponsor the Lucide maintainers </HomeSectionTitle>
<Card class="sponsor-card">
<img
src="/open-collective.png"
src="/company-logos/open-collective-light.svg"
alt="Open Collective logo"
class="logo light"
width="242"
height="42"
/>
<img
src="/company-logos/open-collective-dark.svg"
alt="Open Collective logo"
class="logo dark"
width="242"
height="42"
/>
@@ -37,6 +43,13 @@ import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vu
margin: auto 0;
}
html.dark .logo.dark {
display: none;
}
html:not(.dark) .logo.light {
display: none;
}
@media (min-width: 640px) {
.sponsor-card {
flex-direction: row;

View File

@@ -39,6 +39,12 @@ function copyJSX() {
navigator.clipboard.writeText(code)
}
function copyComponentName() {
const code = componentName.value
navigator.clipboard.writeText(code)
}
function copyVue() {
let attrs = ['']
@@ -101,6 +107,7 @@ function copyAngular() {
:popoverPosition="popoverPosition"
:options="[
{ text: 'Copy JSX' , onClick: copyJSX },
{ text: 'Copy Component Name' , onClick: copyComponentName },
{ text: 'Copy Vue' , onClick: copyVue },
{ text: 'Copy Svelte' , onClick: copyJSX },
{ text: 'Copy Angular' , onClick: copyAngular },

View File

@@ -55,8 +55,6 @@ const Expand = createLucideIcon('Expand', expand)
v-if="icon.createdRelease"
class="version"
:href="releaseTagLink(icon.createdRelease.version)"
target="_blank"
rel="noreferrer noopener"
>v{{ icon.createdRelease.version }}</Badge>
<IconButton @click="go(`/icons/${icon.name}`)">
<component :is="Expand" />

View File

@@ -1,4 +1,215 @@
---
title: Accessibility
---
# Accessibility
<!-- Description how you should use svg icons keeping web accessible -->
<!-- See @JanTrichter comment about some information to write this: https://github.com/lucide-icons/lucide/pull/1521#discussion_r1332141390 -->
Icons are pictures that show what something means without using words. They can be very helpful
because they can quickly give information.
However, not everyone can understand them easily. When using icons it is very important to consider
the following aspects of accessibility.
## Provide visible labels
Icons are a helpful tool to improve perception, but they aren't a replacement for text.
In most cases, it is probably a good idea to also provide a textual representation of your icon's
function.
![In short: Dont rely on communicating the function of elements by icons alone. Do also provide a written description of the your interactive elements. For example: write out "On this page" on your on-page navigation element.](../../images/a11y/visible-labels.svg?raw=true)
## Contrast
Ensure there's enough contrast between the icon and its background so that it's visible to people
with low vision or color vision deficiencies.
We recommend
following [WCAG 2.1 SC 1.4.3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html).
![In short: use a contrast ratio of at least 4.5:1](../../images/a11y/contrast.svg?raw=true)
## Use of color
Avoid relying solely on color to convey meaning in icons, as some users may have color blindness.
Instead, use additional visual cues like shape, shading or text.
![For example: Dont mark state with color, mark it with distinct visuals.](../../images/a11y/use-of-color.svg?raw=true)
## Interactivity
Ensure that interactive icons are accessible via keyboard navigation and provide clear feedback when
activated.
![](../../images/a11y/interactivity.svg?raw=true)
In most cases this is easily done by wrapping them in icon buttons.
## Minimum target size
Small targets can be difficult to click or touch, if your icon is interactive, we recommend that it
should have a minimum target size of 44×44 pixels.
![](../../images/a11y/target-size.svg?raw=true)
In practice, this doesn't necessarily mean that the icon itself should be this large, only its
interactive wrapper element.
## Meaningfulness
Icons should represent concepts or actions in a universally understandable way. Avoid using abstract
or ambiguous, or culture-specific symbols that might confuse some users.
![For example: Use universally understandable symbols and don't base your choice of icon on puns.](../../images/a11y/meaningfulness.svg?raw=true)
## Consistency
Maintain consistency in icon design and usage across your interface to help users learn and
understand their meanings more easily.
![For example: Dont use the same icon for multiple distinct purposes or meanings. Dont use different icons for the same purpose or function.](../../images/a11y/consistency.svg?raw=true)
## Text Alternatives
You may have to provide text labels or alternative text descriptions for icons, especially for
screen readers used by people with visual impairments.
However: descriptions should only be provided to standalone icons that aren't purely decorative, as
providing accessible names to non-functional elements only increases clutter when using screen
readers.
### On standalone icons
Icons are usually very unlikely to stand on their own with no semantically meaningful wrapper
element. In most cases they will be part of a badge, button (including icon buttons), navigation
item or other interactive UI element.
::: warning
In case some of your icons stand alone, and they serve a non-decorative function, make sure to
provide the appropriate accessible label for them.
:::
![In short: provide accessible label for semantic icons, but not for decorative icons.](../../images/a11y/alttext-standalone.svg?raw=true)
In general try to avoid using functional icons with no interactivity, we recommend that:
1) you either add a visible description next to them, or
2) place them in badges, labels or on buttons, and at least add a tooltip to them.
In any such case, it is preferred that the accessible name be provided for these interactive
elements (badges, buttons, nav items etc.) only, _not_ the icons themselves.
### On buttons
Do not provide an accessible label to icons when used on a button, as this label will be read out by
screen readers, leading to nonsensical text.
![](../../images/a11y/alttext-buttons.svg?raw=true)
::: details Code examples
```tsx
// Don't do this
<button>
<Plus aria-label="Plus icon"/>
Add document
</button>
// Do this, just leave it
<button>
<Plus/>
Add document
</button>
```
:::
### On icon buttons
Icon buttons are buttons that do not contain any visible text apart from the icon itself (think of
the close button of a dialog for example).
As previously stated, you should provide your accessible label on the icon button itself, not the
contained icon.
![](../../images/a11y/alttext-iconbuttons.svg?raw=true)
::: details Code examples
```tsx
// Don't do this
<button class="btn-icon">
<Home/>
</button>
// Don't do this either
<button class="btn-icon">
<Home aria-label="Home icon"/>
</button>
// This works but might not be the best solution, see below
<button aria-label="Go to home" class="btn-icon">
<Home/>
</button>
// Do this instead
<button class="btn-icon">
<Home/>
<span class="visually-hidden">Go to home</span>
</button>
```
:::
## A note on `aria-label`
Although you could provide accessible labels to your elements via the `aria-label` attribute, we
generally recommend avoiding this and instead suggest that you use your chosen CSS framework's "
visually hidden" utility whenever possible. You can
[read more about why `aria-label` might not be the best solution](https://gomakethings.com/revisting-aria-label-versus-a-visually-hidden-class/).
### Example - Radix UI
Use [Radix UI's built-in accessible icon utility component](https://www.radix-ui.com/primitives/docs/utilities/accessible-icon).
```tsx
import { ArrowRightIcon } from 'lucide-react';
import { AccessibleIcon } from '@radix-ui/react-accessible-icon';
<AccessibleIcon label="Next item">
<ArrowRightIcon />
</AccessibleIcon>
```
### Example - Bootstrap
```html
<div>
<i data-lucide="phone" aria-hidden="true"></i>
<span class="visually-hidden">Phone number</span>
</div>
```
### Example - Tailwind CSS
```html
<div>
<i data-lucide="phone" aria-hidden="true"></i>
<span class="sr-only">Phone number</span>
</div>
```
If you're not sure, you may consider learning more
about [how to hide content.](https://www.a11yproject.com/posts/how-to-hide-content/)
## Further resources
We also recommend checking out the following resources about accessibility:
- [Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/)
- [Web Accessibility Initiative (WAI)](https://www.w3.org/WAI/)
- [Learn accessibility on web.dev](https://web.dev/learn/accessibility)
- [Inclusive Components](https://inclusive-components.design/)
- [A11yTalks](https://www.a11ytalks.com/)
- [A11y automation tracker](https://a11y-automation.dev/)
- [The A11Y Project](https://www.a11yproject.com/)

View File

@@ -20,6 +20,12 @@ As new applications with specific features arise, Lucide aims to provide a compl
In addition to design, code is also important. Assets like icons can significantly increase bandwidth usage in web projects. With the growing internet, Lucide has a responsibility to keep their assets as small as possible. To achieve this, Lucide uses SVG compression and specific code architecture for tree-shaking abilities. After tree-shaking, you only ship the icons you used, which helps to keep software distribution size to a minimum.
## Accessibility
Icons are pictures that show what something means without using words. They can be very helpful because they can quickly give information.
However, not everyone can understand them easily. Read more about [how to use Lucide in an accessible way](./advanced/accessibility.md).
## Official Packages
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte),[Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).

View File

@@ -115,3 +115,20 @@ import { icons } from 'lucide-angular';
LucideAngularModule.pick(icons)
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used in the same way as the official icons.
```js
import { LucideAngularModule } from 'lucide-angular';
import { burger } from '@lucide/lab';
@NgModule({
imports: [
LucideAngularModule.pick({ burger })
]
})
export class AppModule { }
```

View File

@@ -67,6 +67,26 @@ const App = () => {
> SVG attributes in Preact aren't transformed, so if you want to change for example the `stroke-linejoin` you need to pass it in kebabcase. Basically how the SVG spec want you to write it. See this topic in the [Preact documentation](https://preactjs.com/guide/v10/differences-to-react/#svg-inside-jsx).
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like regular lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```jsx
import { Icon } from 'lucide-preact';
import { burger } from '@lucide/lab';
const App = () => (
<Icon iconNode={burger} />
);
```
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.

View File

@@ -61,6 +61,26 @@ const App = () => {
};
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like regular lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```jsx
import { Icon } from 'lucide-react-native';
import { burger } from '@lucide/lab';
const App = () => (
<Icon iconNode={burger} />
);
```
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.

View File

@@ -61,6 +61,26 @@ const App = () => {
};
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like regular lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```jsx
import { Icon } from 'lucide-react';
import { burger } from '@lucide/lab';
const App = () => (
<Icon iconNode={burger} />
);
```
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.

View File

@@ -61,6 +61,26 @@ const App = () => {
};
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like the regular Lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```jsx
import { Icon } from 'lucide-solid';
import { burger, sausage } from '@lucide/lab';
const App = () => (
<Icon iconNode={sausage} color="red"/>
);
```
## One generic icon component
It is possible to create one generic icon component to load icons. It's not recommended.

View File

@@ -143,7 +143,7 @@ and update the SVG as follows
### Icon Font
```css
@import ('~lucide-static/font/Lucide.css');
@import ('~lucide-static/font/lucide.css');
```
```html

View File

@@ -166,6 +166,27 @@ The package includes type definitions for all icons. This is useful if you want
For more details about typing the `svelte:component` directive, see the [Svelte documentation](https://svelte.dev/docs/typescript#types-componenttype).
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like the regular Lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```svelte
<script>
import { Icon } from 'lucide-svelte';
import { burger, sausage } from '@lucide/lab';
</script>
<Icon iconNode={burger} />
<Icon iconNode={sausage} color="red"/>
```
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.

View File

@@ -37,16 +37,16 @@ Each icon can be imported as a Vue component, which renders an inline SVG Elemen
You can pass additional props to adjust the icon.
```vue
<script setup>
import { Camera } from 'lucide-vue-next';
</script>
<template>
<Camera
color="red"
:size="32"
/>
</template>
<script setup>
import { Camera } from 'lucide-vue-next';
</script>
```
## Props
@@ -69,6 +69,28 @@ To customize the appearance of an icon, you can pass custom properties as props
</template>
```
## With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used by using the `Icon` component.
All props like regular lucide icons can be passed to adjust the icon appearance.
### Using the `Icon` component
This creates a single icon based on the iconNode passed and renders a Lucide icon component.
```vue
<script setup>
import { Icon } from 'lucide-vue-next';
import { burger } from '@lucide/lab';
</script>
<template>
<Icon :iconNode={burger} />
</template>
```
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.

View File

@@ -130,3 +130,18 @@ menuIcon.classList.add('my-icon-class');
const myApp = document.getElementById('app');
myApp.appendChild(menuIcon);
```
### With Lucide lab or custom icons
[Lucide lab](https://github.com/lucide-icons/lucide-lab) is a collection of icons that are not part of the Lucide main library.
They can be used in the same way as the official icons.
```js
import { burger } from '@lucide/lab';
createIcons({
icons: {
burger
}
});
```

View File

@@ -69,8 +69,6 @@ function releaseTagLink(version) {
<Label>Created:</Label>
<Badge
:href="releaseTagLink(params.createdRelease.version)"
target="_blank"
rel="noreferrer noopener"
>
v{{params.createdRelease.version}}
</Badge>
@@ -82,8 +80,6 @@ function releaseTagLink(version) {
<Label>Last changed:</Label>
<Badge
:href="releaseTagLink(params.changedRelease.version)"
target="_blank"
rel="noreferrer noopener"
>
v{{params.changedRelease.version}}
</Badge>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 112 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 101 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 244 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 209 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 50 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 118 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 239 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 76 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 142 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -12,6 +12,7 @@
"prebuild:iconNodes": "node ../scripts/writeIconNodes.mjs",
"prebuild:metaJson": "node ../scripts/writeIconMetaIndex.mjs",
"prebuild:releaseJson": "node ../scripts/writeReleaseMetadata.mjs",
"prebuild:categoriesJson": "node ./scripts/writeCategoriesMetadata.mjs",
"prebuild:relatedIcons": "node ../scripts/writeIconRelatedIcons.mjs",
"prebuild:iconDetails": "node ../scripts/writeIconDetails.mjs",
"postbuild:vercelJson": "node ../scripts/writeVercelOutput.mjs",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -0,0 +1,35 @@
import fs from 'fs';
import path from 'path';
const currentDir = process.cwd();
const dataDirectory = path.resolve(currentDir, '.vitepress/data');
const directory = path.join(process.cwd(), '../categories');
function getAllCategoryFiles() {
const fileNames = fs.readdirSync(directory).filter((file) => path.extname(file) === '.json');
return fileNames.map((fileName) => {
const name = path.basename(fileName, '.json');
const fileContent = fs.readFileSync(path.join(directory, fileName), 'utf8');
const parsedFileContent = JSON.parse(fileContent);
return {
name,
title: parsedFileContent.title,
};
});
}
const categoriesFile = path.resolve(dataDirectory, `categoriesData.json`);
const categoriesData = getAllCategoryFiles();
fs.promises
.writeFile(categoriesFile, JSON.stringify(categoriesData, null, 2), 'utf-8')
.then(() => {
console.log('Successfully written categoriesData.json file');
})
.catch((error) => {
throw new Error(`Something went wrong generating the categoriesData.json file,\n ${error}`);
});

View File

@@ -21,14 +21,87 @@
"aliases": {
"type": "array",
"items": {
"type": "string"
"oneOf": [
{
"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"]
}
}
]
},
"uniqueItems": true
},
"categories": {
"type": "array",
"items": {
"type": "string"
"type": "string",
"enum": [
"accessibility",
"account",
"animals",
"arrows",
"brands",
"buildings",
"charts",
"communication",
"connectivity",
"currency",
"cursors",
"design",
"development",
"devices",
"emoji",
"files",
"food-beverage",
"furniture",
"gaming",
"home",
"layout",
"mail",
"maps",
"maths",
"medical",
"money",
"multimedia",
"nature",
"navigation",
"notifications",
"people",
"photography",
"science",
"seasons",
"security",
"shapes",
"shopping",
"social",
"sports",
"sustainability",
"text",
"time",
"tools",
"transportation",
"travel",
"weather"
]
},
"uniqueItems": true
},
@@ -49,8 +122,31 @@
"uniqueItems": true
},
"deprecated": {
"type": "boolean",
"default": false
"const": true
},
"deprecationReason": {
"$ref": "#/$defs/iconDeprecationReasons"
},
"toBeRemovedInVersion": {
"$ref": "#/$defs/versionNumber",
"description": "The version this icon will be removed in."
}
},
"dependentRequired": {
"deprecated": ["deprecationReason", "toBeRemovedInVersion"]
},
"$defs": {
"iconDeprecationReasons": {
"type": "string",
"enum": ["icon.brand"]
},
"aliasDeprecationReasons": {
"type": "string",
"enum": ["alias.typo", "alias.name"]
},
"versionNumber": {
"type": "string",
"pattern": "v[0-9]+(\\.[0-9]+)+"
}
},
"description": "A JSON Schema for icons defined by Lucide Icons."

View File

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

View File

@@ -9,5 +9,5 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 12h-4l-3 9L9 3l-3 9H2" />
<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2" />
</svg>

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 346 B

View File

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

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 8a2 2 0 0 1-2-2V3h20v3a2 2 0 0 1-2 2Z" />
<path d="m19 8-.8 3c-.1.6-.6 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L5 8" />
<path d="M16 21c0-2.5 2-2.5 2-5" />
<path d="M11 21c0-2.5 2-2.5 2-5" />
<path d="M16 21c0-2.5 2-2.5 2-5" />
<path d="m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8" />
<path d="M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z" />
<path d="M6 21c0-2.5 2-2.5 2-5" />
</svg>

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 481 B

View File

@@ -13,6 +13,6 @@
<path d="M16 16s-1.5-2-4-2-4 2-4 2" />
<path d="M7.5 8 10 9" />
<path d="m14 9 2.5-1" />
<path d="M9 10h0" />
<path d="M15 10h0" />
<path d="M9 10h.01" />
<path d="M15 10h.01" />
</svg>

Before

Width:  |  Height:  |  Size: 386 B

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -10,7 +10,7 @@
stroke-linejoin="round"
>
<path d="M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3" />
<path d="M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v2H7v-2a2 2 0 0 0-4 0Z" />
<path d="M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z" />
<path d="M5 18v2" />
<path d="M19 18v2" />
</svg>

Before

Width:  |  Height:  |  Size: 401 B

After

Width:  |  Height:  |  Size: 437 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526" />
<circle cx="12" cy="8" r="6" />
<path d="M15.477 12.89 17 22l-5-3-5 3 1.523-9.11" />
</svg>

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 376 B

View File

@@ -33,6 +33,11 @@
"account"
],
"aliases": [
"between-horizonal-end"
{
"name": "between-horizonal-end",
"deprecated": true,
"deprecationReason": "alias.typo",
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -33,6 +33,11 @@
"account"
],
"aliases": [
"between-horizonal-start"
{
"name": "between-horizonal-start",
"deprecated": true,
"deprecationReason": "alias.typo",
"toBeRemovedInVersion": "v1.0"
}
]
}

20
icons/biceps-flexed.json Normal file
View File

@@ -0,0 +1,20 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere"
],
"tags": [
"arm",
"muscle",
"strong",
"working out",
"athletic",
"toned",
"muscular",
"forelimb",
"curled"
],
"categories": [
"emoji"
]
}

15
icons/biceps-flexed.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1" />
<path d="M15 14a5 5 0 0 0-7.584 2" />
<path d="M9.964 6.825C8.019 7.977 9.5 13 8 15" />
</svg>

After

Width:  |  Height:  |  Size: 500 B

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20" />
<path d="M16 8.2C16 7 15 6 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9C9 6 8 7 8 8.2c0 .6.3 1.2.7 1.6h0C10 11.1 12 13 12 13s2-1.9 3.3-3.1h0c.4-.4.7-1 .7-1.7z" />
<path d="M16 8.2C16 7 15 6 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9C9 6 8 7 8 8.2c0 .6.3 1.2.7 1.6C10 11.1 12 13 12 13s2-1.9 3.3-3.1c.4-.4.7-1 .7-1.7z" />
</svg>

Before

Width:  |  Height:  |  Size: 449 B

After

Width:  |  Height:  |  Size: 445 B

View File

@@ -15,7 +15,7 @@
<path d="M7 8v3" />
<path d="M12 8v3" />
<path d="M17 8v3" />
<path d="M7 4h0.01" />
<path d="M12 4h0.01" />
<path d="M17 4h0.01" />
<path d="M7 4h.01" />
<path d="M12 4h.01" />
<path d="M17 4h.01" />
</svg>

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 499 B

21
icons/calendar-cog.json Normal file
View File

@@ -0,0 +1,21 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere",
"ericfennis",
"AlexandrePhilibert"
],
"tags": [
"date",
"day",
"month",
"year",
"events",
"settings",
"gear",
"cog"
],
"categories": [
"time"
]
}

25
icons/calendar-cog.svg Normal file
View File

@@ -0,0 +1,25 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m15.2 16.9-.9-.4" />
<path d="m15.2 19.1-.9.4" />
<path d="M16 2v4" />
<path d="m16.9 15.2-.4-.9" />
<path d="m16.9 20.8-.4.9" />
<path d="m19.5 14.3-.4.9" />
<path d="m19.5 21.7-.4-.9" />
<path d="M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6" />
<path d="m21.7 16.5-.9.4" />
<path d="m21.7 19.5-.9-.4" />
<path d="M3 10h18" />
<path d="M8 2v4" />
<circle cx="18" cy="18" r="3" />
</svg>

After

Width:  |  Height:  |  Size: 639 B

View File

@@ -11,7 +11,7 @@
>
<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-3v0a3 3 0 0 0-3 3v4" />
<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" />

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 490 B

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"ericfennis"

View File

@@ -10,7 +10,7 @@
stroke-linejoin="round"
>
<path d="m18 7 4 2v11a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9l4-2" />
<path d="M14 22v-4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v4" />
<path d="M14 22v-4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v4" />
<path d="M18 22V5l-6-3-6 3v17" />
<path d="M12 7v5" />
<path d="M10 9h4" />

Before

Width:  |  Height:  |  Size: 411 B

After

Width:  |  Height:  |  Size: 409 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="9" x2="15" y1="15" y2="9" />
<circle cx="12" cy="12" r="10" />
<line x1="9" x2="15" y1="15" y2="9" />
</svg>

Before

Width:  |  Height:  |  Size: 285 B

After

Width:  |  Height:  |  Size: 285 B

View File

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

View File

@@ -13,5 +13,5 @@
<path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5" />
<path d="M16 4h2a2 2 0 0 1 1.73 1" />
<path d="M8 18h1" />
<path d="M18.4 9.6a2 2 0 0 1 3 3L17 17l-4 1 1-4Z" />
<path d="M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
</svg>

Before

Width:  |  Height:  |  Size: 451 B

After

Width:  |  Height:  |  Size: 539 B

View File

@@ -10,7 +10,7 @@
stroke-linejoin="round"
>
<rect width="8" height="4" x="8" y="2" rx="1" />
<path d="M10.4 12.6a2 2 0 0 1 3 3L8 21l-4 1 1-4Z" />
<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5" />
<path d="M4 13.5V6a2 2 0 0 1 2-2h2" />
<path d="M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
</svg>

Before

Width:  |  Height:  |  Size: 414 B

After

Width:  |  Height:  |  Size: 502 B

View File

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

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"ericfennis"

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

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

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z" />
<circle cx="12" cy="12" r="10" />
<polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76" />
</svg>

Before

Width:  |  Height:  |  Size: 322 B

After

Width:  |  Height:  |  Size: 351 B

View File

@@ -19,6 +19,11 @@
"social"
],
"aliases": [
"contact-2"
{
"name": "contact-2",
"deprecated": true,
"deprecationReason": "alias.name",
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -30,7 +30,7 @@
],
"categories": [
"multimedia",
"shape",
"shapes",
"photography",
"tools",
"devices"

View File

@@ -25,7 +25,7 @@
],
"categories": [
"multimedia",
"shape",
"shapes",
"photography",
"tools",
"devices"

View File

@@ -9,15 +9,14 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 2c-1.35 1.5-2.092 3-2.5 4.5M9 22c1.35-1.5 2.092-3 2.5-4.5" />
<path d="M2 15c3.333-3 6.667-3 10-3m10-3c-1.5 1.35-3 2.092-4.5 2.5" />
<path d="m17 6-2.5-2.5" />
<path d="m14 8-1.5-1.5" />
<path d="m7 18 2.5 2.5" />
<path d="m3.5 14.5.5.5" />
<path d="m20 9 .5.5" />
<path d="M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8" />
<path d="m17 6-2.891-2.891" />
<path d="M2 15c3.333-3 6.667-3 10-3" />
<path d="m2 2 20 20" />
<path d="m20 9 .891.891" />
<path d="M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1" />
<path d="M3.109 14.109 4 15" />
<path d="m6.5 12.5 1 1" />
<path d="m16.5 10.5 1 1" />
<path d="m10 16 1.5 1.5" />
<line x1="2" x2="22" y1="2" y2="22" />
<path d="m7 18 2.891 2.891" />
<path d="M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16" />
</svg>

Before

Width:  |  Height:  |  Size: 630 B

After

Width:  |  Height:  |  Size: 591 B

View File

@@ -9,15 +9,15 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 15c6.667-6 13.333 0 20-6" />
<path d="M9 22c1.798-1.998 2.518-3.995 2.807-5.993" />
<path d="M15 2c-1.798 1.998-2.518 3.995-2.807 5.993" />
<path d="m17 6-2.5-2.5" />
<path d="m14 8-1-1" />
<path d="m7 18 2.5 2.5" />
<path d="m3.5 14.5.5.5" />
<path d="m20 9 .5.5" />
<path d="m6.5 12.5 1 1" />
<path d="m16.5 10.5 1 1" />
<path d="m10 16 1.5 1.5" />
<path d="m14 8-1.5-1.5" />
<path d="M15 2c-1.798 1.998-2.518 3.995-2.807 5.993" />
<path d="m16.5 10.5 1 1" />
<path d="m17 6-2.891-2.891" />
<path d="M2 15c6.667-6 13.333 0 20-6" />
<path d="m20 9 .891.891" />
<path d="M3.109 14.109 4 15" />
<path d="m6.5 12.5 1 1" />
<path d="m7 18 2.891 2.891" />
<path d="M9 22c1.798-1.998 2.518-3.995 2.807-5.993" />
</svg>

Before

Width:  |  Height:  |  Size: 593 B

After

Width:  |  Height:  |  Size: 614 B

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"ahtohbi4"
],

View File

@@ -8,7 +8,14 @@
],
"tags": [
"water",
"weather"
"weather",
"liquid",
"fluid",
"wet",
"moisture",
"damp",
"bead",
"globule"
],
"categories": [
"weather",

View File

@@ -6,8 +6,14 @@
],
"tags": [
"water",
"humidity",
"weather"
"weather",
"liquid",
"fluid",
"wet",
"moisture",
"damp",
"bead",
"globule"
],
"categories": [
"weather"

View File

@@ -17,6 +17,11 @@
"navigation"
],
"aliases": [
"globe-2"
{
"name": "globe-2",
"deprecated": true,
"deprecationReason": "alias.name",
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -10,7 +10,7 @@
stroke-linejoin="round"
>
<path d="M21.54 15H17a2 2 0 0 0-2 2v4.54" />
<path d="M7 3.34V5a3 3 0 0 0 3 3v0a2 2 0 0 1 2 2v0c0 1.1.9 2 2 2v0a2 2 0 0 0 2-2v0c0-1.1.9-2 2-2h3.17" />
<path d="M11 21.95V18a2 2 0 0 0-2-2v0a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05" />
<path d="M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17" />
<path d="M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05" />
<circle cx="12" cy="12" r="10" />
</svg>

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 469 B

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

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

View File

@@ -9,10 +9,10 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v18" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<circle cx="10" cy="20" r="2" />
<path d="M10 7V6" />
<path d="M10 12v-1" />
<path d="M10 18v-2" />
<path d="M10 7V6" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01" />
<circle cx="10" cy="20" r="2" />
</svg>

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 442 B

View File

@@ -2,7 +2,8 @@
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere",
"danielbayley"
"danielbayley",
"jguddas"
],
"tags": [
"executable",
@@ -15,6 +16,11 @@
"files"
],
"aliases": [
"file-cog-2"
{
"name": "file-cog-2",
"deprecated": true,
"deprecationReason": "alias.name",
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -9,15 +9,15 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="m3.2 12.9-.9-.4" />
<path d="m3.2 15.1-.9.4" />
<path d="M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5" />
<path d="m4.9 11.2-.4-.9" />
<path d="m4.9 16.8-.4.9" />
<path d="m7.5 10.3-.4.9" />
<path d="m7.5 17.7-.4-.9" />
<path d="m9.7 12.5-.9.4" />
<path d="m9.7 15.5-.9-.4" />
<circle cx="6" cy="14" r="3" />
<path d="M6 10v1" />
<path d="M6 17v1" />
<path d="M10 14H9" />
<path d="M3 14H2" />
<path d="m9 11-.88.88" />
<path d="M3.88 16.12 3 17" />
<path d="m9 17-.88-.88" />
<path d="M3.88 11.88 3 11" />
</svg>

Before

Width:  |  Height:  |  Size: 558 B

After

Width:  |  Height:  |  Size: 614 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m18 5-3-3H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2" />
<path d="m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2" />
<path d="M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
<path d="M8 18h1" />
<path d="M18.4 9.6a2 2 0 1 1 3 3L17 17l-4 1 1-4Z" />
</svg>

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 476 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v10" />
<path d="M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5" />
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M10.4 12.6a2 2 0 1 1 3 3L8 21l-4 1 1-4Z" />
<path d="M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
</svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 458 B

View File

@@ -1,8 +1,5 @@
{
"$schema": "../icon.schema.json",
"aliases": [
"folder-cog-2"
],
"contributors": [
"karsa-mistmere"
],
@@ -17,5 +14,13 @@
],
"categories": [
"files"
],
"aliases": [
{
"name": "folder-cog-2",
"deprecated": true,
"deprecationReason": "alias.name",
"toBeRemovedInVersion": "v1.0"
}
]
}

View File

@@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5" />
<path d="M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01v0c.95.95 1 2.53-.2 3.74L17.5 21Z" />
<path d="M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z" />
</svg>

Before

Width:  |  Height:  |  Size: 477 B

After

Width:  |  Height:  |  Size: 475 B

View File

@@ -9,6 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8.4 10.6a2 2 0 0 1 3 3L6 19l-4 1 1-4Z" />
<path d="M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5" />
<path d="M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
</svg>

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 473 B

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

@@ -12,5 +12,5 @@
<line x1="3" x2="15" y1="22" y2="22" />
<line x1="4" x2="14" y1="9" y2="9" />
<path d="M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18" />
<path d="M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2h0a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5" />
<path d="M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5" />
</svg>

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 444 B

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

@@ -1,6 +1,8 @@
{
"$schema": "../icon.schema.json",
"deprecated": true,
"deprecationReason": "icon.brand",
"toBeRemovedInVersion": "v1.0",
"contributors": [
"colebemis",
"csandman",

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 11.5V9a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v1.4" />
<path d="M14 10V8a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v2" />
<path d="M10 9.9V9a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v5" />
<path d="M6 14v0a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0" />
<path d="M18 11v0a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0" />
<path d="M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4" />
<path d="M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" />
<path d="M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5" />
<path d="M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2" />
<path d="M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0" />
</svg>

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 507 B

32
icons/grid-2x2-check.json Normal file
View File

@@ -0,0 +1,32 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"chessurisme"
],
"tags": [
"table",
"rows",
"columns",
"blocks",
"plot",
"land",
"geometry",
"measure",
"data",
"size",
"width",
"height",
"distance",
"surface area",
"square meter",
"acre"
],
"categories": [
"text",
"layout",
"design",
"shapes",
"maths"
]
}

14
icons/grid-2x2-check.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3" />
<path d="m16 19 2 2 4-4" />
</svg>

After

Width:  |  Height:  |  Size: 343 B

32
icons/grid-2x2-x.json Normal file
View File

@@ -0,0 +1,32 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"chessurisme"
],
"tags": [
"table",
"rows",
"columns",
"data",
"blocks",
"plot",
"land",
"geometry",
"measure",
"size",
"width",
"height",
"distance",
"surface area",
"square meter",
"acre"
],
"categories": [
"text",
"layout",
"design",
"shapes",
"maths"
]
}

15
icons/grid-2x2-x.svg Normal file
View File

@@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3" />
<path d="m16 16 5 5" />
<path d="m16 21 5-5" />
</svg>

After

Width:  |  Height:  |  Size: 365 B

View File

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

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m20 7 1.7-1.7a1 1 0 0 0 0-1.4l-1.6-1.6a1 1 0 0 0-1.4 0L17 4v3Z" />
<path d="m17 7-5.1 5.1" />
<circle cx="11.5" cy="12.5" r=".5" fill="currentColor" />
<path d="M6 12a2 2 0 0 0 1.8-1.2l.4-.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4" />
<path d="m11.9 12.1 4.514-4.514" />
<path d="M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z" />
<path d="m6 16 2 2" />
<path d="M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z" />
<circle cx="11.5" cy="12.5" r=".5" fill="currentColor" />
</svg>

Before

Width:  |  Height:  |  Size: 568 B

After

Width:  |  Height:  |  Size: 669 B

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