Compare commits

...

18 commits

Author SHA1 Message Date
Pascal Jufer
2911b580e9
Fix building on Windows (#553) 2025-07-27 13:52:57 +02:00
Pascal Jufer
6e6d2e27ea
Update icon count 2025-07-27 12:42:18 +02:00
Pascal Jufer
ec9e470fda
Adjust discord label casing 2025-07-27 12:41:08 +02:00
Pascal Jufer
320c603674
Update readmes 2025-07-27 12:38:23 +02:00
Pascal Jufer
91f5ff77b3
Fix react-native module file path (#552) 2025-07-26 23:02:27 +02:00
Pascal Jufer
3a0e86816e
Updates & Clean-ups (#551) 2025-07-26 22:56:51 +02:00
Luca Burgio
ea8474ed13 fix: eslint 2025-07-21 09:42:55 +03:00
Luca Burgio
b12a69bf9e Merge branch 'main' of ssh://github.com/iconoir-icons/iconoir 2025-07-21 09:34:06 +03:00
Luca Burgio
569fa8246e chore: styling update on documentation nav 2025-07-21 09:28:15 +03:00
dependabot[bot]
4d9e934c61
build(deps-dev): bump vite from 6.2.6 to 6.2.7 (#533)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.2.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.7
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 09:25:29 +03:00
Pedro Simon
76b89cca9d
feat: add tags to existing icon in icons.csv (#536)
feat: add tags to existing icons in icons.csv
2025-07-21 09:23:44 +03:00
Luca Burgio
fc38183e2b chore: removed avatars 2025-07-21 09:21:25 +03:00
dependabot[bot]
e048feaae0
build(deps-dev): bump esbuild from 0.24.2 to 0.25.0 (#510)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.24.2 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.2...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 11:53:11 +02:00
Luca Burgio
48c6486a1d Merge branch 'main' of https://github.com/iconoir-icons/iconoir 2025-04-13 11:46:42 +02:00
Luca Burgio
80608c712a fix: add newline on package.json for eslint update 2025-04-13 11:46:19 +02:00
lucaburgio
99165c8e8e Update build artifacts 2025-04-13 09:30:05 +00:00
dependabot[bot]
a0357830a5
build(deps-dev): bump vite from 6.0.6 to 6.0.15 (#527)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.0.6 to 6.0.15.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.0.15/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.15/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.0.15
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 11:29:32 +02:00
dependabot[bot]
36cf751ed3
build(deps): bump next from 15.1.2 to 15.2.4 (#528)
Bumps [next](https://github.com/vercel/next.js) from 15.1.2 to 15.2.4.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.1.2...v15.2.4)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.2.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 11:09:07 +02:00
33 changed files with 4308 additions and 5435 deletions

View file

@ -22,6 +22,6 @@ jobs:
run: pnpm run build css
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v5
uses: stefanzweifel/git-auto-commit-action@v6
with:
commit_message: Update build artifacts

View file

@ -16,7 +16,7 @@ jobs:
steps:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v45
uses: tj-actions/changed-files@v46
- name: Checkout repository
uses: actions/checkout@v4

View file

@ -41,7 +41,7 @@ jobs:
TAG_NAME: ${{ github.ref_name }}
- name: Commit release
uses: stefanzweifel/git-auto-commit-action@v5
uses: stefanzweifel/git-auto-commit-action@v6
with:
commit_message: Release Version ${{ github.ref_name }}
branch: main

1
.node-version Normal file
View file

@ -0,0 +1 @@
22

View file

@ -41,6 +41,7 @@
"gql",
"graphql",
"astro",
"svelte",
"css",
"less",
"scss",

View file

@ -2,13 +2,12 @@
[![Version](https://img.shields.io/github/v/release/iconoir-icons/iconoir?style=flat-square)](https://github.com/iconoir-icons/iconoir/releases)
[![Project Stars](https://img.shields.io/github/stars/iconoir-icons/iconoir?style=flat-square)](https://github.com/iconoir-icons/iconoir)
[![React Library](https://img.shields.io/npm/dm/iconoir-react?color=98E8F3&label=react&style=flat-square)](https://www.npmjs.com/package/iconoir-react)
[![License](https://img.shields.io/github/license/iconoir-icons/iconoir?style=flat-square)](https://github.com/iconoir-icons/iconoir/blob/main/LICENSE)
[![Discord](https://img.shields.io/discord/998909400234348615?color=5865f2&label=Discord&style=flat-square)](https://discord.gg/txXcKCAmKW)
[![Discord](https://img.shields.io/discord/998909400234348615?color=5865f2&label=discord&style=flat-square)](https://discord.gg/txXcKCAmKW)
## What is Iconoir?
Iconoir is an open-source library with 1500+ unique SVG icons, designed on a 24x24 pixels grid.
Iconoir is an open-source library with 1600+ unique SVG icons, designed on a 24x24 pixels grid.
<a href="https://iconoir.com"><strong>Browse at iconoir.com &rarr;</strong></a>

View file

@ -1,3 +1,4 @@
import { normalize } from 'node:path';
import ts from 'typescript';
/**
@ -16,7 +17,7 @@ export function getDts(path, content, options) {
const _readFile = host.readFile;
host.readFile = (filename) => {
if (filename === path)
if (normalize(filename) === path)
return content;
return _readFile(filename);
@ -25,7 +26,7 @@ export function getDts(path, content, options) {
const dtsFilename = path.replace(/\.(m|c)?(ts|js)x?$/, '.d.$1ts');
host.writeFile = (filename, contents) => {
if (filename === dtsFilename)
if (normalize(filename) === dtsFilename)
output = contents;
};

View file

@ -1,4 +1,5 @@
import fs from 'node:fs/promises';
import { EOL } from 'node:os';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
@ -29,7 +30,7 @@ export default async (ctx, target) => {
const fileContent = await fs.readFile(icon.path, 'utf8');
const transformedContent = fileContent
.replace(/\n/g, '')
.replaceAll(EOL, '')
.replace(/(width|height)="\d+px"/g, '')
.replace(/ +/g, ' ');

View file

@ -7,7 +7,7 @@ export default async (ctx, target) => {
const outDir = path.join(target.path, 'lib');
const entryContent = ['library iconoir_flutter;'];
const entryContent = ['library;'];
for (const [variant, icons] of Object.entries(ctx.icons)) {
const variantOutDir = path.join(outDir, variant);

View file

@ -1,6 +1,5 @@
function template(name, svg) {
return `
import 'package:flutter/widgets.dart' as widgets;
return `import 'package:flutter/widgets.dart' as widgets;
import 'package:flutter_svg/flutter_svg.dart';
class ${name} extends widgets.StatelessWidget {
@ -8,18 +7,18 @@ class ${name} extends widgets.StatelessWidget {
final double? width;
final double? height;
const ${name}({widgets.Key? key, this.color, this.width, this.height})
: super(key: key);
const ${name}({super.key, this.color, this.width, this.height});
@override
widgets.Widget build(widgets.BuildContext context) => SvgPicture.string(
'''
'''
${svg}''',
colorFilter:
color != null ? widgets.ColorFilter.mode(color!, widgets.BlendMode.srcIn) : null,
width: width,
height: height,
);
colorFilter: color != null
? widgets.ColorFilter.mode(color!, widgets.BlendMode.srcIn)
: null,
width: width,
height: height,
);
}
`;
}

View file

@ -174,8 +174,10 @@ export default async (ctx, target) => {
async function getReactComponent(iconPath, native, template) {
const iconContent = await fs.readFile(iconPath, 'utf8');
const options = native ? nativeSvgrOptions : svgrOptions;
options.template = template;
const options = {
...(native ? nativeSvgrOptions : svgrOptions),
template,
};
return svgr.transform(iconContent, options);
}

View file

@ -8,7 +8,7 @@ export function getTemplate(native, iconoirContextPath) {
if (native)
variables.props[1].typeAnnotation.typeAnnotation.typeParameters.params[0].typeName.name = 'Svg';
const useClientDirective = native ? '' : '"use client";';
const useClientDirective = native ? [] : '"use client"';
const iconoirContextImport = generateImport(
['IconoirContext'],
@ -16,19 +16,19 @@ export function getTemplate(native, iconoirContextPath) {
);
return tpl`
${useClientDirective}
${variables.imports};
${iconoirContextImport}
${variables.interfaces};
${useClientDirective};
${variables.imports};
${iconoirContextImport}
${variables.interfaces};
const ${variables.componentName} = (${variables.props}) => {
const context = React.useContext(IconoirContext);
const props = { ...context, ...passedProps };
return ${variables.jsx};
};
const ${variables.componentName} = (${variables.props}) => {
const context = React.useContext(IconoirContext);
const props = { ...context, ...passedProps };
return ${variables.jsx};
};
${variables.exports};
${variables.exports};
`;
};
}

View file

@ -14,7 +14,8 @@ export default defineComponent<SVGAttributes>({
<template>
${svg}
</template>`;
</template>
`;
}
export default template;

View file

@ -95,7 +95,6 @@ export default antfu({
...hooksPlugin.configs.recommended.rules,
// rules from "eslint-config-next"
'import/no-anonymous-default-export': 'warn',
'react/no-unknown-property': 'off',
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',

View file

@ -8,7 +8,7 @@
"lint": "next lint"
},
"dependencies": {
"next": "15.1.2",
"next": "15.4.4",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},

View file

@ -10,21 +10,21 @@
"web": "expo start --web"
},
"dependencies": {
"expo": "^52.0.19",
"expo": "^53.0.20",
"expo-status-bar": "^2.0.0",
"iconoir-react-native": "workspace:*",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-native": "^0.76.5",
"react-native-svg": "^15.10.1",
"react-native-web": "^0.19.13"
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-native": "^0.79.5",
"react-native-svg": "^15.11.2",
"react-native-web": "^0.20.0"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@react-native/metro-config": "^0.76.5",
"@react-native/metro-config": "^0.79.5",
"@rnx-kit/metro-config": "^2.0.1",
"@rnx-kit/metro-resolver-symlinks": "^0.2.1",
"@types/react": "^18.3.12",
"typescript": "~5.7.2"
"@types/react": "^19.0.14",
"typescript": "~5.8.3"
}
}

View file

@ -10,18 +10,18 @@
"type-check": "vue-tsc --build"
},
"dependencies": {
"vue": "^3.5.13"
"vue": "^3.5.18"
},
"devDependencies": {
"@iconoir/vue": "workspace:*",
"@tsconfig/node22": "^22.0.0",
"@types/node": "^22.10.2",
"@vitejs/plugin-vue": "^5.2.1",
"@tsconfig/node22": "^22.0.2",
"@types/node": "^22.16.5",
"@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.7.0",
"npm-run-all2": "^7.0.2",
"typescript": "~5.7.2",
"vite": "^6.0.4",
"vite-plugin-vue-devtools": "^7.6.8",
"vue-tsc": "^2.1.10"
"npm-run-all2": "^8.0.4",
"typescript": "~5.8.3",
"vite": "^7.0.6",
"vite-plugin-vue-devtools": "^7.7.7",
"vue-tsc": "^3.0.4"
}
}

View file

@ -52,7 +52,6 @@ const NavigationItem = styled.div<{ $active?: boolean }>`
transition:
background 0.1s linear,
color 0.1s linear;
font-weight: 500;
font-size: 16px;
line-height: 14.5px;
letter-spacing: -0.02em;
@ -61,7 +60,7 @@ const NavigationItem = styled.div<{ $active?: boolean }>`
align-items: center;
text-decoration: none;
span {
font-weight: 500;
font-weight: 400;
}
> :not(:last-child) {
margin-right: 14px;
@ -72,7 +71,7 @@ const NavigationItem = styled.div<{ $active?: boolean }>`
text-decoration: underline;
}
${(props) => (props.$active ? 'span' : '&.noop')} {
font-weight: 700;
font-weight: 500;
}
${media.lg} {
padding: 12px 12px 12px 65px;

View file

@ -506,7 +506,7 @@ filename,category,tags
"fish","Animals",
"fishing","Activities",
"flare","Shapes",
"flash","Photos and Videos",
"flash","Photos and Videos","trigger,ray,bolt,lightning",
"flash-off","Photos and Videos",
"flask","Science",
"flip","Design Tools",

Can't render this file because it has a wrong number of fields in line 2.

View file

@ -9,36 +9,36 @@
},
"devDependencies": {
"@nodesecure/npm-registry-sdk": "^3.0.0",
"@octokit/rest": "^21.0.2",
"@react-aria/focus": "^3.19.0",
"@react-aria/i18n": "^3.12.4",
"@react-aria/slider": "^3.7.14",
"@react-aria/utils": "^3.26.0",
"@react-aria/visually-hidden": "^3.8.18",
"@react-stately/slider": "^3.6.0",
"@react-types/slider": "^3.7.7",
"@types/animejs": "^3.1.12",
"@types/lodash": "^4.17.13",
"@types/node": "^22.10.2",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.2",
"@octokit/rest": "^22.0.0",
"@react-aria/focus": "^3.21.0",
"@react-aria/i18n": "^3.12.11",
"@react-aria/slider": "^3.8.0",
"@react-aria/utils": "^3.30.0",
"@react-aria/visually-hidden": "^3.8.26",
"@react-stately/slider": "^3.7.0",
"@react-types/slider": "^3.8.0",
"@types/animejs": "^3.1.13",
"@types/lodash": "^4.17.20",
"@types/node": "^22.16.5",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@types/react-window": "^1.8.8",
"animejs": "^3.2.2",
"csvtojson": "^2.0.10",
"eslint-config-next": "^15.1.1",
"eslint-config-next": "^15.4.4",
"iconoir-react": "workspace:*",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"next": "^15.1.1",
"next": "^15.4.4",
"next-mdx-remote": "^5.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-window": "^1.8.11",
"remark-gfm": "^4.0.0",
"remark-gfm": "^4.0.1",
"remark-prism": "^1.3.6",
"scule": "^1.3.0",
"styled-components": "^6.1.13",
"typescript": "~5.7.2",
"styled-components": "^6.1.19",
"typescript": "~5.8.3",
"use-resize-observer": "^9.1.0"
}
}

View file

@ -1,19 +1,20 @@
import type { GetStaticPathsResult, GetStaticPropsContext } from 'next';
import type { MDXRemoteSerializeResult } from 'next-mdx-remote';
import type { ParsedUrlQuery } from 'node:querystring';
import type { DocumentationNavigationProps } from '../../components/DocumentationNavigation';
import type { HeaderProps } from '../../components/Header';
import fs from 'node:fs';
import path from 'node:path';
import process from 'node:process';
import { SuggestLibrary } from '@/components/SuggestLibrary';
import { serialize } from 'next-mdx-remote/serialize';
import remarkGfm from 'remark-gfm';
// @ts-expect-error untyped
import remarkPrism from 'remark-prism';
import styled from 'styled-components';
import { SuggestLibrary } from '@/components/SuggestLibrary';
import {
DocumentationNavigation,
type DocumentationNavigationProps,
} from '../../components/DocumentationNavigation';
import { Footer } from '../../components/Footer';
import { Header } from '../../components/Header';

View file

@ -1,17 +1,20 @@
import type { ChangelogEntryProps } from '../../components/ChangelogEntry';
import type { DocumentationNavigationProps } from '../../components/DocumentationNavigation';
import type { HeaderProps } from '../../components/Header';
import { serialize } from 'next-mdx-remote/serialize';
import remarkGfm from 'remark-gfm';
// @ts-expect-error untyped
import remarkPrism from 'remark-prism';
import {
ChangelogEntry,
type ChangelogEntryProps,
} from '../../components/ChangelogEntry';
import {
DocumentationNavigation,
type DocumentationNavigationProps,
} from '../../components/DocumentationNavigation';
import { Footer } from '../../components/Footer';
import { Header, type HeaderProps } from '../../components/Header';
import { Header } from '../../components/Header';
import { Layout } from '../../components/Layout';
import { ReadOnGitHub } from '../../components/ReadOnGitHub';
import { SEO } from '../../components/SEO';

View file

@ -11,7 +11,7 @@ import { HeaderBackground } from '../components/HeaderBackground';
import { Layout } from '../components/Layout';
import { SEO } from '../components/SEO';
import { Stat, StatsContainer } from '../components/Stats';
import { Text15, Text18 } from '../components/Typography';
import { Text18 } from '../components/Typography';
import { REPO, SUPPORT_LINK } from '../lib/constants';
import { getHeaderProps } from '../lib/getHeaderProps';
import { getAllIcons } from '../lib/getIcons';
@ -50,7 +50,7 @@ export const HeroTextSecondary = styled(HeroText)`
max-width: 1140px;
`;
const HeroDescription = styled(Text18)<{ topMargin?: number }>`
const HeroDescription = styled(Text18) <{ topMargin?: number }>`
display: block;
max-width: 750px;
margin: 0 auto;
@ -60,46 +60,6 @@ const HeroDescription = styled(Text18)<{ topMargin?: number }>`
}
`;
const Supporters = styled.div`
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin-bottom: 8px !important;
`;
const Supporter = styled.div<{ src?: string }>`
width: 40px;
height: 40px;
border-radius: 50%;
background-color: #000;
margin: 0 10px;
background-image: url(${(props) => props.src});
background-size: contain;
background-repeat: no-repeat;
background-position: center;
border: 2px solid white;
margin: 0 -4px;
transition: 0.2s;
&:hover {
scale: 1.1;
transition: 0.2s;
&:before {
content: attr(data-tooltip);
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
background-color: black;
color: white;
padding: 5px;
border-radius: 3px;
white-space: nowrap;
font-size: 12px;
}
}
`;
const SupportContainer = styled.div`
text-align: center;
> * {
@ -180,46 +140,6 @@ const Home: NextPage<HomeProps> = ({
>
<span>Donate</span>
</LargeButton>
<Supporters>
<Supporter
data-tooltip="Pierre Olivier Marec"
as="a"
href="https://github.com/pomarec"
rel="noopener sponsored"
src="https://avatars.githubusercontent.com/u/802933?v=4"
/>
<Supporter
data-tooltip="Tuan Hiep"
as="a"
href="https://opencollective.com/iconoir/contribute"
rel="noopener sponsored"
src="https://images.opencollective.com/tuan-hiep/17b1ef2/avatar.png?height=80"
/>
<Supporter
data-tooltip="Justin Kendrick"
as="a"
href="https://opencollective.com/iconoir/contribute"
rel="noopener sponsored"
src="https://images.opencollective.com/guest-39c79745/avatar.png?height=80"
/>
<Supporter
data-tooltip="Anon"
as="a"
href="https://opencollective.com/iconoir/contribute"
rel="noopener sponsored"
src="https://opencollective.com/static/images/default-guest-logo.svg"
/>
<Supporter
data-tooltip="Luca Burgio"
as="a"
href="https://twitter.com/burgioluca"
rel="noopener sponsored"
src="https://lucaburgio.com/images/profile2.png"
/>
</Supporters>
<Text15>
Join our supporters and help us continue developing Iconoir.
</Text15>
</SupportContainer>
<Explore allIcons={allIcons} />
</Layout>

View file

@ -2,7 +2,7 @@
"name": "iconoir",
"type": "module",
"version": "7.11.0",
"packageManager": "pnpm@9.15.1",
"packageManager": "pnpm@10.13.1",
"description": "Iconoir - The biggest open source icon library with tons of free icons.",
"license": "MIT",
"funding": {
@ -39,38 +39,24 @@
"prepublish-all": "node ./bin/prepublish.js"
},
"devDependencies": {
"@antfu/eslint-config": "^3.12.0",
"@antfu/eslint-config": "^5.0.0",
"@atomist/yaml-updater": "^1.0.2",
"@svgr/babel-plugin-remove-jsx-attribute": "^8.0.0",
"@svgr/core": "^8.1.0",
"@svgr/plugin-jsx": "^8.1.0",
"@vitejs/plugin-vue": "^5.2.1",
"esbuild": "^0.24.0",
"eslint": "^9.17.0",
"eslint-plugin-format": "^0.1.3",
"@vitejs/plugin-vue": "^6.0.0",
"esbuild": "^0.25.8",
"eslint": "^9.32.0",
"eslint-plugin-format": "^1.0.1",
"hast-util-from-html": "^2.0.3",
"hast-util-to-html": "^9.0.4",
"listr2": "^8.2.5",
"prettier": "^3.4.2",
"hast-util-to-html": "^9.0.5",
"listr2": "^9.0.1",
"prettier": "^3.6.2",
"scule": "^1.3.0",
"semver": "^7.6.3",
"tinypool": "1.0.2",
"typescript": "~5.7.2",
"vite": "^6.0.4",
"vite-plugin-dts": "^4.4.0"
},
"pnpm": {
"packageExtensions": {
"react-native-svg": {
"peerDependencies": {
"@types/react": "18"
}
},
"@types/react-window": {
"dependencies": {
"@types/react": "19"
}
}
}
"semver": "^7.7.2",
"tinypool": "1.1.1",
"typescript": "~5.8.3",
"vite": "^7.0.6",
"vite-plugin-dts": "^4.5.4"
}
}
}

View file

@ -1,7 +1,7 @@
# Iconoir - Flutter
[![Pub Version](https://img.shields.io/pub/v/iconoir_flutter?style=flat-square)](https://pub.dev/packages/iconoir_flutter)
[![Pub Popularity](https://img.shields.io/pub/popularity/iconoir_flutter?style=flat-square)](https://pub.dev/packages/iconoir_flutter/score)
[![Pub Monthly Downloads](https://img.shields.io/pub/dm/iconoir_flutter?style=flat-square)](https://pub.dev/packages/iconoir_flutter)
[![License](https://img.shields.io/github/license/iconoir-icons/iconoir?style=flat-square)](https://github.com/iconoir-icons/iconoir/blob/main/packages/iconoir-flutter/LICENSE)
[Iconoir](https://iconoir.com/) is an open-source library with 1300+ unique SVG icons, designed on a 24x24 pixels grid. No premium icons, no email sign-up, no newsletters.

View file

@ -5,58 +5,58 @@ packages:
dependency: transitive
description:
name: args
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.7.0"
async:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
url: "https://pub.dev"
source: hosted
version: "2.11.0"
version: "2.13.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
version: "2.1.2"
characters:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev"
source: hosted
version: "1.3.0"
version: "1.4.0"
clock:
dependency: transitive
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
version: "1.17.2"
version: "1.19.1"
fake_async:
dependency: transitive
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
version: "1.3.3"
flutter:
dependency: "direct main"
description: flutter
@ -66,163 +66,211 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "2.0.3"
flutter_svg:
dependency: transitive
description:
name: flutter_svg
sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338"
sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845
url: "https://pub.dev"
source: hosted
version: "2.0.7"
version: "2.2.0"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
http:
dependency: transitive
description:
name: http
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
url: "https://pub.dev"
source: hosted
version: "1.4.0"
http_parser:
dependency: transitive
description:
name: http_parser
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
url: "https://pub.dev"
source: hosted
version: "4.1.2"
iconoir_flutter:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
version: "7.0.0"
version: "7.11.0"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
url: "https://pub.dev"
source: hosted
version: "10.0.9"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
version: "3.0.9"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
lints:
dependency: transitive
description:
name: lints
sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "2.1.1"
matcher:
dependency: transitive
description:
name: matcher
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev"
source: hosted
version: "0.12.16"
version: "0.12.17"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
version: "0.5.0"
version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
version: "1.9.1"
version: "1.16.0"
path:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev"
source: hosted
version: "1.8.3"
version: "1.9.1"
path_parsing:
dependency: transitive
description:
name: path_parsing
sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.1.0"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646"
url: "https://pub.dev"
source: hosted
version: "5.4.0"
version: "6.1.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
source_span:
dependency: transitive
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.10.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.dev"
source: hosted
version: "1.11.0"
version: "1.12.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
version: "2.1.4"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.4.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev"
source: hosted
version: "1.2.1"
version: "1.2.2"
test_api:
dependency: transitive
description:
name: test_api
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev"
source: hosted
version: "0.6.0"
version: "0.7.4"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev"
source: hosted
version: "1.4.0"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: b16dadf7eb610e20da044c141b4a0199a5e8082ca21daba68322756f953ce714
sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6
url: "https://pub.dev"
source: hosted
version: "1.1.9"
version: "1.1.19"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: a4b01403d5c613db115e30e71eca33f7e9e09f2d3c52c3fb84e16333ecddc539
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.dev"
source: hosted
version: "1.1.9"
version: "1.1.13"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: d26c0e2f237476426523eb25512e4c09fa27c6d33ed659a0e69d79e20b5dc47f
sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
url: "https://pub.dev"
source: hosted
version: "1.1.9"
version: "1.1.17"
vector_math:
dependency: transitive
description:
@ -231,22 +279,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
url: "https://pub.dev"
source: hosted
version: "15.0.0"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
version: "1.1.1"
xml:
dependency: transitive
description:
name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev"
source: hosted
version: "6.3.0"
version: "6.5.0"
sdks:
dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=3.7.0-0"
dart: ">=3.7.0-0 <4.0.0"
flutter: ">=3.27.0"

View file

@ -7,15 +7,14 @@ funding:
- https://opencollective.com/iconoir
environment:
sdk: '>=2.17.1 <3.0.0'
flutter: '>=1.17.0'
sdk: ^3.8.0
dependencies:
flutter:
sdk: flutter
flutter_svg: ^2.0.4
flutter_svg: ^2.2.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.1
flutter_lints: ^6.0.0

View file

@ -35,17 +35,17 @@
}
},
"main": "dist/index.js",
"module": "dist/esm/index.js",
"module": "dist/esm/index.mjs",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"peerDependencies": {
"react": "18",
"react-native": ">=0.73.0",
"react-native-svg": "^15.8.0"
"react": "19",
"react-native": ">=0.78.0",
"react-native-svg": "^15.12.0"
},
"devDependencies": {
"@types/react": "^18.3.17"
"@types/react": "^19.1.8"
}
}
}

View file

@ -46,4 +46,4 @@
"devDependencies": {
"@types/react": "^19.0.1"
}
}
}

View file

@ -6,7 +6,7 @@
[Iconoir](https://iconoir.com/) is an open-source library with 1300+ unique SVG icons, designed on a 24x24 pixels grid. No premium icons, no email sign-up, no newsletters.
`@iconoir/vue` is an open source package that exports these icons as Vue.js components that can be used in all of your Vue projects. Thanks to `vue-demi`, both Vue 2 and Vue 3 are supported.
`@iconoir/vue` is an open source package that exports these icons as Vue.js components that can be used in your Vue project.
## Installation

View file

@ -44,4 +44,4 @@
"devDependencies": {
"@vue/tsconfig": "^0.7.0"
}
}
}

9467
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -2,3 +2,21 @@ packages:
- packages/*
- examples/*
- iconoir.com
injectWorkspacePackages: false
onlyBuiltDependencies:
- esbuild
- sharp
- unrs-resolver
packageExtensions:
'@types/react-window':
dependencies:
'@types/react': '19'
publicHoistPattern:
- '@next/eslint-plugin-next'
- eslint-plugin-jsx-a11y
- eslint-plugin-react
- eslint-plugin-react-hooks