Compare commits

..

No commits in common. "main" and "v3.35.0" have entirely different histories.

4267 changed files with 17575 additions and 22931 deletions

View File

@ -31,9 +31,9 @@ export const buildJsIcons = ({
let index = [];
Object.entries(allIcons).forEach(([type, icons]) => {
icons.forEach((icon, i) => {
// process.stdout.write(
// `Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
// );
process.stdout.write(
`Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
);
const children = icon.obj.children
.map(({ name, attributes }, i) => {
@ -107,9 +107,9 @@ export const buildIconsList = (name) => {
let index = [];
Object.entries(allIcons).forEach(([type, icons]) => {
icons.forEach((icon, i) => {
// process.stdout.write(
// `Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
// );
process.stdout.write(
`Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
);
const iconName = `${icon.name}${type !== 'outline' ? `-${type}` : ''}`;
@ -131,9 +131,9 @@ export const buildIconsDynamicImport = (name) => {
let dynamicImportString = 'export default {';
Object.entries(allIcons).forEach(([type, icons]) => {
icons.forEach((icon, i) => {
// process.stdout.write(
// `Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
// );
process.stdout.write(
`Building \`${name}\` ${type} ${i}/${icons.length}: ${icon.name.padEnd(42)}\r`,
);
const iconName = `${icon.name}${type !== 'outline' ? `-${type}` : ''}`,
iconNamePascal = `${icon.namePascal}${type !== 'outline' ? toPascalCase(type) : ''}`;

View File

@ -1,9 +1,10 @@
import { generateIconsPreview, getAllIcons, getPackageJson, GITHUB_DIR } from './helpers.mjs'
import { generateIconsPreview, getAllIcons, getArgvs, getPackageJson, GITHUB_DIR } from './helpers.mjs'
import path from 'path'
const p = getPackageJson()
const argv = getArgvs(),
p = getPackageJson()
const version = process.env.NEW_VERSION || `${p.version}`
const version = argv['new-version'] || `${p.version}`
if (version) {
const icons = getAllIcons()

View File

@ -1,8 +1,9 @@
import cp from 'child_process'
import { getPackageJson, printChangelog } from './helpers.mjs'
import { getArgvs, getPackageJson, printChangelog } from './helpers.mjs'
const p = getPackageJson(),
version = process.env.LATEST_VERSION || `${p.version}`
argv = getArgvs(),
version = argv['latest-version'] || `${p.version}`
if (version) {
cp.exec(`git diff ${version} HEAD --name-status ./icons`, function(err, ret) {

View File

@ -1,107 +0,0 @@
import { execSync } from 'child_process'
import { basename, join } from 'path'
import { ICONS_SRC_DIR, parseMatter } from './helpers.mjs'
// Check icon files added relative to base branch (for PR)
function getAddedIconsFromMain() {
try {
// Use BASE_SHA or BASE_REF from environment, fallback to origin/main
const baseRef = process.env.BASE_SHA || process.env.BASE_REF || 'origin/main'
const output = execSync(`git diff ${baseRef}...HEAD --name-status`, { encoding: 'utf-8' })
const addedIcons = []
output.split('\n').forEach(line => {
if (line.startsWith('A\t')) {
const filePath = line.substring(2)
// Filter only SVG files from icons/outline/ or icons/filled/ directories
if (filePath.match(/^icons\/(outline|filled)\/.+\.svg$/)) {
const iconPath = filePath.replace(/^icons\//, '')
addedIcons.push(iconPath)
}
}
})
return addedIcons
} catch (error) {
// Fallback: check relative to HEAD if base ref doesn't exist
try {
const output = execSync('git diff --diff-filter=A --name-only', { encoding: 'utf-8' })
const addedIcons = []
output.split('\n').forEach(filePath => {
if (filePath && filePath.match(/^icons\/(outline|filled)\/.+\.svg$/)) {
const iconPath = filePath.replace(/^icons\//, '')
addedIcons.push(iconPath)
}
})
return addedIcons
} catch {
return []
}
}
}
// Get GitHub raw file URL for icon
function getIconRawUrl(iconPath) {
// Use PR repo and SHA if available (for forks), otherwise fallback to current repo
const repo = process.env.PR_REPO || process.env.GITHUB_REPOSITORY || 'tabler/tabler-icons'
const ref = process.env.PR_SHA || process.env.GITHUB_SHA || 'main'
return `https://raw.githubusercontent.com/${repo}/${ref}/icons/${iconPath}`
}
// Generate markdown table for icons
function generateIconsTable(icons, type) {
if (icons.length === 0) {
return ''
}
const typeName = type === 'outline' ? 'Outline' : 'Filled'
let markdown = `### ${typeName} Icons (${icons.length})\n\n`
markdown += `| Icon | Name ${type === 'outline' ? '| Category | Tags ' : ''}|\n`
markdown += `|------|------${type === 'outline' ? '|------|------' : ''}|\n`
icons.forEach(iconPath => {
const iconName = basename(iconPath, '.svg')
const rawUrl = getIconRawUrl(iconPath)
const { data } = parseMatter(join(ICONS_SRC_DIR, iconPath))
const category = data.category || ''
const tags = data.tags || []
// Use GitHub raw file URL - GitHub Comments support external image URLs
markdown += `| <img src="${rawUrl}" width="240" height="240" alt="${iconName}" /> | \`${iconName}.svg\`${type === 'outline' ? ` | ${category || '❌ No category'} | ${tags.join(', ') || '❌ No tags' }` : ''}|\n`
})
markdown += `\n`
return markdown
}
// Generate markdown comment with table of added icons
function generateIconsComment(icons) {
if (icons.length === 0) {
return ''
}
// Group icons by type (outline/filled) with full paths
const outlineIcons = icons.filter(icon => icon.startsWith('outline/'))
const filledIcons = icons.filter(icon => icon.startsWith('filled/'))
let markdown = `## 📦 Added Icons\n\n`
markdown += `This PR adds **${icons.length}** new icon${icons.length > 1 ? 's' : ''}.\n\n`
markdown += generateIconsTable(outlineIcons, 'outline')
markdown += generateIconsTable(filledIcons, 'filled')
return markdown
}
const addedIcons = getAddedIconsFromMain()
if (addedIcons.length > 0) {
const comment = generateIconsComment(addedIcons)
console.log(comment)
} else {
process.exit(0)
}

View File

@ -14,56 +14,6 @@ import { globSync } from 'glob';
import { exec } from 'child_process';
import slash from 'slash';
export const strokes = {
200: 1,
300: 1.5,
400: 2,
}
export const categories = [
'Animals',
'Arrows',
'Badges',
'Brand',
'Buildings',
'Charts',
'Communication',
'Computers',
'Currencies',
'Database',
'Design',
'Development',
'Devices',
'Document',
'E-commerce',
'Electrical',
'Extensions',
'Food',
'Games',
'Gender',
'Gestures',
'Health',
'Laundry',
'Letters',
'Logic',
'Map',
'Math',
'Media',
'Mood',
'Nature',
'Numbers',
'Photography',
'Shapes',
'Sport',
'Symbols',
'System',
'Text',
'Vehicles',
'Version control',
'Weather',
'Zodiac'
]
export const iconTemplate = (type) =>
type === 'outline'
? `<svg
@ -115,12 +65,12 @@ const getSvgContent = (svg, type, name) => {
export const getAllIcons = (withContent = false, withObject = false) => {
let icons = {};
const limit = process.env['ICONS_LIMIT'] ? parseInt(process.env['ICONS_LIMIT'], 10) : Infinity;
const limit = process.env['ICONS_LIMIT'] || Infinity;
types.forEach((type) => {
icons[type] = globSync(slash(path.join(ICONS_SRC_DIR, `${type}/*.svg`)))
.sort((a, b) => a.localeCompare(b))
.slice(0, limit)
.sort()
.map((i) => {
const { data, content } = parseMatter(i),
name = basename(i, '.svg');
@ -553,17 +503,6 @@ export const getCompileOptions = () => {
};
export const convertIconsToImages = async (dir, extension, size = 240) => {
const rsvgConvertAvailable = await new Promise((resolve) => {
exec('command -v rsvg-convert', (error) => {
resolve(!error);
});
});
if (!rsvgConvertAvailable) {
console.log(`\nWarning: rsvg-convert not found. Skipping ${extension} conversion.`);
return;
}
const icons = getAllIcons();
await asyncForEach(Object.entries(icons), async function ([type, svgFiles]) {
@ -572,9 +511,9 @@ export const convertIconsToImages = async (dir, extension, size = 240) => {
await asyncForEach(svgFiles, async function (file, i) {
const distPath = path.join(dir, `./${type}/${file.name}.${extension}`);
// process.stdout.write(
// `Building \`icons/${extension}\` ${type} ${i}/${svgFiles.length}: ${file.name.padEnd(42)}\r`,
// );
process.stdout.write(
`Building \`icons/${extension}\` ${type} ${i}/${svgFiles.length}: ${file.name.padEnd(42)}\r`,
);
await new Promise((resolve, reject) => {
exec(`rsvg-convert -f ${extension} -h ${size} ${file.path} > ${distPath}`, (error) => {

View File

@ -64,7 +64,7 @@ types.forEach(type => {
}
if (existsSync(`./icons/${type}/${filename}.svg`)) {
const newFileData = readFileSync(`./icons/${type}/${filename}.svg`).toString()
const newFileData = fs.readFileSync(`./icons/${type}/${filename}.svg`).toString()
const m = newFileData.match(/(<!--.*-->)/gms)
if (m) {

View File

@ -24,8 +24,8 @@ types.forEach(type => {
.replace(/<line x1="([^"]+)" y1="([^"]+)" x2="([^"]+)" y2="([^"]+)"\s*\/>/g, function (f, x1, y1, x2, y2) {
return `<path d="M${x1} ${y1}L${x2} ${y2}" />`
})
.replace(/<circle cx="([^"]+)" cy="([^"]+)" r="([^"]+)"([^>]*)?\/>/g, function (f, cx, cy, r, attrs) {
return `<path d="M ${cx - r} ${cy}a ${r} ${r} 0 1 0 ${r * 2} 0a ${r} ${r} 0 1 0 ${r * -2} 0"${attrs}/>`
.replace(/<circle cx="([^"]+)" cy="([^"]+)" r="([^"]+)"\s+\/>/g, function (f, cx, cy, r) {
return `<path d="M ${cx} ${cy}m -${r} 0a ${r} ${r} 0 1 0 ${r * 2} 0a ${r} ${r} 0 1 0 ${r * -2} 0" />`
})
.replace(/<ellipse cx="([^"]+)" cy="([^"]+)" rx="([^"]+)"\s+\/>/g, function (f, cx, cy, rx) {
return `<ellipse cx="${cx}" cy="${cy}" rx="${rx}" ry="${rx}" />`
@ -33,8 +33,8 @@ types.forEach(type => {
.replace(/<ellipse cx="([^"]+)" cy="([^"]+)" rx="([^"]+)" ry="([^"]+)"\s+\/>/g, function (f, cx, cy, rx, ry) {
return `<path d="M${cx} ${cy}m -${rx} 0a${rx} ${ry} 0 1 0 ${rx * 2} 0a ${rx} ${ry} 0 1 0 -${rx * 2} 0" />`
})
.replace(/<rect width="([^"]+)" height="([^"]+)" x="([^"]+)" y="([^"]+)"(.*)?\/>/g, function (f, width, height, x, y, attrs) {
return `<rect x="${x}" y="${y}" width="${width}" height="${height}"${attrs} />`
.replace(/<rect width="([^"]+)" height="([^"]+)" x="([^"]+)" y="([^"]+)" rx="([^"]+)"\s+\/>/g, function (f, width, height, x, y, rx) {
return `<rect x="${x}" y="${y}" width="${width}" height="${height}" rx="${rx}" />`
})
.replace(/<rect x="([^"]+)" y="([^"]+)" rx="([^"]+)" width="([^"]+)" height="([^"]+)"\s+\/>/g, function (f, x, y, rx, width, height) {
return `<rect x="${x}" y="${y}" width="${height}" height="${height}" rx="${rx}" />`
@ -58,6 +58,7 @@ types.forEach(type => {
return `<path d="${r1}"`
})
.replace(/<path\s+d="([^"]+)"/g, function (f, d) {
const d2 = d
.replace(/m0 0/g, (f, m) => ``)
.replace(/ 0\./g, ' .')
@ -68,20 +69,7 @@ types.forEach(type => {
})
.replace(/d="m/g, 'd="M')
.replace(/([Aa])\s?([0-9.]+)[\s,]([0-9.]+)[\s,]([0-9.]+)[\s,]?([0-1])[\s,]?([0-1])[\s,]?(-?[0-9.]+)[\s,]?(-?[0-9.]+)/gi, '$1$2 $3 $4 $5 $6 $7 $8')
.replace(/<path[^>]*d=["']([^"']*?)a([\d.]+)\s+([\d.]+)\s([01])\s([01])\s([01]+)\s([0-9.-]+)\s([0-9.-]+)a\2\s+\3\s+([01])\s+([01])\s([01]+)\s([0-9.-]+)\s([0-9.-]+)z([^"']*?)["']\s+\/>/g, function (match, d, rx, ry, flag1, flag2, extra1, x1, y1, flag3, flag4, extra2, x2, y2, afterZ) {
return `<path d="${d}a${rx} ${ry} ${flag1} ${flag2} ${extra1} ${x1} ${y1}a${rx} ${ry} ${flag3} ${flag4} ${extra2} ${x2} ${y2}${afterZ}" />`
})
.replace(/<path[^>]*d=["']([^"']*?)M([0-9.-]+)\s([0-9.-]+)m([0-9.-]+)\s([0-9.-]+)([^"']*?)["'](.*)?\/>/g, function (match, d, x1, y1, x2, y2, afterM, attrs) {
return `<path d="${d}M${Number(x1) + Number(x2)} ${Number(y1) + Number(y2)}${afterM}"${attrs} />`
})
.replace(/\n\s+\n+/g, '\n')
.replace(/<path d="([^"]+)"/g, function (f, d) {
const d2 = d
.replace(/v0/g, (f, v) => ``)
.replace(/h0/g, (f, h) => ``)
return `<path d="${d2}"`
})
// Add icon template
svgFileContent = svgFileContent.replace(/<svg[^>]+>/, iconTemplate(type))

View File

@ -2,6 +2,7 @@ import { visualizer } from 'rollup-plugin-visualizer'
import license from 'rollup-plugin-license'
import esbuild from 'rollup-plugin-esbuild'
import { nodeResolve } from '@rollup/plugin-node-resolve';
import bundleSize from '@atomico/rollup-plugin-sizes';
const getRollupPlugins = (pkg, minify) => {
return [
@ -18,6 +19,7 @@ const getRollupPlugins = (pkg, minify) => {
This source code is licensed under the ${pkg.license} license.
See the LICENSE file in the root directory of this source tree.`
}),
bundleSize(),
visualizer({
sourcemap: false,
filename: `stats/${pkg.name}${minify ? '-min' : ''}.html`

View File

@ -1,10 +1,11 @@
import { globSync } from 'glob'
import { readFileSync, writeFileSync } from 'fs'
import path from 'path'
import { ICONS_SRC_DIR, getMaxUnicode, getPackageJson } from './helpers.mjs'
import { ICONS_SRC_DIR, getMaxUnicode, getArgvs, getPackageJson } from './helpers.mjs'
const pkg = getPackageJson(),
newVersion = process.env.NEW_VERSION || pkg.version
const argv = getArgvs(),
pkg = getPackageJson(),
newVersion = argv['new-version'] || pkg.version
const files = globSync(path.join(ICONS_SRC_DIR, '**/*.svg'))

View File

@ -1,9 +1,8 @@
import { globSync } from 'glob'
import fs from 'fs'
import { basename } from 'path'
import { HOME_DIR, ICONS_SRC_DIR, iconTemplate, parseMatter, types, getArgvs, categories } from './helpers.mjs'
import { HOME_DIR, ICONS_SRC_DIR, iconTemplate, parseMatter, types, getArgvs } from './helpers.mjs'
import { join } from 'path'
import { execSync } from 'child_process'
let error = false
@ -14,24 +13,6 @@ const outlineIconsNames = globSync(join(ICONS_SRC_DIR, 'outline/*.svg')).map(i =
let unicodes = []
// Validate that only .svg files exist in icons/filled and icons/outline directories
types.forEach(type => {
const dirPath = join(ICONS_SRC_DIR, type)
const files = fs.readdirSync(dirPath)
files.forEach(file => {
// Ignore .DS_Store (macOS system file)
if (file === '.DS_Store') {
return
}
if (!file.endsWith('.svg')) {
console.log(`⛔️ Directory \`icons/${type}\` contains non-SVG file: \`${file}\``)
error = true
}
})
})
const duplicateExists = (arr) => {
return new Set(arr).size !== arr.length
}
@ -41,30 +22,6 @@ const getIconName = (icon) => {
return icon.split('/').slice(-2).join('/')
}
function getAddedIconsFromMain() {
try {
// Use BASE_SHA or BASE_REF from environment, fallback to origin/main
const baseRef = process.env.BASE_SHA || process.env.BASE_REF || 'origin/main'
const output = execSync(`git diff ${baseRef}...HEAD --name-status`, { encoding: 'utf-8' })
const addedIcons = []
output.split('\n').forEach(line => {
if (line.startsWith('A\t')) {
const filePath = line.substring(2)
// Filter only SVG files from icons/outline/ or icons/filled/ directories
if (filePath.match(/^icons\/((outline|filled)\/.+\.svg)$/)) {
// add icon without icons/ prefix
addedIcons.push(filePath.replace(/^icons\//, ''))
}
}
})
return addedIcons
} catch (error) {
return []
}
}
types.forEach(type => {
const icons = globSync(join(ICONS_SRC_DIR, type, '*.svg')).sort()
@ -82,71 +39,6 @@ types.forEach(type => {
error = true
}
if (iconContent.includes('M0 0h24v24H0z')) {
console.log(`⛔️ Icon \`${iconName}\` contains empty rectangle path \`M0 0h24v24H0z\``)
error = true
}
// Check for SVG elements that should be converted to path
const invalidElements = ['<circle', '<rect', '<ellipse', '<line', '<polygon', '<polyline']
const foundInvalidElements = invalidElements.filter(el => iconContent.includes(el))
if (foundInvalidElements.length > 0) {
console.log(`⛔️ Icon \`${iconName}\` contains elements that should be converted to path: ${foundInvalidElements.join(', ')}`)
error = true
}
// Check for rectangle paths that end with 'z' (should not have closing 'z')
// Rectangle paths should have two arc commands next to each other with the same size (rx and ry)
const rectanglePathRegex = /<path[^>]*d=["']([^"']*?)a([\d.]+)\s+([\d.]+)\s+[01]\s+[01]\s([0-9.-]+)\s([0-9.-]+)\s[0-9.-]+a\2\s+\3\s+[01]\s+[01]\s[0-9.-]+\s([0-9.-]+)\s([0-9.-]+)z([^"']*?)["']\s+\/>/g
if (rectanglePathRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains rectangle path that ends with 'z' (should not have closing 'z')`)
error = true
}
// Check for path with 'z' followed by h/v/H/V command (invalid pattern)
const invalidZCommandRegex = /<path[^>]*d=["']([^"']*?)z[hvHV]([^"']*?)["']\s+\/>/g
if (invalidZCommandRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains path with 'z' followed by h/v/H/V command (invalid pattern)`)
error = true
}
// Check for path with 'm' (relative move) after 'M' (absolute move)
const invalidMAfterMRegex = /<path[^>]*d=["']([^"']*?)M[0-9.-]\s[0-9.-]*?m([^"']*?)["']/g
if (invalidMAfterMRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains path with 'm' (relative move) after 'M' (absolute move)`)
error = true
}
// Check for path with 'Z' (uppercase) - disallow Z from path
if (type === 'outline') {
const invalidZRegex = /<path[^>]*d=["'][^"']*Z[^"']*["']\s+\/>/gi
if (invalidZRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains path with 'Z'`)
error = true
}
}
// Check for empty path d=""
const emptyPathRegex = /<path[^>]*d=["']\s*["']/g
if (emptyPathRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains empty path d=""`)
error = true
}
// Check for v0 or h0 (forbidden, but v0.1, h0.5 etc. are allowed)
const forbiddenV0H0Regex = /<path[^>]*d="[^"']*[hv]0(?!\.\d)[^"']*"/g
if (forbiddenV0H0Regex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains forbidden v0 or h0`)
error = true
}
// Check for path with only M command (empty path)
const onlyMRegex = /<path[^>]*d=["']\s*[Mm][\s0-9.-]+\s*["']/g
if (onlyMRegex.test(iconContent)) {
console.log(`⛔️ Icon \`${iconName}\` contains path with only M command (empty path)`)
error = true
}
try {
const { data } = parseMatter(icon)
@ -213,50 +105,6 @@ Object.entries(aliases).forEach(([type, replacers]) => {
})
})
const addedIcons = getAddedIconsFromMain()
for (const icon of addedIcons) {
const iconPath = join(ICONS_SRC_DIR, icon)
try {
const { data, content } = parseMatter(iconPath)
if (data.unicode) {
console.log(`⛔️ Icon \`${icon}\` has unicode, but should not have it`)
error = true
}
if (data.version) {
console.log(`⛔️ New icon \`${icon}\` has version, but should not have it`)
error = true
}
if (!icon.match(/^(outline|filled)\/[a-z0-9-]+\.svg$/)) {
console.log(`⛔️ New icon \`${icon}\` has invalid name`)
error = true
}
// check if outline icon has category
if (icon.match(/^outline\//) ) {
if(!data.category) {
console.log(`⛔️ New outline icon \`${icon}\` has no category`)
error = true
} else if (!categories.includes(data.category)) {
console.log(`⛔️ New outline icon \`${icon}\` has invalid category \`${data.category}\`. Valid categories are: ${categories.join(', ')}`)
error = true
}
} else {
if (icon.match(/^filled\//) && data.category) {
console.log(`⛔️ New filled icon \`${icon}\` has category, but should not have it`)
error = true
}
}
} catch (error) {
console.log(`⛔️ New icon \`${icon}\` has invalid metadata`)
error = true
}
}
if (error) {
process.exit(1)
} else {

View File

@ -1,27 +1,7 @@
const sass = require("sass");
const path = require("path");
const eleventySass = require("eleventy-sass");
module.exports = function (eleventyConfig) {
eleventyConfig.addTemplateFormats("scss");
eleventyConfig.addExtension("scss", {
outputFileExtension: "css",
compile: async function(inputContent, inputPath) {
const parsed = path.parse(inputPath);
if (parsed.name.startsWith("_")) {
return;
}
const result = sass.compileString(inputContent, {
loadPaths: [parsed.dir || ".", path.join(process.cwd(), "src", "_includes")],
style: "expanded"
});
return async (data) => {
return result.css;
};
}
});
eleventyConfig.addPlugin(eleventySass);
eleventyConfig.addWatchTarget("./src");
eleventyConfig.addWatchTarget("./icons");

View File

@ -31,7 +31,6 @@ body:
- label: "@tabler/icons-react-native"
- label: "@tabler/icons-solid"
- label: "@tabler/icons-svelte"
- label: "@tabler/icons-svelte-runes"
- label: "@tabler/icons-vue"
- label: Figma plugin
- label: source/main

53
.github/labeler.yml vendored
View File

@ -11,18 +11,6 @@
- 'icons/**/*.svg'
- aliases.json
# For new icons
✨ new icons:
- changed-files:
- any-glob-to-any-file:
- 'icons/**/*.svg'
# For modified icons
🔧 modified icons:
- changed-files:
- any-glob-to-any-file:
- 'icons/**/*.svg'
# For Github Actions
🤖 github-actions:
- changed-files:
@ -50,18 +38,12 @@
- any-glob-to-any-file:
- 'packages/icons-preact/*'
# For Svelte 4 and below package
# For Svelte package
🔗 svelte package:
- changed-files:
- any-glob-to-any-file:
- 'packages/icons-svelte/*'
# For Svelte 5 package
🔗 svelte-runes package:
- changed-files:
- any-glob-to-any-file:
- 'packages/icons-svelte-runes/*'
# For SolidJS package
🔗 solid package:
- changed-files:
@ -80,36 +62,3 @@
- any-glob-to-any-file:
- 'packages/icons-sprite/*'
# For React Native package
🔗 react-native package:
- changed-files:
- any-glob-to-any-file:
- 'packages/icons-react-native/*'
# For PNG package
🔗 png package:
- changed-files:
- any-glob-to-any-file:
- 'packages/icons-png/*'
# For PDF package
🔗 pdf package:
- changed-files:
- any-glob-to-any-file:
- 'packages/icons-pdf/*'
# For tests
🧪 tests:
- changed-files:
- any-glob-to-any-file:
- 'test/**/*'
- 'packages/*/test.spec.*'
- 'packages/*/vitest.config.*'
# For website/documentation site
🌐 website:
- changed-files:
- any-glob-to-any-file:
- 'src/**/*'
- '*.liquid'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,76 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 292 160" width="292" height="160" style="color: #354052"><rect x="0" y="0" width="292" height="160" fill="#fff"></rect>
<symbol id="outline-alphabet-polish" 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="M7 10h2a2 2 0 0 1 2 2v5h-3a2 2 0 1 1 0 -4h3" /> <path d="M16 7v10" /> <path d="M18 11l-4 2" /> <path d="M10.5 17a1.5 1.5 0 0 0 0 3" />
</symbol>
<symbol id="outline-alphabet-runes" 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="M17 18v-12" /> <path d="M13 6l4 4l4 -4" /> <path d="M11 18l-7 -8l4 -4l4 4l-7 8" />
</symbol>
<symbol id="outline-blind" 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="M9 4a1 1 0 1 0 2 0a1 1 0 0 0 -2 0" /> <path d="M4 21l3 -4" /> <path d="M13 21l-2 -4l-3 -3l1 -6" /> <path d="M3 12l2 -3l4 -1l6 4" /> <path d="M16.5 14l3.5 7" />
</symbol>
<symbol id="outline-brand-tabnine" 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="M20 12l-12 6.75m12 -6.75l-12 -6.75m12 6.75v-4.527l-8 -4.473l-4 2.25m12 6.75v4.5l-8 4.5l-4 -2.25m0 -13.5l-4 2.222v9.028l4 2.25z" />
</symbol>
<symbol id="outline-circle-asterisk" 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 8.5v7" /> <path d="M9 10l6 4" /> <path d="M9 14l6 -4" /> <path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" />
</symbol>
<symbol id="outline-deaf" 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="M6 10a7 7 0 1 1 13 3.6a10 10 0 0 1 -2 2a8 8 0 0 0 -2 3a4.5 4.5 0 0 1 -6.8 1.4" /> <path d="M10 10a3 3 0 1 1 5 2.2" /> <path d="M5 13l4 4" /> <path d="M9 13l-4 4" />
</symbol>
<symbol id="outline-hexagon-asterisk" 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="M19.875 6.27c.7 .398 1.13 1.143 1.125 1.948v7.284c0 .809 -.443 1.555 -1.158 1.948l-6.75 4.27a2.27 2.27 0 0 1 -2.184 0l-6.75 -4.27a2.23 2.23 0 0 1 -1.158 -1.948v-7.285c0 -.809 .443 -1.554 1.158 -1.947l6.75 -3.98a2.33 2.33 0 0 1 2.25 0l6.75 3.98z" /> <path d="M12 8.5v7" /> <path d="M9 10l6 4" /> <path d="M9 14l6 -4" />
</symbol>
<symbol id="outline-ripple-down" 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="M3 7q 4.5 -3 9 0t 9 0" /> <path d="M3 17q 4.5 -3 9 0q .213 .142 .427 .27" /> <path d="M3 12q 4.5 -3 9 0q 2.006 1.338 4.012 1.482" /> <path d="M19 16v6" /> <path d="M22 19l-3 3l-3 -3" />
</symbol>
<symbol id="outline-ripple-up" 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="M3 7q 4.5 -3 9 0t 9 0" /> <path d="M3 17q 4.5 -3 9 0q .218 .144 .434 .275" /> <path d="M3 12q 4.5 -3 9 0q 1.941 1.294 3.882 1.472" /> <path d="M19 22v-6" /> <path d="M22 19l-3 -3l-3 3" />
</symbol>
<symbol id="outline-rosette-asterisk" 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="M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55z" /> <path d="M12 8.5v7" /> <path d="M9 10l6 4" /> <path d="M9 14l6 -4" />
</symbol>
<symbol id="outline-settings-ai" 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="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065" /> <path d="M9 14v-2.5a1.5 1.5 0 0 1 3 0v2.5" /> <path d="M9 13h3" /> <path d="M15 10v4" />
</symbol>
<symbol id="outline-sparkles-2" 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="M13 7a9.3 9.3 0 0 0 1.516 -.546c.911 -.438 1.494 -1.015 1.937 -1.932c.207 -.428 .382 -.928 .547 -1.522c.165 .595 .34 1.095 .547 1.521c.443 .918 1.026 1.495 1.937 1.933c.426 .205 .925 .38 1.516 .546a9.3 9.3 0 0 0 -1.516 .547c-.911 .438 -1.494 1.015 -1.937 1.932a9 9 0 0 0 -.547 1.521c-.165 -.594 -.34 -1.095 -.547 -1.521c-.443 -.918 -1.026 -1.494 -1.937 -1.932a9 9 0 0 0 -1.516 -.547" /> <path d="M3 14a21 21 0 0 0 1.652 -.532c2.542 -.953 3.853 -2.238 4.816 -4.806a20 20 0 0 0 .532 -1.662a20 20 0 0 0 .532 1.662c.963 2.567 2.275 3.853 4.816 4.806q .75 .28 1.652 .532a21 21 0 0 0 -1.652 .532c-2.542 .953 -3.854 2.238 -4.816 4.806a20 20 0 0 0 -.532 1.662a20 20 0 0 0 -.532 -1.662c-.963 -2.568 -2.275 -3.853 -4.816 -4.806a21 21 0 0 0 -1.652 -.532" />
</symbol>
<symbol id="outline-square-rotated-asterisk" 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="M13.446 2.6l7.955 7.954a2.045 2.045 0 0 1 0 2.892l-7.955 7.955a2.045 2.045 0 0 1 -2.892 0l-7.955 -7.955a2.045 2.045 0 0 1 0 -2.892l7.955 -7.955a2.045 2.045 0 0 1 2.892 0z" /> <path d="M12 8.5v7" /> <path d="M9 10l6 4" /> <path d="M9 14l6 -4" />
</symbol>
<symbol id="outline-subtitles-ai" 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="M11.5 19h-5.5a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v4" /> <path d="M7 15h5" /> <path d="M17 12h-3" /> <path d="M11 12h-1" /> <path d="M19 22.5a4.75 4.75 0 0 1 3.5 -3.5a4.75 4.75 0 0 1 -3.5 -3.5a4.75 4.75 0 0 1 -3.5 3.5a4.75 4.75 0 0 1 3.5 3.5" />
</symbol>
<symbol id="outline-subtitles-edit" 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="M11.5 19h-5.5a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v3" /> <path d="M7 15h5" /> <path d="M17 12h-3" /> <path d="M11 12h-1" /> <path d="M18.42 15.61a2.1 2.1 0 0 1 2.97 2.97l-3.39 3.42h-3v-3z" />
</symbol>
<symbol id="outline-subtitles-off" 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="M9 5h9a3 3 0 0 1 3 3v8a3 3 0 0 1 -.13 .874m-2.006 2a3 3 0 0 1 -.864 .126h-12a3 3 0 0 1 -3 -3v-8c0 -1.35 .893 -2.493 2.12 -2.869" /> <path d="M7 15h5" /> <path d="M17 12h-1" /> <path d="M12 12h-2" /> <path d="M3 3l18 18" />
</symbol>
<symbol id="outline-subtitles" 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="M18 5a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3z" /> <path d="M7 15h5" /> <path d="M15 15h2" /> <path d="M17 12h-3" /> <path d="M11 12h-1" />
</symbol>
<symbol id="outline-whisk" 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="M21.015 3.035l-16.515 16.465" /> <path d="M3.173 17.619a4.63 4.63 0 0 0 3.284 3.26a4.67 4.67 0 0 0 4.487 -1.194c1.85 -1.836 4.07 -10.65 4.07 -10.65s-8.88 2.296 -10.639 4.132a4.59 4.59 0 0 0 -1.202 4.452" />
</symbol>
<use xlink:href="#outline-alphabet-polish" x="24" y="24" width="24" height="24" />
<use xlink:href="#outline-alphabet-runes" x="68" y="24" width="24" height="24" />
<use xlink:href="#outline-blind" x="112" y="24" width="24" height="24" />
<use xlink:href="#outline-brand-tabnine" x="156" y="24" width="24" height="24" />
<use xlink:href="#outline-circle-asterisk" x="200" y="24" width="24" height="24" />
<use xlink:href="#outline-deaf" x="244" y="24" width="24" height="24" />
<use xlink:href="#outline-hexagon-asterisk" x="24" y="68" width="24" height="24" />
<use xlink:href="#outline-ripple-down" x="68" y="68" width="24" height="24" />
<use xlink:href="#outline-ripple-up" x="112" y="68" width="24" height="24" />
<use xlink:href="#outline-rosette-asterisk" x="156" y="68" width="24" height="24" />
<use xlink:href="#outline-settings-ai" x="200" y="68" width="24" height="24" />
<use xlink:href="#outline-sparkles-2" x="244" y="68" width="24" height="24" />
<use xlink:href="#outline-square-rotated-asterisk" x="24" y="112" width="24" height="24" />
<use xlink:href="#outline-subtitles-ai" x="68" y="112" width="24" height="24" />
<use xlink:href="#outline-subtitles-edit" x="112" y="112" width="24" height="24" />
<use xlink:href="#outline-subtitles-off" x="156" y="112" width="24" height="24" />
<use xlink:href="#outline-subtitles" x="200" y="112" width="24" height="24" />
<use xlink:href="#outline-whisk" x="244" y="112" width="24" height="24" />
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,55 +0,0 @@
name: Build
on:
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 10.26.2
- name: Install system dependencies for canvas and rsvg-convert
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
libcairo2-dev \
libpango1.0-dev \
libjpeg-dev \
libgif-dev \
librsvg2-dev \
librsvg2-bin
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Build
env:
ICONS_LIMIT: 100
run: pnpm exec turbo build

View File

@ -11,7 +11,7 @@ jobs:
pull-requests: write
issues: write
steps:
- uses: actions/stale@v9
- uses: actions/stale@v5
with:
days-before-issue-stale: 360
days-before-issue-close: 14

View File

@ -9,4 +9,4 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v6
- uses: actions/labeler@v5

View File

@ -1,105 +0,0 @@
name: Sync Icons to CDN
on:
push:
branches:
- main
paths:
- 'icons/**'
workflow_dispatch:
jobs:
sync-icons:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout main branch
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Sync icons and create release tag
id: sync
run: |
CDN_BRANCH="icons"
SOURCE_FOLDER="icons"
if [ ! -d "$SOURCE_FOLDER" ]; then
echo "No $SOURCE_FOLDER folder found"
exit 0
fi
# Get version from package.json
VERSION=$(node -p "require('./package.json').version")
VERSION_TAG="icons-v${VERSION}"
echo "Package version: $VERSION"
echo "Tag: $VERSION_TAG"
# Check if tag already exists
if git ls-remote --tags origin | grep -q "refs/tags/${VERSION_TAG}$"; then
echo "Tag $VERSION_TAG already exists, skipping"
echo "has_changes=false" >> $GITHUB_OUTPUT
exit 0
fi
# Store icons in temp location
mkdir -p /tmp/icons-sync
cp -r $SOURCE_FOLDER/* /tmp/icons-sync/
MAIN_SHA=$(git rev-parse --short HEAD)
# Setup CDN branch
if git ls-remote --heads origin $CDN_BRANCH | grep -q $CDN_BRANCH; then
git checkout $CDN_BRANCH
find . -maxdepth 1 ! -name '.git' ! -name '.' -exec rm -rf {} +
else
git checkout --orphan $CDN_BRANCH
git rm -rf .
fi
# Copy icons to root
cp -r /tmp/icons-sync/* .
git add -A
if git diff --staged --quiet; then
echo "No changes to sync"
echo "has_changes=false" >> $GITHUB_OUTPUT
exit 0
fi
git commit -m "v${VERSION}"
git push -u origin $CDN_BRANCH --force-with-lease
# Create versioned tag
git tag $VERSION_TAG
git push origin $VERSION_TAG
echo "has_changes=true" >> $GITHUB_OUTPUT
echo "version_tag=$VERSION_TAG" >> $GITHUB_OUTPUT
- name: Output CDN URLs
if: steps.sync.outputs.has_changes == 'true'
run: |
REPO="${{ github.repository }}"
TAG="${{ steps.sync.outputs.version_tag }}"
echo "═══════════════════════════════════════════════════════════"
echo " CDN URLs"
echo "═══════════════════════════════════════════════════════════"
echo ""
echo " https://cdn.jsdelivr.net/gh/${REPO}@${TAG}/<filename>"
echo ""
echo " Browse: https://cdn.jsdelivr.net/gh/${REPO}@${TAG}/"
echo ""
echo "═══════════════════════════════════════════════════════════"

51
.github/workflows/validate-icons.yml vendored Normal file
View File

@ -0,0 +1,51 @@
name: Validate icons
on: [pull_request]
permissions:
pull-requests: write
jobs:
validate:
if: github.repository == 'tabler/tabler-icons'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v3
name: Install pnpm
with:
version: 8
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Validate icons
id: validate
run: pnpm run --silent validate > ./comment-markup.md
continue-on-error: true
- name: Comment PR
uses: thollander/actions-comment-pull-request@v2
with:
filePath: ./comment-markup.md
comment_tag: validate
mode: recreate

View File

@ -1,129 +0,0 @@
name: Validate PR
on: [pull_request_target]
permissions:
pull-requests: write
jobs:
validate-pr:
if: github.repository == 'tabler/tabler-icons'
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Set base branch and PR info
run: |
BASE_REF="${{ github.event.pull_request.base.ref }}"
BASE_SHA="${{ github.event.pull_request.base.sha }}"
PR_REPO="${{ github.event.pull_request.head.repo.full_name }}"
PR_SHA="${{ github.event.pull_request.head.sha }}"
echo "BASE_REF=${BASE_REF}" >> $GITHUB_ENV
echo "BASE_SHA=${BASE_SHA}" >> $GITHUB_ENV
echo "PR_REPO=${PR_REPO}" >> $GITHUB_ENV
echo "PR_SHA=${PR_SHA}" >> $GITHUB_ENV
# Fetch base branch to ensure it's available
git fetch origin ${BASE_REF}:${BASE_REF} || true
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 10.26.2
- name: Install system dependencies for canvas and rsvg-convert
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
libcairo2-dev \
libpango1.0-dev \
libjpeg-dev \
libgif-dev \
librsvg2-dev \
librsvg2-bin
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Add in progress comment
id: add-in-progress-comment
uses: thollander/actions-comment-pull-request@v3
with:
comment-tag: validate
mode: upsert
message: |
🔄 Icons are being validated... Please wait...
continue-on-error: true
- name: Validate icons
id: validate
env:
BASE_REF: ${{ env.BASE_REF }}
BASE_SHA: ${{ env.BASE_SHA }}
run: pnpm run --silent validate > ./comment-markup.md
continue-on-error: true
- name: Comment PR
uses: thollander/actions-comment-pull-request@v3
with:
file-path: ./comment-markup.md
comment-tag: validate
mode: recreate
- name: Generate icons comment
id: generate-icons-comment
env:
BASE_REF: ${{ env.BASE_REF }}
BASE_SHA: ${{ env.BASE_SHA }}
PR_REPO: ${{ env.PR_REPO }}
PR_SHA: ${{ env.PR_SHA }}
run: pnpm run --silent generate-icons-comment > ./comment-icons.md || true
continue-on-error: true
- name: Check if icons were added
id: check-icons
run: |
if [ -s ./comment-icons.md ]; then
echo "has_icons=true" >> $GITHUB_OUTPUT
else
echo "has_icons=false" >> $GITHUB_OUTPUT
fi
- name: Comment PR with added icons
if: steps.check-icons.outputs.has_icons == 'true'
uses: thollander/actions-comment-pull-request@v3
with:
file-path: ./comment-icons.md
comment-tag: added-icons
mode: upsert
- name: Remove comment with added icons
if: steps.check-icons.outputs.has_icons == 'false'
uses: thollander/actions-comment-pull-request@v3
with:
comment-tag: added-icons
mode: delete

2
.gitignore vendored
View File

@ -6,6 +6,7 @@ package-lock.json
Gemfile.lock
packages-zip/*
.DS_Store
icons-outlined/
github
src/_icons/test.svg
src/test.svg
@ -37,4 +38,3 @@ packages/icons*/icons/*
!/**/.gitkeep
*.tgz
.env
.astro

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020-2026 Paweł Kuna
Copyright (c) 2020-2025 Paweł Kuna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -5,7 +5,7 @@
</p>
<p align="center">
A set of <!--icons-count-->5984<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke.
A set of <!--icons-count-->5963<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke.
<p>
<p align="center">
@ -37,7 +37,7 @@
## Preview
### Outline version (<!--icons-count-outline-->4985<!--/icons-count-outline--> icons)
### Outline version (<!--icons-count-outline-->4964<!--/icons-count-outline--> icons)
<p align="center">
<picture>
@ -232,7 +232,7 @@ After importing the _IconsModule_ in your feature or shared module, use the icon
For more usage documentation refer to [the official documentation](https://github.com/pierreavn/angular-tabler-icons).
### Svelte 4 and below
### Svelte
Svelte components available through [`@tabler/icons-svelte`](https://github.com/tabler/tabler-icons/tree/master/packages/icons-svelte) package.
@ -248,21 +248,6 @@ Svelte components available through [`@tabler/icons-svelte`](https://github.com/
</main>
```
### Svelte 5
Svelte 5 components available through [`@tabler/icons-svelte-runes`](https://www.npmjs.com/package/@tabler/icons-svelte-runes) package.
```js
<script lang="ts">
import { IconHeart } from '@tabler/icons-svelte-runes';
</script>
<main>
<IconHeart size={48} stroke={1} />
<IconHeart size="32" stroke={1.5} />
<IconHeart color="crimson" class="p-1" size="96" stroke="2" />
</main>
```
## CDN
All files included in `@tabler/icons` npm package are available over a CDN.

View File

@ -56,8 +56,7 @@
"mood-suprised": "mood-surprised",
"circle-dashed-letter-letter-v": "circle-dashed-letter-v",
"seeding": "seedling",
"seeding-off": "seedling-off",
"brand-adobe-premier": "brand-adobe-premiere"
"seeding-off": "seedling-off"
},
"filled": {
"discount-check": "rosette-discount-check",

View File

View File

@ -1,40 +0,0 @@
---
title: Tabler Icons for Svelte 5
---
![](https://raw.githubusercontent.com/tabler/tabler-icons/master/.github/packages/og-package-svelte.png)
## Installation
<TabsPackage name="@tabler/icons-svelte-runes" />
or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
```sveltehtml
<script lang="ts">
import { IconHeart } from '@tabler/icons-svelte-runes';
</script>
<main>
<IconHeart />
</main>
```
You can pass additional props to adjust the icon.
```html
<IconHeart size={48} stroke={1} />
```
### Props
| name | type | default |
| ------------- | -------- | ------------ |
| `size` | _Number_ | 24 |
| `color` | _String_ | currentColor |
| `stroke` | _Number_ | 2 |
| `class` | _String_ | |

View File

@ -9,5 +9,5 @@ unicode: "f6ea"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.051 6.844a1 1 0 0 0 -1.152 -.663l-.113 .03l-2.684 .895l-2.684 -.895l-.113 -.03a1 1 0 0 0 -.628 1.884l.109 .044l2.316 .771v.976l-1.832 2.75l-.06 .1a1 1 0 0 0 .237 1.21l.1 .076l.101 .06a1 1 0 0 0 1.21 -.237l.076 -.1l1.168 -1.752l1.168 1.752l.07 .093a1 1 0 0 0 1.653 -1.102l-.059 -.1l-1.832 -2.75v-.977l2.316 -.771l.109 -.044a1 1 0 0 0 .524 -1.221zm-3.949 -4.184a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.051 6.844a1 1 0 0 0 -1.152 -.663l-.113 .03l-2.684 .895l-2.684 -.895l-.113 -.03a1 1 0 0 0 -.628 1.884l.109 .044l2.316 .771v.976l-1.832 2.75l-.06 .1a1 1 0 0 0 .237 1.21l.1 .076l.101 .06a1 1 0 0 0 1.21 -.237l.076 -.1l1.168 -1.752l1.168 1.752l.07 .093a1 1 0 0 0 1.653 -1.102l-.059 -.1l-1.832 -2.75v-.977l2.316 -.771l.109 -.044a1 1 0 0 0 .524 -1.221zm-3.949 -4.184a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 662 B

After

Width:  |  Height:  |  Size: 663 B

View File

@ -9,6 +9,6 @@ unicode: "fa82"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M2 5a2 2 0 0 1 2 -2h16a2 2 0 0 1 2 2a2 2 0 0 1 -2 2h-16a2 2 0 0 1 -2 -2z" />
<path d="M2 3m0 2a2 2 0 0 1 2 -2h16a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-16a2 2 0 0 1 -2 -2z" />
<path d="M19 9c.513 0 .936 .463 .993 1.06l.007 .14v7.2c0 1.917 -1.249 3.484 -2.824 3.594l-.176 .006h-10c-1.598 0 -2.904 -1.499 -2.995 -3.388l-.005 -.212v-7.2c0 -.663 .448 -1.2 1 -1.2h14zm-5 2h-4l-.117 .007a1 1 0 0 0 0 1.986l.117 .007h4l.117 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z" />
</svg>

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 542 B

View File

@ -10,5 +10,5 @@ unicode: "fb20"
fill="currentColor"
>
<path d="M8.486 11.143a1 1 0 0 1 1.371 .343c1.045 1.74 1.83 3.443 2.392 5.237l.172 .581l.092 -.13c2.093 -2.921 4.48 -3.653 7.565 -2.7l.238 .077a1 1 0 1 1 -.632 1.898c-2.932 -.978 -4.73 -.122 -6.79 3.998c-.433 .866 -1.721 .673 -1.88 -.283c-.46 -2.76 -1.369 -5.145 -2.871 -7.65a1 1 0 0 1 .343 -1.371z" />
<path d="M6 4a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" />
<path d="M6 4a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z" />
</svg>

Before

Width:  |  Height:  |  Size: 517 B

After

Width:  |  Height:  |  Size: 518 B

View File

@ -10,5 +10,5 @@ unicode: "fb21"
fill="currentColor"
>
<path d="M14.143 11.486a1 1 0 0 1 1.714 1.028c-1.502 2.505 -2.41 4.89 -2.87 7.65c-.16 .956 -1.448 1.15 -1.881 .283c-2.06 -4.12 -3.858 -4.976 -6.79 -3.998a1 1 0 1 1 -.632 -1.898c3.2 -1.067 5.656 -.373 7.803 2.623l.091 .13l.011 -.04c.522 -1.828 1.267 -3.55 2.273 -5.3l.28 -.478z" />
<path d="M18 4a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" />
<path d="M18 4a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z" />
</svg>

Before

Width:  |  Height:  |  Size: 496 B

After

Width:  |  Height:  |  Size: 497 B

View File

@ -9,5 +9,5 @@ unicode: "f706"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -20 0c0 -5.523 4.477 -10 10 -10zm2 5a3 3 0 0 0 -2.98 2.65l-.015 .174l-.005 .176l.005 .176c.019 .319 .087 .624 .197 .908l.09 .209l-3.5 3.5l-.082 .094a1 1 0 0 0 0 1.226l.083 .094l1.5 1.5l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l.083 -.094a1 1 0 0 0 0 -1.226l-.083 -.094l-.792 -.793l.585 -.585l.793 .792l.094 .083a1 1 0 0 0 1.403 -1.403l-.083 -.094l-.792 -.793l.792 -.792a3 3 0 1 0 1.293 -5.708zm0 2a1 1 0 1 1 0 2a1 1 0 0 1 0 -2" />
<path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -20 0c0 -5.523 4.477 -10 10 -10zm2 5a3 3 0 0 0 -2.98 2.65l-.015 .174l-.005 .176l.005 .176c.019 .319 .087 .624 .197 .908l.09 .209l-3.5 3.5l-.082 .094a1 1 0 0 0 0 1.226l.083 .094l1.5 1.5l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l.083 -.094a1 1 0 0 0 0 -1.226l-.083 -.094l-.792 -.793l.585 -.585l.793 .792l.094 .083a1 1 0 0 0 1.403 -1.403l-.083 -.094l-.792 -.793l.792 -.792a3 3 0 1 0 1.293 -5.708zm0 2a1 1 0 1 1 0 2a1 1 0 0 1 0 -2z" />
</svg>

Before

Width:  |  Height:  |  Size: 642 B

After

Width:  |  Height:  |  Size: 643 B

View File

@ -9,5 +9,5 @@ version: "3.5"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M4.929 4.929a10 10 0 1 1 14.141 14.141a10 10 0 0 1 -14.14 -14.14m8.071 4.071a1 1 0 1 0 -2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0 -2h-2v-2z" />
<path d="M4.929 4.929a10 10 0 1 1 14.141 14.141a10 10 0 0 1 -14.14 -14.14zm8.071 4.071a1 1 0 1 0 -2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0 -2h-2v-2z" />
</svg>

Before

Width:  |  Height:  |  Size: 333 B

After

Width:  |  Height:  |  Size: 334 B

View File

@ -10,6 +10,6 @@ version: "3.34"
fill="currentColor"
>
<path d="M4 2h2a1 1 0 0 1 1 1v18a1 1 0 0 1 -1 1h-2a2 2 0 0 1 -2 -2v-16a2 2 0 0 1 2 -2" />
<path d="M9 3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v18a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
<path d="M9 2m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v18a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
<path d="M18 2h2a2 2 0 0 1 2 2v16a2 2 0 0 1 -2 2h-2a1 1 0 0 1 -1 -1v-18a1 1 0 0 1 1 -1" />
</svg>

Before

Width:  |  Height:  |  Size: 438 B

After

Width:  |  Height:  |  Size: 442 B

View File

@ -9,5 +9,5 @@ unicode: "fd10"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336zm-5 14.66a1 1 0 1 0 0 2a1 1 0 0 0 0 -2m3.684 -10.949l-6 2a1 1 0 0 0 -.633 .633l-2.007 6.026l-.023 .086l-.017 .113l-.004 .068v.044l.009 .111l.012 .07l.04 .144l.045 .1l.054 .095l.064 .09l.069 .075l.084 .074l.098 .07l.1 .054l.078 .033l.105 .033l.109 .02l.043 .005l.068 .004h.044l.111 -.009l.07 -.012l.02 -.006l.019 -.002l.074 -.022l6 -2a1 1 0 0 0 .633 -.633l2 -6a1 1 0 0 0 -1.265 -1.265zm-1.265 2.529l-1.21 3.629l-3.629 1.21l1.21 -3.629l3.629 -1.21zm-9.419 1.42a1 1 0 1 0 0 2a1 1 0 0 0 0 -2m14 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2m-7 -7a1 1 0 1 0 0 2a1 1 0 0 0 0 -2" />
<path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336zm-5 14.66a1 1 0 1 0 0 2a1 1 0 0 0 0 -2zm3.684 -10.949l-6 2a1 1 0 0 0 -.633 .633l-2.007 6.026l-.023 .086l-.017 .113l-.004 .068v.044l.009 .111l.012 .07l.04 .144l.045 .1l.054 .095l.064 .09l.069 .075l.084 .074l.098 .07l.1 .054l.078 .033l.105 .033l.109 .02l.043 .005l.068 .004h.044l.111 -.009l.07 -.012l.02 -.006l.019 -.002l.074 -.022l6 -2a1 1 0 0 0 .633 -.633l2 -6a1 1 0 0 0 -1.265 -1.265zm-1.265 2.529l-1.21 3.629l-3.629 1.21l1.21 -3.629l3.629 -1.21zm-9.419 1.42a1 1 0 1 0 0 2a1 1 0 0 0 0 -2zm14 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2zm-7 -7a1 1 0 1 0 0 2a1 1 0 0 0 0 -2z" />
</svg>

Before

Width:  |  Height:  |  Size: 802 B

After

Width:  |  Height:  |  Size: 806 B

View File

@ -9,5 +9,5 @@ unicode: "fd11"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M22 10v6a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-6h20zm-14.99 4h-.01a1 1 0 1 0 .01 2a1 1 0 0 0 0 -2m5.99 0h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0 -2zm5 -10a4 4 0 0 1 4 4h-20a4 4 0 0 1 4 -4h12z" />
<path d="M22 10v6a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-6h20zm-14.99 4h-.01a1 1 0 1 0 .01 2a1 1 0 0 0 0 -2zm5.99 0h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0 -2zm5 -10a4 4 0 0 1 4 4h-20a4 4 0 0 1 4 -4h12z" />
</svg>

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 360 B

View File

@ -1,11 +0,0 @@
<!--
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M19 19h-14c-.5 0 -.9 -.3 -1 -.8l-2 -10c0 -.4 .1 -.8 .5 -1.1c.4 -.2 .8 -.2 1.1 0l4.1 3.3l3.4 -5.1c.4 -.6 1.3 -.6 1.7 0l3.4 5.1l4.1 -3.3c.3 -.3 .8 -.3 1.1 0c.4 .2 .5 .6 .5 1.1l-2 10c0 .5 -.5 .8 -1 .8z" />
</svg>

Before

Width:  |  Height:  |  Size: 345 B

View File

@ -9,5 +9,5 @@ unicode: "f73e"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-6.333 8.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-6.333 8.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 437 B

After

Width:  |  Height:  |  Size: 438 B

View File

@ -9,5 +9,5 @@ unicode: "f73f"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-3.833 11a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-5 -5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-3.833 11a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-5 -5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 481 B

View File

@ -9,5 +9,5 @@ unicode: "f740"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 533 B

View File

@ -9,5 +9,5 @@ unicode: "f741"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m0 -7a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm0 -7a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 565 B

View File

@ -9,5 +9,5 @@ unicode: "f742"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-3.5 -3.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 612 B

After

Width:  |  Height:  |  Size: 617 B

View File

@ -9,5 +9,5 @@ unicode: "f743"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 13a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m0 -4.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-7 -4.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 13a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm0 -4.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-7 -4.5a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 655 B

View File

@ -9,5 +9,5 @@ unicode: "f744"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m0 -7a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.833 12a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm-7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm0 -7a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3zm7 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 565 B

View File

@ -9,5 +9,5 @@ unicode: "f679"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M12 4c4.29 0 7.863 2.429 10.665 7.154l.22 .379l.045 .1l.03 .083l.014 .055l.014 .082l.011 .1v.11l-.014 .111a.992 .992 0 0 1 -.026 .11l-.039 .108l-.036 .075l-.016 .03c-2.764 4.836 -6.3 7.38 -10.555 7.499l-.313 .004c-4.396 0 -8.037 -2.549 -10.868 -7.504a1 1 0 0 1 0 -.992c2.831 -4.955 6.472 -7.504 10.868 -7.504zm0 5a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" />
<path d="M12 4c4.29 0 7.863 2.429 10.665 7.154l.22 .379l.045 .1l.03 .083l.014 .055l.014 .082l.011 .1v.11l-.014 .111a.992 .992 0 0 1 -.026 .11l-.039 .108l-.036 .075l-.016 .03c-2.764 4.836 -6.3 7.38 -10.555 7.499l-.313 .004c-4.396 0 -8.037 -2.549 -10.868 -7.504a1 1 0 0 1 0 -.992c2.831 -4.955 6.472 -7.504 10.868 -7.504zm0 5a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z" />
</svg>

Before

Width:  |  Height:  |  Size: 520 B

After

Width:  |  Height:  |  Size: 521 B

View File

@ -1,11 +0,0 @@
<!--
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M2 6c0 -.796 .316 -1.558 .879 -2.121c.563 -.563 1.325 -.879 2.121 -.879h4l.099 .005c.229 .023 .444 .124 .608 .288l2.707 2.707h6.586c.796 0 1.558 .316 2.121 .879c.319 .319 .559 .703 .707 1.121l-14.523 0c-.407 0 -.805 .125 -1.14 .356c-.292 .203 -.525 .48 -.674 .801l-.058 .141l-1.379 3.676c-.194 .517 .068 1.093 .585 1.287c.517 .194 1.094 -.068 1.288 -.585l1.134 -3.027c.146 -.39 .519 -.649 .937 -.649h13.002l.217 .012c.216 .024 .426 .082 .624 .173c.054 .025 .107 .053 .159 .083c.199 .115 .377 .263 .525 .439c.188 .222 .325 .482 .403 .762c.077 .28 .092 .573 .045 .859c-.001 .008 -.003 .016 -.005 .024l-.995 5.21c-.131 .686 -.497 1.304 -1.036 1.749c-.47 .389 -1.046 .624 -1.65 .677l-.261 .012h-14.026c-.796 0 -1.558 -.316 -2.121 -.879c-.563 -.563 -.879 -1.325 -.879 -2.121v-11z" fill="black" />
</svg>

Before

Width:  |  Height:  |  Size: 934 B

View File

@ -11,7 +11,7 @@ version: "3.34"
>
<path d="M5 3h5a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1v-5a2 2 0 0 1 2 -2" />
<path d="M14 3h5a2 2 0 0 1 2 2v2a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1" />
<path d="M13 11a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" />
<path d="M13 10m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" />
<path d="M14 16h6a1 1 0 0 1 1 1v2a2 2 0 0 1 -2 2h-5a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1" />
<path d="M4 13h6a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-5a2 2 0 0 1 -2 -2v-5a1 1 0 0 1 1 -1" />
</svg>

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 622 B

View File

@ -9,5 +9,5 @@ unicode: "f680"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M18.364 4.636a9 9 0 0 1 .203 12.519l-.203 .21l-4.243 4.242a3 3 0 0 1 -4.097 .135l-.144 -.135l-4.244 -4.243a9 9 0 0 1 12.728 -12.728zm-6.364 3.364a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" />
<path d="M18.364 4.636a9 9 0 0 1 .203 12.519l-.203 .21l-4.243 4.242a3 3 0 0 1 -4.097 .135l-.144 -.135l-4.244 -4.243a9 9 0 0 1 12.728 -12.728zm-6.364 3.364a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z" />
</svg>

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 353 B

View File

@ -9,5 +9,5 @@ version: "3.0"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M20.01 19a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm-16 0a1 1 0 0 1 0 2a1 1 0 0 1 -.127 -1.993m4 0a1 1 0 0 1 0 2a1 1 0 0 1 -.127 -1.993m4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm4 -16a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm-16 0a1 1 0 1 1 0 2a1 1 0 0 1 -.127 -1.993m4 0a1 1 0 1 1 0 2a1 1 0 0 1 -.127 -1.993m4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm3.99 0a1 1 0 0 1 1 1a1 1 0 1 1 -2 .01c0 -.562 .448 -1.01 1 -1.01m3 4a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-6a2 2 0 0 1 2 -2z" />
<path d="M20.01 19a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm-16 0a1 1 0 0 1 0 2a1 1 0 0 1 -.127 -1.993zm4 0a1 1 0 0 1 0 2a1 1 0 0 1 -.127 -1.993zm4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm4 -16a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm-16 0a1 1 0 1 1 0 2a1 1 0 0 1 -.127 -1.993zm4 0a1 1 0 1 1 0 2a1 1 0 0 1 -.127 -1.993zm4 0a1 1 0 0 1 .117 1.993l-.127 .007a1 1 0 0 1 -.117 -1.993zm3.99 0a1 1 0 0 1 1 1a1 1 0 1 1 -2 .01c0 -.562 .448 -1.01 1 -1.01m3 4a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-6a2 2 0 0 1 2 -2z" />
</svg>

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 796 B

View File

@ -9,5 +9,5 @@ unicode: "f69e"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M14.647 4.081a.724 .724 0 0 0 1.08 .448c2.439 -1.485 5.23 1.305 3.745 3.744a.724 .724 0 0 0 .447 1.08c2.775 .673 2.775 4.62 0 5.294a.724 .724 0 0 0 -.448 1.08c1.485 2.439 -1.305 5.23 -3.744 3.745a.724 .724 0 0 0 -1.08 .447c-.673 2.775 -4.62 2.775 -5.294 0a.724 .724 0 0 0 -1.08 -.448c-2.439 1.485 -5.23 -1.305 -3.745 -3.744a.724 .724 0 0 0 -.447 -1.08c-2.775 -.673 -2.775 -4.62 0 -5.294a.724 .724 0 0 0 .448 -1.08c-1.485 -2.439 1.305 -5.23 3.744 -3.745a.722 .722 0 0 0 1.08 -.447c.673 -2.775 4.62 -2.775 5.294 0zm-2.647 4.919a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" />
<path d="M14.647 4.081a.724 .724 0 0 0 1.08 .448c2.439 -1.485 5.23 1.305 3.745 3.744a.724 .724 0 0 0 .447 1.08c2.775 .673 2.775 4.62 0 5.294a.724 .724 0 0 0 -.448 1.08c1.485 2.439 -1.305 5.23 -3.744 3.745a.724 .724 0 0 0 -1.08 .447c-.673 2.775 -4.62 2.775 -5.294 0a.724 .724 0 0 0 -1.08 -.448c-2.439 1.485 -5.23 -1.305 -3.745 -3.744a.724 .724 0 0 0 -.447 -1.08c-2.775 -.673 -2.775 -4.62 0 -5.294a.724 .724 0 0 0 .448 -1.08c-1.485 -2.439 1.305 -5.23 3.744 -3.745a.722 .722 0 0 0 1.08 -.447c.673 -2.775 4.62 -2.775 5.294 0zm-2.647 4.919a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z" />
</svg>

Before

Width:  |  Height:  |  Size: 732 B

After

Width:  |  Height:  |  Size: 733 B

View File

@ -9,5 +9,5 @@ unicode: "fc3f"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M6 2a1 1 0 0 1 .993 .883l.007 .117v1.068l13.071 .935a1 1 0 0 1 .929 1.024l-.01 .114l-1 7a1 1 0 0 1 -.877 .853l-.113 .006h-12v2h10a3 3 0 1 1 -2.995 3.176l-.005 -.176l.005 -.176c.017 -.288 .074 -.564 .166 -.824h-5.342a3 3 0 1 1 -5.824 1.176l-.005 -.176l.005 -.176a3.002 3.002 0 0 1 1.995 -2.654v-12.17h-1a1 1 0 0 1 -.993 -.883l-.007 -.117a1 1 0 0 1 .883 -.993l.117 -.007h2zm0 16a1 1 0 1 0 0 2a1 1 0 0 0 0 -2m11 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2" />
<path d="M6 2a1 1 0 0 1 .993 .883l.007 .117v1.068l13.071 .935a1 1 0 0 1 .929 1.024l-.01 .114l-1 7a1 1 0 0 1 -.877 .853l-.113 .006h-12v2h10a3 3 0 1 1 -2.995 3.176l-.005 -.176l.005 -.176c.017 -.288 .074 -.564 .166 -.824h-5.342a3 3 0 1 1 -5.824 1.176l-.005 -.176l.005 -.176a3.002 3.002 0 0 1 1.995 -2.654v-12.17h-1a1 1 0 0 1 -.993 -.883l-.007 -.117a1 1 0 0 1 .883 -.993l.117 -.007h2zm0 16a1 1 0 1 0 0 2a1 1 0 0 0 0 -2zm11 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2z" />
</svg>

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 620 B

View File

@ -9,5 +9,5 @@ unicode: "f6af"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M17 3a1 1 0 0 1 .993 .883l.007 .117v2.17a3 3 0 1 1 0 5.659v.171a6.002 6.002 0 0 1 -5 5.917v2.083h3a1 1 0 0 1 .117 1.993l-.117 .007h-8a1 1 0 0 1 -.117 -1.993l.117 -.007h3v-2.083a6.002 6.002 0 0 1 -4.996 -5.692l-.004 -.225v-.171a3 3 0 0 1 -3.996 -2.653l-.003 -.176l.005 -.176a3 3 0 0 1 3.995 -2.654l-.001 -2.17a1 1 0 0 1 1 -1h10zm-12 5a1 1 0 1 0 0 2a1 1 0 0 0 0 -2m14 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2" />
<path d="M17 3a1 1 0 0 1 .993 .883l.007 .117v2.17a3 3 0 1 1 0 5.659v.171a6.002 6.002 0 0 1 -5 5.917v2.083h3a1 1 0 0 1 .117 1.993l-.117 .007h-8a1 1 0 0 1 -.117 -1.993l.117 -.007h3v-2.083a6.002 6.002 0 0 1 -4.996 -5.692l-.004 -.225v-.171a3 3 0 0 1 -3.996 -2.653l-.003 -.176l.005 -.176a3 3 0 0 1 3.995 -2.654l-.001 -2.17a1 1 0 0 1 1 -1h10zm-12 5a1 1 0 1 0 0 2a1 1 0 0 0 0 -2zm14 0a1 1 0 1 0 0 2a1 1 0 0 0 0 -2z" />
</svg>

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 576 B

View File

@ -9,6 +9,6 @@ unicode: "f785"
viewBox="0 0 24 24"
fill="currentColor"
>
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-9 1.732a8 8 0 0 0 4 14.928l.2 -.005a4 4 0 0 0 0 -7.99l-.2 -.005a4 4 0 0 1 -.2 -7.995l.2 -.005a7.995 7.995 0 0 0 -4 1.072zm4 1.428a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" />
<path d="M12 14.5a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0 -3" />
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-9 1.732a8 8 0 0 0 4 14.928l.2 -.005a4 4 0 0 0 0 -7.99l-.2 -.005a4 4 0 0 1 -.2 -7.995l.2 -.005a7.995 7.995 0 0 0 -4 1.072zm4 1.428a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3z" />
<path d="M12 14.5a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0 -3z" />
</svg>

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 493 B

View File

@ -1,6 +1,5 @@
<!--
category: Text
tags: [test, visual, user, design, a, b, 2]
tags: [test, visual, user]
version: "1.76"
unicode: "f25f"
-->
@ -15,8 +14,8 @@ unicode: "f25f"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M16 21h3c.81 0 1.48 -.67 1.48 -1.48l.02 -.02c0 -.82 -.69 -1.5 -1.5 -1.5h-3v3" />
<path d="M16 15h2.5c.84 -.01 1.5 .66 1.5 1.5s-.66 1.5 -1.5 1.5h-2.5v-3" />
<path d="M16 21h3c.81 0 1.48 -.67 1.48 -1.48l.02 -.02c0 -.82 -.69 -1.5 -1.5 -1.5h-3v3z" />
<path d="M16 15h2.5c.84 -.01 1.5 .66 1.5 1.5s-.66 1.5 -1.5 1.5h-2.5v-3z" />
<path d="M4 9v-4c0 -1.036 .895 -2 2 -2s2 .964 2 2v4" />
<path d="M2.99 11.98a9 9 0 0 0 9 9m9 -9a9 9 0 0 0 -9 -9" />
<path d="M8 7h-4" />

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 590 B

View File

@ -1,6 +1,5 @@
<!--
category: Text
tags: [test, visual, user, off, disabled, inactive, a, b]
tags: [test, visual, user]
version: "1.62"
unicode: "f0a6"
-->

Before

Width:  |  Height:  |  Size: 529 B

After

Width:  |  Height:  |  Size: 483 B

View File

@ -1,6 +1,6 @@
<!--
tags: [test, visual, user, programming, software, coding, technical, developer, a, b]
category: Development
tags: [test, visual, user]
version: "1.11"
unicode: "ec36"
-->

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 445 B

View File

@ -1,8 +1,8 @@
<!--
tags: [abacus, math, counting, adding up, off, calculation, equation, disabled, inactive, mathematics]
category: Math
version: "1.94"
tags: [abacus, math, counting, adding up]
unicode: "f3b6"
version: "1.94"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 665 B

After

Width:  |  Height:  |  Size: 604 B

View File

@ -1,7 +1,7 @@
<!--
tags: [abacus, math, counting, adding up, calculation, equation, mathematics, numeric, formula]
category: Math
tags: [abacus, math, counting, adding up]
version: "1.58"
category: Math
unicode: "f05c"
-->
<svg

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 565 B

View File

@ -1,8 +1,7 @@
<!--
category: Text
tags: [letters, alphabet, latin, abc, text, characters, writing, language]
version: "1.107"
tags: [letters, alphabet, latin]
unicode: "f567"
version: "1.107"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 528 B

After

Width:  |  Height:  |  Size: 471 B

View File

@ -1,6 +1,6 @@
<!--
tags: [device, hosts, airwaves, wireless, network, access, point, off, hardware, technology]
category: Devices
tags: [device, hosts, airwaves, wireless, network]
version: "1.25"
unicode: "ed1a"
-->

Before

Width:  |  Height:  |  Size: 585 B

After

Width:  |  Height:  |  Size: 543 B

View File

@ -1,6 +1,6 @@
<!--
tags: [device, hosts, airwaves, wireless, network, access, point, hardware, technology, electronic]
category: Devices
tags: [device, hosts, airwaves, wireless, network]
version: "1.25"
unicode: "ed1b"
-->

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 538 B

View File

@ -1,6 +1,5 @@
<!--
category: Health
tags: [low-vision, blind, disability, handicapped, accessible, off, disabled, inactive, accessibility, inclusive]
tags: [low-vision, blind, disability, handicapped]
version: "1.62"
unicode: "f0a7"
-->

Before

Width:  |  Height:  |  Size: 623 B

After

Width:  |  Height:  |  Size: 543 B

View File

@ -1,6 +1,5 @@
<!--
category: Health
tags: [low-vision, blind, disability, handicapped, accessible, accessibility, inclusive, barrier-free]
tags: [low-vision, blind, disability, handicapped]
version: "1.4"
unicode: "eba9"
-->
@ -15,7 +14,7 @@ unicode: "eba9"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
<path d="M10 16.5l2 -3l2 3m-2 -3v-2l3 -1m-6 0l3 1" />
<path d="M11.5 7.5a.5 .5 0 1 0 1 0a.5 .5 0 1 0 -1 0" fill="currentColor" />
<circle cx="12" cy="7.5" r=".5" fill="currentColor" />
</svg>

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 470 B

View File

@ -1,6 +1,5 @@
<!--
category: Health
tags: [pulse, lifeline, impuls, hospital, heartrate, activity, heartbeat, love, like, motion]
tags: [pulse, lifeline, impuls, hospital, heartrate]
version: "1.64"
unicode: "f0db"
-->

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 354 B

View File

@ -1,6 +1,5 @@
<!--
category: Health
tags: [pulse, motion, health, action, activity, movement, dynamic, active]
tags: [pulse, motion, health, action]
version: "1.0"
unicode: "ed23"
-->

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 325 B

View File

@ -1,6 +1,6 @@
<!--
tags: [advert, advertisement, marketing, commercial, traffic, creative, artistic, ad, visual, aesthetic]
category: Design
tags: [advert, advertisement, marketing, commercial, traffic]
version: "1.41"
unicode: "ef1f"
-->
@ -17,7 +17,7 @@ unicode: "ef1f"
>
<path d="M11.933 5h-6.933v16h13v-8" />
<path d="M14 17h-5" />
<path d="M9 13h5v-4h-5v4" />
<path d="M9 13h5v-4h-5z" />
<path d="M15 5v-2" />
<path d="M18 6l2 -2" />
<path d="M19 9h2" />

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 497 B

View File

@ -1,6 +1,5 @@
<!--
category: System
tags: [marketing, promotion, advertisement, shape, circle, off, disabled, inactive, round, circular]
tags: [marketing, promotion, advertisement, shape]
version: "2.6"
unicode: "f79d"
-->

Before

Width:  |  Height:  |  Size: 832 B

After

Width:  |  Height:  |  Size: 765 B

View File

@ -1,6 +1,5 @@
<!--
category: System
tags: [marketing, promotion, advertisement, shape, circle, round, circular, ad]
tags: [marketing, promotion, advertisement, shape]
version: "2.6"
unicode: "f79e"
-->
@ -15,8 +14,8 @@ unicode: "f79e"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M2 12a10 10 0 1 0 20 0a10 10 0 1 0 -20 0" />
<path d="M12 12m-10 0a10 10 0 1 0 20 0a10 10 0 1 0 -20 0" />
<path d="M7 15v-4.5a1.5 1.5 0 0 1 3 0v4.5" />
<path d="M7 13h3" />
<path d="M14 9v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1" />
<path d="M14 9v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1z" />
</svg>

Before

Width:  |  Height:  |  Size: 534 B

After

Width:  |  Height:  |  Size: 496 B

View File

@ -1,8 +1,8 @@
<!--
tags: [advert, advertisement, marketing, commercial, traffic, off, creative, artistic, disabled, inactive]
category: Design
version: "1.94"
tags: [advert, advertisement, marketing, commercial, traffic]
unicode: "f3b7"
version: "1.94"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -1,6 +1,6 @@
<!--
tags: [advert, advertisement, marketing, commercial, traffic, creative, artistic, ad, visual, aesthetic]
category: Design
tags: [advert, advertisement, marketing, commercial, traffic]
version: "1.1"
unicode: "ea02"
-->
@ -15,7 +15,7 @@ unicode: "ea02"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10" />
<path d="M3 5m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z" />
<path d="M7 15v-4a2 2 0 0 1 4 0v4" />
<path d="M7 13l4 0" />
<path d="M17 9v6h-1.5a1.5 1.5 0 1 1 1.5 -1.5" />

Before

Width:  |  Height:  |  Size: 580 B

After

Width:  |  Height:  |  Size: 538 B

View File

@ -1,8 +1,7 @@
<!--
category: Communication
tags: [contact, contacts, phonebook, profile, resources, address, book, off, disabled, inactive]
version: "1.94"
tags: [contact, contacts, phonebook, profile, resources]
unicode: "f3b8"
version: "1.94"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -1,6 +1,5 @@
<!--
category: Communication
tags: [contact, contacts, phonebook, profile, resources, address, book]
tags: [contact, contacts, phonebook, profile, resources]
version: "1.55"
unicode: "f021"
-->
@ -15,9 +14,9 @@ unicode: "f021"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M20 6v12a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2" />
<path d="M20 6v12a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2z" />
<path d="M10 16h6" />
<path d="M11 11a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M13 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M4 8h3" />
<path d="M4 12h3" />
<path d="M4 16h3" />

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 550 B

View File

@ -1,6 +1,6 @@
<!--
tags: [equalizer, sliders, controls, settings, filter, adjustments, alt, control, operation, function]
category: System
tags: [equalizer, sliders, controls, settings, filter]
version: "1.11"
unicode: "ec37"
-->
@ -15,13 +15,13 @@ unicode: "ec37"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 8h4v4h-4l0 -4" />
<path d="M4 8h4v4h-4z" />
<path d="M6 4l0 4" />
<path d="M6 12l0 8" />
<path d="M10 14h4v4h-4l0 -4" />
<path d="M10 14h4v4h-4z" />
<path d="M12 4l0 10" />
<path d="M12 18l0 2" />
<path d="M16 5h4v4h-4l0 -4" />
<path d="M16 5h4v4h-4z" />
<path d="M18 4l0 1" />
<path d="M18 9l0 11" />
</svg>

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 560 B

View File

@ -24,6 +24,6 @@ unicode: "f7fc"
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M18 9v3" />
<path d="M16 19a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
<path d="M19 19m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
<path d="M17 21l4 -4" />
</svg>

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 726 B

View File

@ -24,7 +24,7 @@ unicode: "f7ff"
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M18 9v2.5" />
<path d="M17.001 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M19.001 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M19.001 15.5v1.5" />
<path d="M19.001 21v1.5" />
<path d="M22.032 17.25l-1.299 .75" />

Before

Width:  |  Height:  |  Size: 918 B

After

Width:  |  Height:  |  Size: 923 B

View File

@ -22,5 +22,5 @@ unicode: "f803"
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M18 9v2.5" />
<path d="M18 22l3.35 -3.284a2.143 2.143 0 0 0 .005 -3.071a2.242 2.242 0 0 0 -3.129 -.006l-.224 .22l-.223 -.22a2.242 2.242 0 0 0 -3.128 -.006a2.143 2.143 0 0 0 -.006 3.071l3.355 3.296" />
<path d="M18 22l3.35 -3.284a2.143 2.143 0 0 0 .005 -3.071a2.242 2.242 0 0 0 -3.129 -.006l-.224 .22l-.223 -.22a2.242 2.242 0 0 0 -3.128 -.006a2.143 2.143 0 0 0 -.006 3.071l3.355 3.296z" />
</svg>

Before

Width:  |  Height:  |  Size: 771 B

After

Width:  |  Height:  |  Size: 772 B

View File

@ -1,6 +1,6 @@
<!--
tags: [equalizer, sliders, controls, settings, filter, adjustments, horizontal, control, operation, function]
category: System
tags: [equalizer, sliders, controls, settings, filter]
version: "1.11"
unicode: "ec38"
-->
@ -15,13 +15,13 @@ unicode: "ec38"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 6a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M14 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M4 6l8 0" />
<path d="M16 6l4 0" />
<path d="M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M4 12l2 0" />
<path d="M10 12l10 0" />
<path d="M15 18a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M17 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M4 18l11 0" />
<path d="M19 18l1 0" />
</svg>

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 640 B

View File

@ -1,6 +1,6 @@
<!--
tags: [equalizer, sliders, controls, settings, filter, adjustments, off, control, operation, disabled]
category: System
tags: [equalizer, sliders, controls, settings, filter]
version: "1.62"
unicode: "f0a8"
-->

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 648 B

View File

@ -24,6 +24,6 @@ unicode: "f806"
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M18 9v2.5" />
<path d="M21.121 20.121a3 3 0 1 0 -4.242 0c.418 .419 1.125 1.045 2.121 1.879c1.051 -.89 1.759 -1.516 2.121 -1.879" />
<path d="M21.121 20.121a3 3 0 1 0 -4.242 0c.418 .419 1.125 1.045 2.121 1.879c1.051 -.89 1.759 -1.516 2.121 -1.879z" />
<path d="M19 18v.01" />
</svg>

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 783 B

View File

@ -23,6 +23,6 @@ unicode: "f809"
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M18 9v2" />
<path d="M15 18a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
<path d="M18 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
<path d="M20.2 20.2l1.8 1.8" />
</svg>

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 708 B

View File

@ -1,8 +1,8 @@
<!--
tags: [equalizer, sliders, controls, settings, filter, adjustments, spark, control, operation, glitter]
tags: [equalizer, sliders, controls, settings, filter]
category: System
version: "3.13"
unicode: "ffbe"
version: "3.13"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 763 B

After

Width:  |  Height:  |  Size: 714 B

View File

@ -21,6 +21,6 @@ unicode: "f80b"
<path d="M12 4v9.5" />
<path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M18 4v1" />
<path d="M17.8 20.817l-2.172 1.138a.392 .392 0 0 1 -.568 -.41l.415 -2.411l-1.757 -1.707a.389 .389 0 0 1 .217 -.665l2.428 -.352l1.086 -2.193a.392 .392 0 0 1 .702 0l1.086 2.193l2.428 .352a.39 .39 0 0 1 .217 .665l-1.757 1.707l.414 2.41a.39 .39 0 0 1 -.567 .411l-2.172 -1.138" />
<path d="M17.8 20.817l-2.172 1.138a.392 .392 0 0 1 -.568 -.41l.415 -2.411l-1.757 -1.707a.389 .389 0 0 1 .217 -.665l2.428 -.352l1.086 -2.193a.392 .392 0 0 1 .702 0l1.086 2.193l2.428 .352a.39 .39 0 0 1 .217 .665l-1.757 1.707l.414 2.41a.39 .39 0 0 1 -.567 .411l-2.172 -1.138z" />
<path d="M18 9v1" />
</svg>

Before

Width:  |  Height:  |  Size: 857 B

After

Width:  |  Height:  |  Size: 858 B

View File

@ -1,6 +1,6 @@
<!--
tags: [equalizer, sliders, controls, settings, filter, adjustments, control, operation, function, interface]
category: System
tags: [equalizer, sliders, controls, settings, filter]
version: "1.0"
unicode: "ea03"
-->

Before

Width:  |  Height:  |  Size: 665 B

After

Width:  |  Height:  |  Size: 611 B

View File

@ -1,5 +1,5 @@
<!--
tags: [cable, car, gondola, mountains, ski, tramway, aerial, lift, transport, travel]
tags: [cable, car, gondola, mountains, ski, tramway]
category: Vehicles
version: "1.39"
unicode: "edfe"
@ -15,8 +15,5 @@ unicode: "edfe"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 5l16 -2" />
<path d="M12 4v10" />
<path d="M6.894 8h10.306c2.45 3 2.45 9 -.2 12h-10.106c-2.544 -3 -2.544 -9 0 -12" />
<path d="M5 14h14" />
<path d="M4 5l16 -2m-8 1v10m-5.106 -6h10.306c2.45 3 2.45 9 -.2 12h-10.106c-2.544 -3 -2.544 -9 0 -12zm-1.894 6h14" />
</svg>

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 440 B

View File

@ -1,6 +1,5 @@
<!--
category: System
tags: [network, connection, collaboration, people, connect, organization, networking, affiliate]
tags: [network, connection, collaboration, people, connect, organization, networking]
version: "1.39"
unicode: "edff"
-->
@ -17,8 +16,8 @@ unicode: "edff"
>
<path d="M5.931 6.936l1.275 4.249m5.607 5.609l4.251 1.275" />
<path d="M11.683 12.317l5.759 -5.759" />
<path d="M4 5.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M17 5.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M17 18.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M4 15.5a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0" />
<path d="M5.5 5.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M18.5 5.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M18.5 18.5m-1.5 0a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0" />
<path d="M8.5 15.5m-4.5 0a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0" />
</svg>

Before

Width:  |  Height:  |  Size: 710 B

After

Width:  |  Height:  |  Size: 718 B

View File

@ -1,8 +1,8 @@
<!--
tags: [artificial intelligence, letters, text, technology, robot, automatic, character, programming, software, ai]
category: Development
version: "3.4"
tags: [artificial intelligence, letters, text, technology, robot, automatic, character]
unicode: "fee7"
version: "3.4"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 444 B

View File

@ -1,8 +1,8 @@
<!--
tags: [travel, adventure, attraction, fly, transport, air, balloon, vehicle, automobile, mobility]
tags: [travel, adventure, attraction, fly, transport]
category: Vehicles
version: "1.97"
unicode: "f4a6"
version: "1.97"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
@ -15,7 +15,7 @@ unicode: "f4a6"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M10 20a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -1" />
<path d="M12 16c3.314 0 6 -4.686 6 -8a6 6 0 1 0 -12 0c0 3.314 2.686 8 6 8" />
<path d="M10 9a2 7 0 1 0 4 0a2 7 0 1 0 -4 0" />
<path d="M10 19m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z" />
<path d="M12 16c3.314 0 6 -4.686 6 -8a6 6 0 1 0 -12 0c0 3.314 2.686 8 6 8z" />
<path d="M12 9m-2 0a2 7 0 1 0 4 0a2 7 0 1 0 -4 0" />
</svg>

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 552 B

View File

@ -1,6 +1,5 @@
<!--
category: Devices
tags: [cold, home, cooling, hot, off, air, conditioning, disabled]
tags: [cold, home, cooling, hot, off]
version: "1.105"
unicode: "f542"
-->
@ -15,6 +14,6 @@ unicode: "f542"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -4" />
<path d="M3 8m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z" />
<path d="M7 16v-3a1 1 0 0 1 1 -1h8a1 1 0 0 1 1 1v3" />
</svg>

Before

Width:  |  Height:  |  Size: 487 B

After

Width:  |  Height:  |  Size: 439 B

View File

@ -1,6 +1,5 @@
<!--
category: Devices
tags: [cold, ice, home, cooling, heating, hot, air, conditioning]
tags: [cold, ice, home, cooling, heating, hot]
version: "1.93"
unicode: "f3a2"
-->
@ -18,6 +17,6 @@ unicode: "f3a2"
<path d="M8 16a3 3 0 0 1 -3 3" />
<path d="M16 16a3 3 0 0 0 3 3" />
<path d="M12 16v4" />
<path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -4" />
<path d="M3 5m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z" />
<path d="M7 13v-3a1 1 0 0 1 1 -1h8a1 1 0 0 1 1 1v3" />
</svg>

Before

Width:  |  Height:  |  Size: 580 B

After

Width:  |  Height:  |  Size: 543 B

View File

@ -17,7 +17,7 @@ unicode: "fb01"
>
<path d="M11 3h2" />
<path d="M12 3v3" />
<path d="M5.998 6h12.004a2 2 0 0 1 1.916 2.575l-1.8 6a2 2 0 0 1 -1.916 1.425h-8.404a2 2 0 0 1 -1.916 -1.425l-1.8 -6a2 2 0 0 1 1.916 -2.575" />
<path d="M5.998 6h12.004a2 2 0 0 1 1.916 2.575l-1.8 6a2 2 0 0 1 -1.916 1.425h-8.404a2 2 0 0 1 -1.916 -1.425l-1.8 -6a2 2 0 0 1 1.916 -2.575z" />
<path d="M8.5 6l1.5 10v5" />
<path d="M15.5 6l-1.5 10v5" />
</svg>

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 616 B

View File

@ -1,8 +1,8 @@
<!--
tags: [alarm, bell, notification, delete, remove, minus, control, operation, subtract, less]
category: System
version: "1.117"
tags: [alarm, bell, notification, delete, remove]
unicode: "f630"
version: "1.117"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
@ -15,7 +15,7 @@ unicode: "f630"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 13a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M12 13m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M7 4l-2.75 2" />
<path d="M17 4l2.75 2" />
<path d="M10 13h4" />

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 455 B

View File

@ -1,6 +1,6 @@
<!--
tags: [time, watch, clock, ring, alarm, off, control, operation, disabled, inactive]
category: System
tags: [time, watch, clock, ring]
version: "1.62"
unicode: "f0a9"
-->

Before

Width:  |  Height:  |  Size: 556 B

After

Width:  |  Height:  |  Size: 504 B

View File

@ -1,8 +1,8 @@
<!--
tags: [alarm, bell, notification, add, new, plus, control, operation, more, increase]
category: System
version: "1.117"
tags: [alarm, bell, notification, add, new]
unicode: "f631"
version: "1.117"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
@ -15,7 +15,7 @@ unicode: "f631"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 13a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M12 13m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M7 4l-2.75 2" />
<path d="M17 4l2.75 2" />
<path d="M10 13h4" />

Before

Width:  |  Height:  |  Size: 509 B

After

Width:  |  Height:  |  Size: 473 B

View File

@ -1,5 +1,4 @@
<!--
category: Devices
tags: [alert, hazard, safety, sensor, device, warning, detector, emergency, protection, system]
unicode: "100b6"
version: "3.23"
@ -16,7 +15,7 @@ version: "3.23"
stroke-linejoin="round"
>
<path d="M18 8l-.8 3a1.25 1.25 0 0 1 -1.2 1h-8a1.25 1.25 0 0 1 -1.2 -1l-.8 -3" />
<path d="M3 5a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1l0 -2" />
<path d="M3 4m0 1a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1z" />
<path d="M12 16c.643 .288 1.017 .756 1 1.25c.017 .494 -.357 .962 -1 1.25s-1.017 .756 -1 1.25c-.017 .494 .357 .962 1 1.25" />
<path d="M7 16c.643 .288 1.017 .756 1 1.25c.017 .494 -.357 .962 -1 1.25s-1.017 .756 -1 1.25c-.017 .494 .357 .962 1 1.25" />
<path d="M17 16c.643 .288 1.017 .756 1 1.25c.017 .494 -.357 .962 -1 1.25s-1.017 .756 -1 1.25c-.017 .494 .357 .962 1 1.25" />

Before

Width:  |  Height:  |  Size: 922 B

After

Width:  |  Height:  |  Size: 904 B

View File

@ -1,8 +1,8 @@
<!--
tags: [alarm, bell, notification, sleep, nap, snooze, control, operation, function, interface]
category: System
version: "1.117"
tags: [alarm, bell, notification, sleep, nap]
unicode: "f632"
version: "1.117"
category: System
-->
<svg
xmlns="http://www.w3.org/2000/svg"
@ -15,7 +15,7 @@ unicode: "f632"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 13a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M12 13m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M10 11h4l-4 4h4" />
<path d="M7 4l-2.75 2" />
<path d="M17 4l2.75 2" />

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 458 B

View File

@ -1,8 +1,8 @@
<!--
tags: [time, watch, clock, ring, alarm, control, operation, function, interface, management]
category: System
tags: [time, watch, clock, ring]
version: "1.1"
unicode: "ea04"
category: System
-->
<svg
xmlns="http://www.w3.org/2000/svg"
@ -15,7 +15,7 @@ unicode: "ea04"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 13a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M12 13m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" />
<path d="M12 10l0 3l2 0" />
<path d="M7 4l-2.75 2" />
<path d="M17 4l2.75 2" />

Before

Width:  |  Height:  |  Size: 496 B

After

Width:  |  Height:  |  Size: 442 B

View File

@ -1,8 +1,7 @@
<!--
category: Media
tags: [photos, photography, gallery, music, album, off, disabled, inactive, collection, pictures]
version: "1.94"
tags: [photos, photography, gallery, music, image]
unicode: "f3b9"
version: "1.94"
-->
<svg
xmlns="http://www.w3.org/2000/svg"

Before

Width:  |  Height:  |  Size: 581 B

After

Width:  |  Height:  |  Size: 518 B

View File

@ -1,6 +1,5 @@
<!--
category: Media
tags: [photos, photography, gallery, music, album, collection, pictures, media]
tags: [photos, photography, gallery, music, image]
version: "1.55"
unicode: "f022"
-->
@ -15,6 +14,6 @@ unicode: "f022"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12" />
<path d="M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z" />
<path d="M12 4v7l2 -2l2 2v-7" />
</svg>

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 430 B

View File

@ -1,6 +1,6 @@
<!--
tags: [warning, danger, caution, risk, alert, circle, off, control, operation, disabled]
category: System
tags: [warning, danger, caution, risk]
version: "2.33"
unicode: "fc65"
-->

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 471 B

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