Compare commits

...

13 Commits

Author SHA1 Message Date
Luke Murray
893119b064 change direction of arrow in sort ascending (#819)
fixes https://github.com/lucide-icons/lucide/issues/805
2022-10-19 12:58:44 +02:00
Alen Šiljak
3e10988978 fixing the link title for Vue 2 (#821) 2022-10-19 12:46:38 +02:00
Alen Šiljak
53a764fc5b main branch name (#824) 2022-10-19 12:44:56 +02:00
Eric Fennis
4cc195092f Add framework svg logos 2022-10-19 09:19:15 +02:00
priority
b7ef305b9f docs: fix click button download zip accidentally (#816) 2022-10-19 07:52:18 +02:00
Alen Šiljak
52896efc94 Adding Svelte to the readme (#820)
* Adding Svelte to the readme

* adding solid section

Co-authored-by: Alen Šiljak <dev@alensiljak.eu.org>
2022-10-18 22:48:25 +02:00
Luke Murray
2c0448a19a Update CONTRIBUTING.md minimum node version (#818)
The build process uses import assertions which were added in Node 16.4. Updating the docs to reflect that since this bit me while contributing.

Example of import assertion

aa524c65a0/scripts/render/processSvg.mjs (L5)

[documentation for when import assertions were added in node](https://nodejs.org/api/esm.html#import-assertions)
2022-10-18 21:56:23 +02:00
Patrick Barrett
aa524c65a0 Fix signal-zero (#812)
Currently the icons `signal-zero` and `signal-low` are exactly the same.

![signal-low](https://github.com/lucide-icons/lucide/blob/main/icons/signal-low.svg)
![signal-zero](https://github.com/lucide-icons/lucide/blob/main/icons/signal-zero.svg)

Previously called out here https://github.com/lucide-icons/lucide/pull/428#issuecomment-1099289022 and confirmed by @ericfennis, the author of the original PR.

I've just manually edited `signal-zero` to remove the second bar.
2022-10-17 09:29:51 +02:00
Lauren Golembiewski
609ca31815 Update GitHub pull request guide link (#807)
Replace existing, broken link with new link found on egghead.
2022-10-16 18:20:20 +02:00
Lucide Bot
8fc34bfe1b 📦 Bump lucide package versions to 0.91.0 2022-10-03 14:45:59 +00:00
Karsa
48fa902b1c Added ear and ear-off (#804)
* Added ear and ear-off

* Fixes incorrect commit

Co-authored-by: Karsa <karsa@karsa.org>
2022-10-03 16:37:05 +02:00
Eric Fennis
cdd57e6610 Add Solid package (#797)
* init solid package

* add testing

* Fix tests solid

* add workflow

* update types build

* Fix typings file

* switch to camelCase props

* revert camelcased props

* Fix tests

* Fixing dynamic reactive props in lucide icons

* release beta

* strokeWidth fix

* bump beta version

* improve docs

* update beta release

* update vitest config

* Add automatic release for solid package
2022-10-03 16:36:33 +02:00
Lucide Bot
1f5119785b 📦 Bump lucide package versions to 0.90.0 2022-09-20 06:18:24 +00:00
71 changed files with 1251 additions and 124 deletions

48
.github/workflows/lucide-solid.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: Lucide Solid Checks
on:
pull_request:
paths:
- packages/lucide-solid/**
push:
paths:
- packages/lucide-solid/**
jobs:
lucide-solid:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3.4.1
with:
node-version: 16
- uses: pnpm/action-setup@v2.0.1
name: Install pnpm
id: pnpm-install
with:
version: 7
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm --filter lucide-solid build
- name: Test
run: pnpm --filter lucide-solid test

View File

@@ -411,6 +411,61 @@ jobs:
name: lucide-preact-package-json
path: packages/lucide-preact/package.json
lucide-solid:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
needs: pre-build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3.4.1
with:
node-version: 16
- uses: pnpm/action-setup@v2.0.1
name: Install pnpm
id: pnpm-install
with:
version: 7
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Set Auth Token
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
- name: Set package.json version lucide
run: pnpm --filter lucide-solid version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version
- name: Build
run: pnpm --filter lucide-solid build
- name: Test
run: pnpm --filter lucide-solid test
- name: Publish
run: pnpm --filter lucide-solid publish --no-git-checks
- name: Upload package.json
uses: actions/upload-artifact@v2
with:
name: lucide-solid-package-json
path: packages/lucide-solid/package.json
lucide-svelte:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest

View File

@@ -10,13 +10,13 @@ The following is a set of guidelines for contributing to Lucide. Feel free to pr
Feel free to open a pull-request to contribute to this project.
**Working on your first Pull Request?** You can learn how from this *free* series
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
[How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github)
Guidelines for pull requests:
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves wont make apparent.
- __Document your pull request__. Explain your fix, link to the relevant issue, add screenshots when adding new icons.
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `master` branch.
- __Make sure the target of your pull request is the relevant branch__. Most of bugfix or new feature should go to the `main` branch.
- __Include only related work__. If your pull request has unrelated commit, it won't be accepted.
### Pull Requests Including Icons
@@ -65,7 +65,7 @@ If you are a designer who wants to contribute to Lucide but you don't know what
## Development
You will need minimum version of [Nodejs 16+](https://nodejs.org)
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
For packagemanagement you will need [yarn v1](https://yarnpkg.com/getting-started/install).
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).

View File

@@ -23,24 +23,29 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
## Table of Contents
* [Installation](#installation)
* [Package managers](#package-managers)
* [CDN](#cdn)
* [Usage](#usage)
* [Web](#web)
* [React](#react)
* [React Native](#react-native)
* [Vue 2](#vue-2)
* [Vue 3](#vue-3)
* [Angular](#angular)
* [Preact](#preact)
* [Static](#static-svg-sprite-font-icons-)
* [Figma](#figma)
* [Laravel](#laravel)
* [Flutter](#flutter)
* [Contributing](#contributing)
* [Community](#community)
* [License](#license)
- [Lucide](#lucide)
- [What is Lucide?](#what-is-lucide)
- [Why choose Lucide over Feather Icons](#why-choose-lucide-over-feather-icons)
- [Table of Contents](#table-of-contents)
- [Usage](#usage)
- [Web](#web)
- [React](#react)
- [React Native](#react-native)
- [Vue 2](#vue-2)
- [Vue 3](#vue-3)
- [Angular](#angular)
- [Preact](#preact)
- [Static (svg sprite, font, icons ..)](#static-svg-sprite-font-icons-)
- [Figma](#figma)
- [Laravel](#laravel)
- [Flutter](#flutter)
- [Svelte](#svelte)
- [Solid](#solid)
- [Contributing](#contributing)
- [Community](#community)
- [License](#license)
- [Credits](#credits)
- [Sponsors](#sponsors)
## Usage
@@ -190,6 +195,34 @@ flutter pub add lucide_icons
For more details, see the [pub.dev](https://pub.dev/packages/lucide_icons).
### Svelte
Implementation of the lucide icon library for Svelte applications.
```sh
yarn add lucide-svelte
# or
npm install lucide-svelte
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-svelte#lucide-svelte).
### Solid
Implementation of the lucide icon library for solid applications.
```sh
yarn add lucide-solid
#or
npm install lucide-solid
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-solid#lucide-solid).
## Contributing
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).

View File

@@ -18,7 +18,7 @@ npm install lucide-preact
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a preact component.
### Example

View File

@@ -16,7 +16,7 @@ npm install lucide-react-native
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example

View File

@@ -14,7 +14,7 @@ npm install lucide-react
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example

View File

@@ -20,7 +20,7 @@ npm install lucide-vue-next
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example

View File

@@ -16,7 +16,7 @@ npm install lucide-vue
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example

View File

@@ -44,7 +44,7 @@ Here is a complete example with unpkg
### With ESModules
To reduce bundle size, lucide is built to be fully treeshakable.
To reduce bundle size, lucide is built to be fully tree-shakable.
The `createIcons` function will search for HTMLElements with the attribute `icon-name` and replace it with the svg from the given icon name.
```html

17
icons/ear-off.svg Normal file
View File

@@ -0,0 +1,17 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46" />
<path d="M6 8.5c0-.75.13-1.47.36-2.14" />
<path d="M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76" />
<path d="M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18" />
<line x1="2" y1="2" x2="22" y2="22" />
</svg>

After

Width:  |  Height:  |  Size: 501 B

14
icons/ear.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0" />
<path d="M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4" />
</svg>

After

Width:  |  Height:  |  Size: 337 B

View File

@@ -10,5 +10,4 @@
stroke-linejoin="round"
>
<path d="M2 20h.01" />
<path d="M7 20v-4" />
</svg>

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 233 B

View File

@@ -9,9 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M11 5h4" />
<path d="M11 9h7" />
<path d="M11 13h10" />
<path d="m3 17 3 3 3-3" />
<path d="M6 18V4" />
<path d="M11 11H15" />
<path d="M11 15H18" />
<path d="M11 19H21" />
<path d="M9 7L6 4L3 7" />
<path d="M6 6L6 20" />
</svg>

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 336 B

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-angular",
"description": "A Lucide icon library package for Angular applications",
"version": "0.89.0",
"version": "0.91.0",
"author": "SMAH1",
"license": "ISC",
"homepage": "https://lucide.dev",

View File

@@ -1,6 +1,6 @@
name: lucide_icons
description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons.
version: 0.89.0
version: 0.91.0
homepage: https://lucide.dev
repository: https://github.com/lucide-icons/lucide

View File

@@ -16,7 +16,7 @@ npm install lucide-preact
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a preact component.
### Example

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-preact",
"description": "A Lucide icon library package for Preact applications",
"version": "0.89.0",
"version": "0.91.0",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",
@@ -22,7 +22,7 @@
],
"sideEffects": false,
"scripts": {
"build": "pnpm clean && pnpm copy:license && pnpm copy:license && pnpm build:icons && pnpm build:es && pnpm build:types && pnpm build:bundles",
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:es && pnpm build:types && pnpm build:bundles",
"copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
"build:icons": "node ../../scripts/buildIcons.mjs --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey",

View File

@@ -21,6 +21,7 @@ interface LucideProps extends Partial<Omit<JSX.SVGAttributes, "ref" | "size">> {
ref?: string | ((component: any) => any) | RefObject<any>;
color?: string
size?: string | number
strokeWidth?: string | number
}
// Generated icons

View File

@@ -18,7 +18,7 @@ npm install lucide-react-native
## How to use
It's built with ES modules so it's completely threeshakable.
It's built with ES modules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example

View File

@@ -16,7 +16,7 @@ npm install lucide-react
## How to use
It's built with ES modules so it's completely threeshakable.
It's built with ES modules so it's completely tree-shakable.
Each icon can be imported as a react component.
### Example

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-react",
"description": "A Lucide icon library package for React applications",
"version": "0.89.0",
"version": "0.91.0",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -0,0 +1,78 @@
# Lucide Solid
Implementation of the lucide icon library for solid applications.
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
## Installation
```sh
yarn add lucide-solid
# or
npm install lucide-solid
```
## How to use
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a solid component.
### Example
You can pass additional props to adjust the icon.
``` js
import { Camera } from 'lucide-solid';
// Returns SolidComponent
// Usage
const App = () => {
return <Camera color="red" size={48}/>
};
export default App;
```
### Props
| name | type | default
| ------------ | -------- | --------
| `size` | *Number* | 24
| `color` | *String* | currentColor
| `strokeWidth`| *Number* | 2
### Custom props / svg attributes
You can also pass custom props that will be added in the as attributes. With that you can modify the icons look by passing svg attributes.
``` js
// Usage
const App = () => {
return <Camera fill="red" stroke-linejoin="bevel"/>
};
```
### One generic icon component
It is possible to create one generic icon component to load icons.
> :warning: Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
#### Icon Component Example
``` tsx
import * as icons from 'lucide-solid';
import type { LucideProps } from 'lucide-solid';
import { splitProps } from 'solid-js';
import { Dynamic } from 'solid-js/web';
const Icon = (props: { name: keyof typeof icons } & LucideProps) => {
const [local, others] = splitProps(props, ["name"]);
return <Dynamic component={icons[local.name]} {...others} />
};
export default Icon;
```

View File

@@ -0,0 +1,6 @@
const mainConfig = require('../../babel.config');
module.exports = {
presets: ['solid'],
env: mainConfig.env,
};

View File

@@ -0,0 +1,51 @@
{
"name": "lucide-solid",
"description": "A Lucide icon library package for Solid applications",
"version": "0.88.0-beta.3",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",
"repository": {
"type": "git",
"url": "https://github.com/lucide-icons/lucide.git",
"directory": "packages/lucide-solid"
},
"author": "Eric Fennis",
"amdName": "lucide-solid",
"main": "dist/cjs/lucide-solid.js",
"main:umd": "dist/umd/lucide-solid.js",
"module": "dist/esm/lucide-solid.js",
"unpkg": "dist/umd/lucide-solid.min.js",
"typings": "dist/lucide-solid.d.ts",
"files": [
"dist"
],
"sideEffects": false,
"scripts": {
"build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:es && pnpm build:types && pnpm build:bundles",
"copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.js",
"build:icons": "node ../../scripts/buildIcons.mjs --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey",
"build:es": "babel src -d dist/esm",
"build:types": "node ./scripts/buildTypes.mjs",
"build:bundles": "rollup -c ./rollup.config.js",
"test:jest": "jest",
"test": "vitest",
"version": "pnpm version --git-tag-version=false"
},
"devDependencies": {
"@testing-library/jest-dom": "^5.16.5",
"babel-preset-solid": "^1.5.4",
"jest": "^26.6.3",
"jsdom": "^20.0.0",
"solid-js": "^1.4.7",
"solid-testing-library": "^0.3.0",
"solid-jest": "^0.2.0",
"vite": "^2.6.4",
"vite-plugin-solid": "^2.3.0",
"vitest": "^0.23.2"
},
"peerDependencies": {
"solid-js": "^1.4.7"
}
}

View File

@@ -0,0 +1,47 @@
import plugins from '../../rollup.plugins';
import pkg from './package.json';
const packageName = 'LucideSolid';
const outputFileName = 'lucide-solid';
const outputDir = 'dist';
const inputs = [`src/lucide-solid.js`];
const bundles = [
{
format: 'umd',
inputs,
outputDir,
minify: true,
},
{
format: 'umd',
inputs,
outputDir,
},
{
format: 'cjs',
inputs,
outputDir,
},
];
const configs = bundles
.map(({ inputs, outputDir, format, minify }) =>
inputs.map(input => ({
input,
plugins: plugins(pkg, minify),
external: ['solid-js', 'solid-js/h'],
output: {
name: packageName,
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
format,
sourcemap: true,
globals: {
'solid-js': 'solid-js',
'solid-js/h': 'solid-js/h',
},
},
})),
)
.flat();
export default configs;

View File

@@ -0,0 +1,47 @@
import path from 'path';
import {
writeFile,
readSvgDirectory,
resetFile,
toPascalCase,
appendFile,
getCurrentDirPath
} from '../../../scripts/helpers.mjs';
const currentDir = getCurrentDirPath(import.meta.url)
const srcDirectory = path.join(currentDir, '../dist');
// Declare type definitions
const typeDefinitions = `\
/// <reference types="solid-js" />
import { JSX } from 'solid-js'
interface LucideProps extends Partial<JSX.IntrinsicElements & JSX.SvgSVGAttributes<SVGSVGElement>> {
key?: string | number;
ref?: string | ((component: any) => any);
color?: string
size?: string | number
strokeWidth?: string | number
class?: string
}
// Generated icons
`;
const ICONS_DIR = path.resolve(currentDir, '../../../icons');
const TYPES_FILE = 'lucide-solid.d.ts';
resetFile(TYPES_FILE, srcDirectory);
writeFile(typeDefinitions, TYPES_FILE, srcDirectory);
const svgFiles = readSvgDirectory(ICONS_DIR);
svgFiles.forEach(svgFile => {
const iconName = path.basename(svgFile, '.svg');
const componentName = toPascalCase(iconName);
const exportTypeString = `export declare const ${componentName}: (props: LucideProps) => JSX.Element;\n`;
appendFile(exportTypeString, TYPES_FILE, srcDirectory);
});
console.log(`Generated ${TYPES_FILE} file with`, svgFiles.length, 'icons');

View File

@@ -0,0 +1,7 @@
export default ({ componentName, children }) => `
import createSolidComponent from '../createSolidComponent';
const ${componentName} = createSolidComponent('${componentName}', ${JSON.stringify(children)});
export default ${componentName};
`;

View File

@@ -0,0 +1,47 @@
import h from 'solid-js/h';
import { splitProps } from 'solid-js';
import defaultAttributes from './defaultAttributes';
/**
* Converts string to KebabCase
* Copied from scripts/helper. If anyone knows how to properly import it here
* then please fix it.
*
* @param {string} string
* @returns {string} A kebabized string
*/
export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
export default (iconName, iconNode) => {
const Component = props => {
const [localProps, rest] = splitProps(props, [
'color',
'size',
'strokeWidth',
'children',
'class',
]);
const svgProps = {
...defaultAttributes,
width: () => (localProps.size != null ? localProps.size : defaultAttributes.width),
height: () => (localProps.size != null ? localProps.size : defaultAttributes.height),
stroke: () => (localProps.color != null ? localProps.color : defaultAttributes.stroke),
'stroke-width': () =>
localProps.strokeWidth != null ? localProps.strokeWidth : defaultAttributes['stroke-width'],
class: () =>
`lucide lucide-${toKebabCase(iconName)} ${
localProps.class != null ? localProps.class : ''
}`,
};
return h(
'svg',
[svgProps, rest],
[...iconNode.map(([tag, attrs]) => h(tag, attrs)), localProps.children],
);
};
Component.displayName = `${iconName}`;
return Component;
};

View File

@@ -0,0 +1,11 @@
export default {
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',
};

View File

@@ -0,0 +1 @@
Folder for generated icons

View File

@@ -0,0 +1 @@
export * from './icons';

View File

@@ -0,0 +1,5 @@
// Vitest Snapshot v1
exports[`Using lucide icon components > should adjust the size, stroke color and stroke width 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"48\\" height=\\"48\\" viewBox=\\"0 0 24 24\\" fill=\\"none\\" stroke=\\"red\\" stroke-width=\\"4\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" class=\\"lucide lucide-grid \\" data-testid=\\"grid-icon\\"><rect x=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\" key=\\"maln0c\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\" key=\\"1uch6j\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\" key=\\"1xojw2\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\" key=\\"nvcl17\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\" key=\\"jcv93v\\"></line></svg>"`;
exports[`Using lucide icon components > should render an component 1`] = `"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"24\\" height=\\"24\\" viewBox=\\"0 0 24 24\\" fill=\\"none\\" stroke=\\"currentColor\\" stroke-width=\\"2\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" class=\\"lucide lucide-grid \\"><rect x=\\"3\\" y=\\"3\\" width=\\"18\\" height=\\"18\\" rx=\\"2\\" ry=\\"2\\" key=\\"maln0c\\"></rect><line x1=\\"3\\" y1=\\"9\\" x2=\\"21\\" y2=\\"9\\" key=\\"1uch6j\\"></line><line x1=\\"3\\" y1=\\"15\\" x2=\\"21\\" y2=\\"15\\" key=\\"1xojw2\\"></line><line x1=\\"9\\" y1=\\"3\\" x2=\\"9\\" y2=\\"21\\" key=\\"nvcl17\\"></line><line x1=\\"15\\" y1=\\"3\\" x2=\\"15\\" y2=\\"21\\" key=\\"jcv93v\\"></line></svg>"`;

View File

@@ -0,0 +1,30 @@
import { describe, it, expect } from 'vitest';
import { render } from 'solid-testing-library'
import { Grid } from '../src/icons'
describe('Using lucide icon components', () => {
it('should render an component', () => {
const { container } = render(() => <Grid/> );
expect( container.innerHTML ).toMatchSnapshot();
});
it('should adjust the size, stroke color and stroke width', async () => {
const testId = 'grid-icon';
const { container, getByTestId } = render( () =>
<Grid
data-testid={testId}
size={48}
stroke="red"
strokeWidth={4}
/>,
);
const { attributes } = await getByTestId(testId) as unknown as{ attributes: Record<string, { value: string }>};
expect(attributes.stroke.value).toBe('red');
expect(attributes.width.value).toBe('48');
expect(attributes.height.value).toBe('48');
expect(attributes['stroke-width'].value).toBe('4');
expect( container.innerHTML ).toMatchSnapshot();
});
})

View File

@@ -0,0 +1 @@
import '@testing-library/jest-dom';

View File

@@ -0,0 +1,15 @@
{
"compilerOptions": {
"strict": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"types": ["vite/client"],
"noEmit": true,
"isolatedModules": true
}
}

View File

@@ -0,0 +1,19 @@
import { defineConfig } from 'vitest/config'
import solidPlugin from 'vite-plugin-solid';
export default defineConfig({
plugins: [solidPlugin()],
test: {
globals: true,
environment: 'jsdom',
transformMode: {
web: [/\.jsx?$/],
},
setupFiles: './tests/setupVitest.js',
threads: false,
isolate: false,
},
resolve: {
conditions: ['development', 'browser'],
},
});

View File

@@ -1,7 +1,7 @@
{
"name": "lucide-svelte",
"description": "A Lucide icon library package for Svelte applications",
"version": "0.89.0",
"version": "0.91.0",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

View File

@@ -4,7 +4,7 @@ Implementation of the lucide icon library for Vue 3 applications.
> What is lucide? Read it [here](https://github.com/lucide-icons/lucide#what-is-lucide).
> :warning: This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue#lucide-vue)
> :warning: This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue#lucide-vue)
## Installation
@@ -18,7 +18,7 @@ npm install lucide-vue-next
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-vue-next",
"version": "0.89.0",
"version": "0.91.0",
"author": "Eric Fennis",
"description": "A Lucide icon library package for Vue 3 applications",
"license": "ISC",

View File

@@ -18,7 +18,7 @@ npm install lucide-vue
## How to use
It's build with ESmodules so it's completely threeshakable.
It's build with ESmodules so it's completely tree-shakable.
Each icon can be imported as a vue component.
### Example

View File

@@ -1,6 +1,6 @@
{
"name": "lucide-vue",
"version": "0.89.0",
"version": "0.91.0",
"author": "Eric Fennis",
"description": "A Lucide icon library package for Vue 2 applications",
"license": "ISC",

View File

@@ -44,7 +44,7 @@ Here is a complete example with unpkg
### With ESModules
To reduce bundle size, lucide is built to be fully treeshakable.
To reduce bundle size, lucide is built to be fully tree-shakable.
The `createIcons` function will search for HTMLElements with the attribute `icon-name` and replace it with the svg from the given icon name.
```html

View File

@@ -1,7 +1,7 @@
{
"name": "lucide",
"description": "A Lucide icon library package for web and javascript applications.",
"version": "0.89.0",
"version": "0.91.0",
"license": "ISC",
"homepage": "https://lucide.dev",
"bugs": "https://github.com/lucide-icons/lucide/issues",

535
pnpm-lock.yaml generated
View File

@@ -211,6 +211,30 @@ importers:
react-native: 0.69.3_6iplzvqeiudpi4sy52vugn7nxq
react-native-svg: 12.4.3_w3kncuvwqnzhwf3ziybn5l7dja
packages/lucide-solid:
specifiers:
'@testing-library/jest-dom': ^5.16.5
babel-preset-solid: ^1.5.4
jest: ^26.6.3
jsdom: ^20.0.0
solid-jest: ^0.2.0
solid-js: ^1.4.7
solid-testing-library: ^0.3.0
vite: ^2.6.4
vite-plugin-solid: ^2.3.0
vitest: ^0.23.2
devDependencies:
'@testing-library/jest-dom': 5.16.5
babel-preset-solid: 1.5.4_@babel+core@7.18.13
jest: 26.6.3
jsdom: 20.0.0
solid-jest: 0.2.0_t7todo2kjeiemugvwlfkztjgsq
solid-js: 1.5.4
solid-testing-library: 0.3.0_solid-js@1.5.4
vite: 2.9.14
vite-plugin-solid: 2.3.0_solid-js@1.5.4+vite@2.9.14
vitest: 0.23.2_jsdom@20.0.0
packages/lucide-static:
specifiers:
prettier: ^2.3.2
@@ -854,6 +878,7 @@ packages:
'@babel/types': 7.18.9
'@jridgewell/gen-mapping': 0.3.2
jsesc: 2.5.2
dev: true
/@babel/helper-annotate-as-pure/7.18.6:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
@@ -1086,6 +1111,13 @@ packages:
dependencies:
'@babel/types': 7.18.13
/@babel/helper-module-imports/7.16.0:
resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.18.13
dev: true
/@babel/helper-module-imports/7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
@@ -1146,7 +1178,7 @@ packages:
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-wrap-function': 7.18.9
'@babel/types': 7.18.9
'@babel/types': 7.18.13
transitivePeerDependencies:
- supports-color
@@ -1212,9 +1244,9 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-function-name': 7.18.9
'@babel/template': 7.18.6
'@babel/traverse': 7.18.9
'@babel/types': 7.18.9
'@babel/template': 7.18.10
'@babel/traverse': 7.18.13
'@babel/types': 7.18.13
transitivePeerDependencies:
- supports-color
@@ -1265,6 +1297,7 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.18.9
dev: true
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.13:
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
@@ -2337,7 +2370,6 @@ packages:
dependencies:
'@babel/core': 7.18.13
'@babel/helper-plugin-utils': 7.18.9
dev: false
/@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.18.9:
resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==}
@@ -3549,7 +3581,6 @@ packages:
'@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.13
transitivePeerDependencies:
- supports-color
dev: false
/@babel/plugin-transform-typescript/7.18.12_@babel+core@7.18.9:
resolution: {integrity: sha512-2vjjam0cum0miPkenUbQswKowuxs/NjMwIKEq0zwegRxXk12C9YOF9STXnaUptITOtOJHKHpzvvWYOjbm6tc0w==}
@@ -3979,7 +4010,6 @@ packages:
'@babel/plugin-transform-typescript': 7.18.12_@babel+core@7.18.13
transitivePeerDependencies:
- supports-color
dev: false
/@babel/preset-typescript/7.18.6_@babel+core@7.18.9:
resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
@@ -4052,6 +4082,7 @@ packages:
'@babel/code-frame': 7.18.6
'@babel/parser': 7.18.9
'@babel/types': 7.18.9
dev: true
/@babel/traverse/7.18.13:
resolution: {integrity: sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==}
@@ -4086,6 +4117,7 @@ packages:
globals: 11.12.0
transitivePeerDependencies:
- supports-color
dev: true
/@babel/types/7.18.13:
resolution: {integrity: sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==}
@@ -5205,7 +5237,7 @@ packages:
engines: {node: '>= 10.14.2'}
dependencies:
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
chalk: 4.1.2
jest-message-util: 26.6.2
jest-util: 26.6.2
@@ -5233,7 +5265,7 @@ packages:
'@jest/test-result': 26.6.2
'@jest/transform': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
ansi-escapes: 4.3.2
chalk: 4.1.2
exit: 0.1.2
@@ -5320,7 +5352,7 @@ packages:
dependencies:
'@jest/fake-timers': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
jest-mock: 26.6.2
dev: true
@@ -5357,7 +5389,7 @@ packages:
dependencies:
'@jest/types': 26.6.2
'@sinonjs/fake-timers': 6.0.1
'@types/node': 14.18.25
'@types/node': 18.6.2
jest-message-util: 26.6.2
jest-mock: 26.6.2
jest-util: 26.6.2
@@ -5562,6 +5594,29 @@ packages:
- supports-color
dev: true
/@jest/transform/27.5.1:
resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@babel/core': 7.18.13
'@jest/types': 27.5.1
babel-plugin-istanbul: 6.1.1
chalk: 4.1.2
convert-source-map: 1.8.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.10
jest-haste-map: 27.5.1
jest-regex-util: 27.5.1
jest-util: 27.5.1
micromatch: 4.0.5
pirates: 4.0.5
slash: 3.0.0
source-map: 0.6.1
write-file-atomic: 3.0.3
transitivePeerDependencies:
- supports-color
dev: true
/@jest/transform/28.1.3:
resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
@@ -5614,7 +5669,7 @@ packages:
'@jest/schemas': 28.1.3
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
'@types/node': 14.18.25
'@types/node': 18.6.2
'@types/yargs': 17.0.11
chalk: 4.1.2
dev: true
@@ -7077,6 +7132,11 @@ packages:
engines: {node: '>= 6'}
dev: true
/@tootallnate/once/2.0.0:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
dev: true
/@trysound/sax/0.2.0:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -7136,6 +7196,16 @@ packages:
'@babel/types': 7.18.13
dev: true
/@types/chai-subset/1.3.3:
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
dependencies:
'@types/chai': 4.3.3
dev: true
/@types/chai/4.3.3:
resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==}
dev: true
/@types/component-emitter/1.2.11:
resolution: {integrity: sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==}
dev: true
@@ -7184,7 +7254,7 @@ packages:
/@types/graceful-fs/4.1.5:
resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
dependencies:
'@types/node': 14.18.25
'@types/node': 18.6.2
dev: true
/@types/hast/2.3.4:
@@ -8455,6 +8525,10 @@ packages:
util: 0.10.3
dev: true
/assertion-error/1.1.0:
resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
dev: true
/assign-symbols/1.0.0:
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
engines: {node: '>=0.10.0'}
@@ -8617,6 +8691,25 @@ packages:
- supports-color
dev: true
/babel-jest/27.5.1_@babel+core@7.18.13:
resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
'@babel/core': ^7.8.0
dependencies:
'@babel/core': 7.18.13
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/babel__core': 7.1.19
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 27.5.1_@babel+core@7.18.13
chalk: 4.1.2
graceful-fs: 4.2.10
slash: 3.0.0
transitivePeerDependencies:
- supports-color
dev: true
/babel-jest/28.1.3_@babel+core@7.18.9:
resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
@@ -8739,6 +8832,16 @@ packages:
'@types/babel__traverse': 7.18.0
dev: true
/babel-plugin-jest-hoist/27.5.1:
resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@babel/template': 7.18.10
'@babel/types': 7.18.13
'@types/babel__core': 7.1.19
'@types/babel__traverse': 7.18.0
dev: true
/babel-plugin-jest-hoist/28.1.3:
resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
@@ -8749,6 +8852,18 @@ packages:
'@types/babel__traverse': 7.17.1
dev: true
/babel-plugin-jsx-dom-expressions/0.34.7_@babel+core@7.18.13:
resolution: {integrity: sha512-jTxBhu/MQscWdOcLfqKAY8lIiRsv1ivrMQShlePoa4G8S2cFNb93HTWN4FFdp3SpILaibygFXWU3H+aHpoGH/w==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.18.13
'@babel/helper-module-imports': 7.16.0
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.13
'@babel/types': 7.18.13
html-entities: 2.3.2
dev: true
/babel-plugin-macros/2.8.0:
resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==}
dependencies:
@@ -8972,6 +9087,17 @@ packages:
babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.9
dev: true
/babel-preset-jest/27.5.1_@babel+core@7.18.13:
resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.18.13
babel-plugin-jest-hoist: 27.5.1
babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.13
dev: true
/babel-preset-jest/28.1.3_@babel+core@7.18.9:
resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
@@ -9015,6 +9141,15 @@ packages:
- supports-color
dev: true
/babel-preset-solid/1.5.4_@babel+core@7.18.13:
resolution: {integrity: sha512-pangM+KhBx8J6gRHiaRO4yD/J5gK3sydX+TIoC1TaYjxtVV78GIHRtg/HHtCAfg/iRQCJyiGR9TrN0brG8eDZA==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.18.13
babel-plugin-jsx-dom-expressions: 0.34.7_@babel+core@7.18.13
dev: true
/babel-runtime/6.26.0:
resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==}
dependencies:
@@ -9593,6 +9728,19 @@ packages:
resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==}
dev: false
/chai/4.3.6:
resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==}
engines: {node: '>=4'}
dependencies:
assertion-error: 1.1.0
check-error: 1.0.2
deep-eql: 3.0.1
get-func-name: 2.0.0
loupe: 2.3.4
pathval: 1.1.1
type-detect: 4.0.8
dev: true
/chalk/1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
@@ -9653,6 +9801,10 @@ packages:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
/check-error/1.0.2:
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
dev: true
/chokidar/2.1.8:
resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==}
deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
@@ -10820,6 +10972,10 @@ packages:
resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
dev: true
/cssom/0.5.0:
resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
dev: true
/cssstyle/2.3.0:
resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
engines: {node: '>=8'}
@@ -10869,6 +11025,15 @@ packages:
whatwg-url: 8.7.0
dev: true
/data-urls/3.0.2:
resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
engines: {node: '>=12'}
dependencies:
abab: 2.0.6
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
dev: true
/date-format/4.0.13:
resolution: {integrity: sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==}
engines: {node: '>=4.0'}
@@ -11013,6 +11178,13 @@ packages:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
dev: true
/deep-eql/3.0.1:
resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
engines: {node: '>=0.12'}
dependencies:
type-detect: 4.0.8
dev: true
/deep-equal/1.1.1:
resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==}
dependencies:
@@ -11318,6 +11490,13 @@ packages:
webidl-conversions: 5.0.0
dev: true
/domexception/4.0.0:
resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
engines: {node: '>=12'}
dependencies:
webidl-conversions: 7.0.0
dev: true
/domhandler/4.3.1:
resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
engines: {node: '>= 4'}
@@ -11482,6 +11661,13 @@ packages:
- utf-8-validate
dev: true
/enhanced-resolve-jest/1.1.0:
resolution: {integrity: sha512-GM7yVsiLIaunYkCqnGRPO4kQbT6hPSgkyOFKTseWboPMjZ2tlpQYh2ttLuE8ORkR72Wb1f9SJBbnPu0AjcTzgg==}
dependencies:
enhanced-resolve: 4.5.0
tslib: 1.14.1
dev: true
/enhanced-resolve/4.5.0:
resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==}
engines: {node: '>=6.9.0'}
@@ -11525,6 +11711,11 @@ packages:
resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==}
engines: {node: '>=0.12'}
/entities/4.4.0:
resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
engines: {node: '>=0.12'}
dev: true
/env-paths/2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -12825,6 +13016,15 @@ packages:
mime-types: 2.1.35
dev: true
/form-data/4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
dev: true
/forwarded/0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
@@ -13001,6 +13201,10 @@ packages:
engines: {node: 6.* || 8.* || >= 10.*}
dev: true
/get-func-name/2.0.0:
resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
dev: true
/get-intrinsic/1.1.2:
resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==}
dependencies:
@@ -13499,10 +13703,21 @@ packages:
whatwg-encoding: 1.0.5
dev: true
/html-encoding-sniffer/3.0.0:
resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
engines: {node: '>=12'}
dependencies:
whatwg-encoding: 2.0.0
dev: true
/html-entities/1.4.0:
resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==}
dev: true
/html-entities/2.3.2:
resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==}
dev: true
/html-escaper/2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
dev: true
@@ -13555,6 +13770,17 @@ packages:
- supports-color
dev: true
/http-proxy-agent/5.0.0:
resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
engines: {node: '>= 6'}
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: true
/http-proxy-middleware/0.19.1_tmpgdztspuwvsxzgjkhoqk7duq:
resolution: {integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==}
engines: {node: '>=4.0.0'}
@@ -14315,6 +14541,11 @@ packages:
resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
dev: true
/is-what/4.1.7:
resolution: {integrity: sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==}
engines: {node: '>=12.13'}
dev: true
/is-whitespace-character/1.0.4:
resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==}
dev: false
@@ -14735,7 +14966,7 @@ packages:
'@jest/environment': 26.6.2
'@jest/fake-timers': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
jest-mock: 26.6.2
jest-util: 26.6.2
jsdom: 16.7.0
@@ -14753,7 +14984,7 @@ packages:
'@jest/environment': 26.6.2
'@jest/fake-timers': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
jest-mock: 26.6.2
jest-util: 26.6.2
dev: true
@@ -14786,7 +15017,7 @@ packages:
dependencies:
'@jest/types': 26.6.2
'@types/graceful-fs': 4.1.5
'@types/node': 14.18.25
'@types/node': 18.6.2
anymatch: 3.1.2
fb-watchman: 2.0.1
graceful-fs: 4.2.10
@@ -14851,7 +15082,7 @@ packages:
'@jest/source-map': 26.6.2
'@jest/test-result': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
chalk: 4.1.2
co: 4.6.0
expect: 26.6.2
@@ -14943,7 +15174,7 @@ packages:
engines: {node: '>= 10.14.2'}
dependencies:
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
dev: true
/jest-mock/28.1.3:
@@ -15051,7 +15282,7 @@ packages:
'@jest/environment': 26.6.2
'@jest/test-result': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
chalk: 4.1.2
emittery: 0.7.2
exit: 0.1.2
@@ -15184,7 +15415,7 @@ packages:
resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==}
engines: {node: '>= 10.14.2'}
dependencies:
'@types/node': 14.18.25
'@types/node': 18.6.2
graceful-fs: 4.2.10
dev: true
@@ -15256,7 +15487,7 @@ packages:
engines: {node: '>= 10.14.2'}
dependencies:
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
chalk: 4.1.2
graceful-fs: 4.2.10
is-ci: 2.0.0
@@ -15280,7 +15511,7 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
'@jest/types': 28.1.3
'@types/node': 14.18.25
'@types/node': 18.6.2
chalk: 4.1.2
ci-info: 3.3.2
graceful-fs: 4.2.10
@@ -15317,7 +15548,7 @@ packages:
dependencies:
'@jest/test-result': 26.6.2
'@jest/types': 26.6.2
'@types/node': 14.18.25
'@types/node': 18.6.2
ansi-escapes: 4.3.2
chalk: 4.1.2
jest-util: 26.6.2
@@ -15554,6 +15785,48 @@ packages:
- utf-8-validate
dev: true
/jsdom/20.0.0:
resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==}
engines: {node: '>=14'}
peerDependencies:
canvas: ^2.5.0
peerDependenciesMeta:
canvas:
optional: true
dependencies:
abab: 2.0.6
acorn: 8.8.0
acorn-globals: 6.0.0
cssom: 0.5.0
cssstyle: 2.3.0
data-urls: 3.0.2
decimal.js: 10.4.0
domexception: 4.0.0
escodegen: 2.0.0
form-data: 4.0.0
html-encoding-sniffer: 3.0.0
http-proxy-agent: 5.0.0
https-proxy-agent: 5.0.1
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.1
parse5: 7.1.1
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 4.1.0
w3c-hr-time: 1.0.2
w3c-xmlserializer: 3.0.0
webidl-conversions: 7.0.0
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
ws: 8.8.1
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: true
/jsesc/0.5.0:
resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
hasBin: true
@@ -15982,6 +16255,11 @@ packages:
engines: {node: '>= 12.13.0'}
dev: true
/local-pkg/0.4.2:
resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
engines: {node: '>=14'}
dev: true
/locate-path/2.0.0:
resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
engines: {node: '>=4'}
@@ -16103,6 +16381,12 @@ packages:
dependencies:
js-tokens: 4.0.0
/loupe/2.3.4:
resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==}
dependencies:
get-func-name: 2.0.0
dev: true
/lower-case/2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies:
@@ -16296,6 +16580,14 @@ packages:
readable-stream: 2.3.7
dev: true
/merge-anything/5.0.4:
resolution: {integrity: sha512-YFsDeY5A9SLXhL21Qn15wCWewRUW6wMTxQF4SuPe9bNdr1wsjiE44Rp8FQUTCtwO0WLdlKiFzhAVE5tlf857Tg==}
engines: {node: '>=12.13'}
dependencies:
is-what: 4.1.7
ts-toolbelt: 9.6.0
dev: true
/merge-descriptors/1.0.1:
resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
dev: true
@@ -17850,6 +18142,12 @@ packages:
/parse5/6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
/parse5/7.1.1:
resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==}
dependencies:
entities: 4.4.0
dev: true
/parseurl/1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
@@ -17914,6 +18212,10 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
/pathval/1.1.1:
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
dev: true
/pbkdf2/3.1.2:
resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
engines: {node: '>=0.12'}
@@ -20233,6 +20535,13 @@ packages:
xmlchars: 2.2.0
dev: true
/saxes/6.0.0:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
dependencies:
xmlchars: 2.2.0
dev: true
/scheduler/0.20.2:
resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==}
dependencies:
@@ -20750,6 +21059,47 @@ packages:
smart-buffer: 4.2.0
dev: true
/solid-jest/0.2.0_t7todo2kjeiemugvwlfkztjgsq:
resolution: {integrity: sha512-1ILtAj+z6bh1vTvaDlcT8501vmkzkVZMk2aiexJy+XWTZ+sb9B7IWedvWadIhOwwL97fiW4eMmN6SrbaHjn12A==}
peerDependencies:
babel-preset-solid: ^1.0.0
dependencies:
'@babel/preset-env': 7.18.10_@babel+core@7.18.13
babel-jest: 27.5.1_@babel+core@7.18.13
babel-preset-solid: 1.5.4_@babel+core@7.18.13
enhanced-resolve-jest: 1.1.0
transitivePeerDependencies:
- '@babel/core'
- supports-color
dev: true
/solid-js/1.5.4:
resolution: {integrity: sha512-+65anSHhH27htkhP5LuC912fviMIckgc7/yN+WWrKhS9Kp3dvtDNl5/m4GWX1lpCvcubjShqJjGt16HET5z5Ig==}
dependencies:
csstype: 3.1.0
dev: true
/solid-refresh/0.4.1_solid-js@1.5.4:
resolution: {integrity: sha512-v3tD/OXQcUyXLrWjPW1dXZyeWwP7/+GQNs8YTL09GBq+5FguA6IejJWUvJDrLIA4M0ho9/5zK2e9n+uy+4488g==}
peerDependencies:
solid-js: ^1.3
dependencies:
'@babel/generator': 7.18.13
'@babel/helper-module-imports': 7.18.6
'@babel/types': 7.18.13
solid-js: 1.5.4
dev: true
/solid-testing-library/0.3.0_solid-js@1.5.4:
resolution: {integrity: sha512-6NWVbySNVzyReBm2N6p3eF8bzxRZXHZTAmPix4vFWYol16QWVjNQsEUxvr+ZOutb0yuMZmNuGx3b6WIJYmjwMQ==}
engines: {node: '>= 14'}
peerDependencies:
solid-js: '>=1.0.0'
dependencies:
'@testing-library/dom': 7.31.2
solid-js: 1.5.4
dev: true
/sorcery/0.10.0:
resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==}
hasBin: true
@@ -21225,6 +21575,12 @@ packages:
engines: {node: '>=8'}
dev: true
/strip-literal/0.4.1:
resolution: {integrity: sha512-z+F/xmDM8GOdvA5UoZXFxEnxdvMOZ+XEBIwjfLfc8hMSuHpGxjXAUCfuEo+t1GOHSb8+qgI/IBRpxXVMaABYWA==}
dependencies:
acorn: 8.8.0
dev: true
/style-loader/2.0.0_webpack@4.44.2:
resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==}
engines: {node: '>= 10.13.0'}
@@ -21748,9 +22104,23 @@ packages:
resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==}
dev: false
/tinybench/2.1.5:
resolution: {integrity: sha512-ak+PZZEuH3mw6CCFOgf5S90YH0MARnZNhxjhjguAmoJimEMAJuNip/rJRd6/wyylHItomVpKTzZk9zrhTrQCoQ==}
dev: true
/tinycolor2/1.4.2:
resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==}
/tinypool/0.3.0:
resolution: {integrity: sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==}
engines: {node: '>=14.0.0'}
dev: true
/tinyspy/1.0.2:
resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==}
engines: {node: '>=14.0.0'}
dev: true
/tmp/0.0.30:
resolution: {integrity: sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==}
engines: {node: '>=0.4.0'}
@@ -21859,6 +22229,13 @@ packages:
punycode: 2.1.1
dev: true
/tr46/3.0.0:
resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
engines: {node: '>=12'}
dependencies:
punycode: 2.1.1
dev: true
/tree-kill/1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -21918,6 +22295,10 @@ packages:
typescript: 4.1.6
dev: true
/ts-toolbelt/9.6.0:
resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==}
dev: true
/tsconfig-paths/3.14.1:
resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
dependencies:
@@ -22501,6 +22882,23 @@ packages:
vite: 2.9.14
dev: true
/vite-plugin-solid/2.3.0_solid-js@1.5.4+vite@2.9.14:
resolution: {integrity: sha512-N2sa54C3UZC2nN5vpj5o6YP+XdIAZW6n6xv8OasxNAcAJPFeZT7EOVvumL0V4c8hBz1yuYniMWdESY8807fVSg==}
peerDependencies:
solid-js: ^1.3.17
vite: ^3.0.0
dependencies:
'@babel/core': 7.18.13
'@babel/preset-typescript': 7.18.6_@babel+core@7.18.13
babel-preset-solid: 1.5.4_@babel+core@7.18.13
merge-anything: 5.0.4
solid-js: 1.5.4
solid-refresh: 0.4.1_solid-js@1.5.4
vite: 2.9.14
transitivePeerDependencies:
- supports-color
dev: true
/vite/2.9.14:
resolution: {integrity: sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==}
engines: {node: '>=12.2.0'}
@@ -22525,6 +22923,47 @@ packages:
fsevents: 2.3.2
dev: true
/vitest/0.23.2_jsdom@20.0.0:
resolution: {integrity: sha512-kTBKp3ROPDkYC+x2zWt4znkDtnT08W1FQ6ngRFuqxpBGNuNVS+eWZKfffr8y2JGvEzZ9EzMAOcNaiqMj/FZqMw==}
engines: {node: '>=v14.16.0'}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@vitest/browser': '*'
'@vitest/ui': '*'
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
'@vitest/browser':
optional: true
'@vitest/ui':
optional: true
happy-dom:
optional: true
jsdom:
optional: true
dependencies:
'@types/chai': 4.3.3
'@types/chai-subset': 1.3.3
'@types/node': 18.6.2
chai: 4.3.6
debug: 4.3.4
jsdom: 20.0.0
local-pkg: 0.4.2
strip-literal: 0.4.1
tinybench: 2.1.5
tinypool: 0.3.0
tinyspy: 1.0.2
vite: 2.9.14
transitivePeerDependencies:
- less
- sass
- stylus
- supports-color
dev: true
/vlq/1.0.1:
resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
dev: true
@@ -22628,6 +23067,13 @@ packages:
xml-name-validator: 3.0.0
dev: true
/w3c-xmlserializer/3.0.0:
resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==}
engines: {node: '>=12'}
dependencies:
xml-name-validator: 4.0.0
dev: true
/walker/1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
dependencies:
@@ -22726,6 +23172,11 @@ packages:
engines: {node: '>=10.4'}
dev: true
/webidl-conversions/7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
dev: true
/webpack-dev-middleware/3.7.2_webpack@4.44.2:
resolution: {integrity: sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==}
engines: {node: '>= 6'}
@@ -22940,6 +23391,13 @@ packages:
iconv-lite: 0.4.24
dev: true
/whatwg-encoding/2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
dependencies:
iconv-lite: 0.6.3
dev: true
/whatwg-fetch/3.6.2:
resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==}
dev: true
@@ -22948,6 +23406,19 @@ packages:
resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
dev: true
/whatwg-mimetype/3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
engines: {node: '>=12'}
dev: true
/whatwg-url/11.0.0:
resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
engines: {node: '>=12'}
dependencies:
tr46: 3.0.0
webidl-conversions: 7.0.0
dev: true
/whatwg-url/5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
dependencies:
@@ -23130,6 +23601,19 @@ packages:
optional: true
dev: true
/ws/8.8.1:
resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
dev: true
/xhr/2.6.0:
resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==}
dependencies:
@@ -23149,6 +23633,11 @@ packages:
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
dev: true
/xml-name-validator/4.0.0:
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
engines: {node: '>=12'}
dev: true
/xml-parse-from-string/1.0.1:
resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
dev: true

View File

@@ -1,4 +1,4 @@
<svg width="30" height="30" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width="24" height="24" viewBox="-2 -2 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0h20v20H0V0Z" fill="#F7DF1E"/>
<path d="M13.43 15.62c.41.67.92 1.14 1.87 1.14.76 0 1.27-.38 1.27-.92 0-.63-.5-.89-1.36-1.24l-.48-.22c-1.37-.57-2.25-1.3-2.25-2.82 0-1.4 1.08-2.48 2.73-2.48 1.2 0 2.06.41 2.7 1.5l-1.47.94c-.34-.57-.7-.79-1.23-.79-.54 0-.9.35-.9.8 0 .57.36.79 1.18 1.14l.45.19c1.62.7 2.5 1.4 2.5 2.95 0 1.68-1.33 2.63-3.1 2.63-1.75 0-2.9-.85-3.44-1.93l1.53-.9Zm-6.64.16c.29.54.58.98 1.21.98s1.02-.25 1.02-1.17V9.17h1.87v6.42c0 1.97-1.14 2.85-2.8 2.85a2.9 2.9 0 0 1-2.82-1.74l1.52-.92Z" fill="#000"/>
</svg>

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 634 B

View File

@@ -0,0 +1,6 @@
<svg width="35" height="32" viewBox="0 0 23 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5 12.3a2 2 0 1 0 0-4.1 2 2 0 0 0 0 4Z" fill="#20232a"/>
<path d="M11.5 14.4c6 0 11-1.8 11-4.2 0-2.3-5-4.2-11-4.2s-11 2-11 4.2c0 2.4 5 4.2 11 4.2Z" stroke="#20232a"/>
<path d="M7.9 12.3c3 5.3 7 8.6 9.1 7.5 2-1.2 1.2-6.4-1.9-11.7C12.1 3 8.1-.5 6 .7 4 2 4.8 7.1 7.9 12.3Z" stroke="#20232a"/>
<path d="M7.9 8.1c-3 5.3-4 10.5-1.9 11.7 2 1.1 6.1-2.2 9.1-7.5 3-5.2 4-10.4 1.9-11.6C15-.5 10.9 3 7.9 8.1Z" stroke="#20232a"/>
</svg>

After

Width:  |  Height:  |  Size: 540 B

View File

@@ -0,0 +1,35 @@
<svg width="32" height="30" viewBox="0 0 32 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#a)">
<path d="M31.42 6.75S21.2-.77 13.3.96l-.58.2a5.48 5.48 0 0 0-2.7 1.73l-.38.58-2.9 5.01 5.02.97c2.12 1.35 4.82 1.92 7.32 1.35l8.87 1.73 3.47-5.78Z" fill="#76B3E1"/>
<path opacity=".3" d="M31.42 6.75S21.2-.77 13.3.96l-.58.2a5.48 5.48 0 0 0-2.7 1.73l-.38.58-2.9 5.01 5.02.97c2.12 1.35 4.82 1.92 7.32 1.35l8.87 1.73 3.47-5.78Z" fill="url(#b)"/>
<path d="m10.02 6.75-.77.19c-3.27.96-4.24 4.05-2.5 6.75 1.92 2.5 5.97 3.85 9.25 2.89l11.95-4.05S17.73 5.01 10.02 6.75Z" fill="#518AC8"/>
<path opacity=".3" d="m10.02 6.75-.77.19c-3.27.96-4.24 4.05-2.5 6.75 1.92 2.5 5.97 3.85 9.25 2.89l11.95-4.05S17.73 5.01 10.02 6.75Z" fill="url(#c)"/>
<path d="M25.83 15.42a8.67 8.67 0 0 0-9.25-2.89L4.63 16.39.77 23.13l21.6 3.67 3.85-6.94c.77-1.35.58-2.9-.39-4.44Z" fill="url(#d)"/>
<path d="M21.98 22.17a8.67 8.67 0 0 0-9.26-2.9L.77 23.14S11 30.84 18.9 28.92l.58-.2c3.28-.96 4.43-4.05 2.5-6.55Z" fill="url(#e)"/>
</g>
<defs>
<linearGradient id="b" x1="5.3" y1=".58" x2="29.3" y2="12.24" gradientUnits="userSpaceOnUse">
<stop offset=".1" stop-color="#76B3E1"/>
<stop offset=".3" stop-color="#DCF2FD"/>
<stop offset="1" stop-color="#76B3E1"/>
</linearGradient>
<linearGradient id="c" x1="18.47" y1="6.28" x2="14.27" y2="20.28" gradientUnits="userSpaceOnUse">
<stop stop-color="#76B3E1"/>
<stop offset=".5" stop-color="#4377BB"/>
<stop offset="1" stop-color="#1F3B77"/>
</linearGradient>
<linearGradient id="d" x1="3.55" y1="12.38" x2="27.82" y2="28.88" gradientUnits="userSpaceOnUse">
<stop stop-color="#315AA9"/>
<stop offset=".5" stop-color="#518AC8"/>
<stop offset="1" stop-color="#315AA9"/>
</linearGradient>
<linearGradient id="e" x1="14.5" y1="14.36" x2="4.7" y2="50.27" gradientUnits="userSpaceOnUse">
<stop stop-color="#4377BB"/>
<stop offset=".5" stop-color="#1A336B"/>
<stop offset="1" stop-color="#1A336B"/>
</linearGradient>
<clipPath id="a">
<path fill="#fff" d="M0 0h32v29.94H0z"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

14
site/public/logo-icon.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14 12C14 9.79086 12.2091 8 10 8C7.79086 8 6 9.79086 6 12C6 16.4183 9.58172 20 14 20C18.4183 20 22 16.4183 22 12C22 8.446 20.455 5.25285 18 3.05557" stroke="#2D3748" />
<path d="M10 12C10 14.2091 11.7909 16 14 16C16.2091 16 18 14.2091 18 12C18 7.58172 14.4183 4 10 4C5.58172 4 2 7.58172 2 12C2 15.5841 3.57127 18.8012 6.06253 21" stroke="#F56565" />
</svg>

After

Width:  |  Height:  |  Size: 571 B

View File

@@ -0,0 +1,4 @@
<svg width="98" height="32" viewBox="0 0 98 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="98" height="32" rx="5" fill="white"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
</svg>

After

Width:  |  Height:  |  Size: 242 B

View File

@@ -1,9 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 12 12 0 0 0-4-9" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0 12 12 0 0 0 4 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="M59 5 49 8.6l1.5 13.2 8.5 4.7 8.5-4.7L69 8.6 59 5Z" fill="#DD0031"/>
<path d="M59 5v21.5l8.5-4.7L69 8.6 59 5Z" fill="#C3002F"/>
<path d="m59 7.4-6.3 14h2.4l1.2-3.1h5.3l1.3 3h2.3L59 7.4Zm1.8 9h-3.6l1.8-4.5 1.8 4.4Z" fill="#fff"/>
<image href="https://lucide.dev/framework-logos/angular.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 719 B

After

Width:  |  Height:  |  Size: 368 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/angular.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 392 B

View File

@@ -1,9 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 12 12 0 0 0-4-9" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0 12 12 0 0 0 4 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M68.4 15H61l-6.5 6.5 3.7 3.7 10.2-10.1ZM52.7 19.7 49 16 61 4h7.4L52.7 19.7Z" fill="#54C5F8"/>
<path d="M58.2 25.2 61 28h7.4l-6.5-6.5-3.7 3.7Z" fill="#01579B"/>
<path d="m58.2 17.8-3.7 3.7 3.7 3.7 3.7-3.7-3.7-3.7Z" fill="#29B6F6"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/flutter.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 368 B

View File

@@ -1,10 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.94" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0c0 3.58 1.57 6.8 4.06 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="m59 4 10 5.77v11.55l-10 5.77-10-5.77V9.77L59 4Z" fill="#673AB8"/>
<path d="M51.72 21.22c1.33 1.7 5.56.41 9.55-2.7 3.99-3.12 6.27-6.9 4.94-8.61-1.33-1.7-5.56-.4-9.55 2.71-3.99 3.12-6.27 6.9-4.94 8.6Zm.57-.44c-.44-.56-.25-1.67.6-3.07a17.8 17.8 0 0 1 4.22-4.52 17.8 17.8 0 0 1 5.41-3c1.56-.48 2.68-.4 3.12.16.44.57.25 1.68-.6 3.07a17.8 17.8 0 0 1-4.22 4.53 17.8 17.8 0 0 1-5.41 3c-1.56.48-2.68.4-3.12-.17Z" fill="#fff"/>
<path d="M66.2 21.22c1.34-1.7-.94-5.48-4.93-8.6-4-3.12-8.22-4.41-9.55-2.71-1.33 1.7.95 5.49 4.94 8.6 4 3.12 8.22 4.42 9.55 2.71Zm-.56-.44c-.44.57-1.56.65-3.12.17a17.8 17.8 0 0 1-5.41-3 17.8 17.8 0 0 1-4.23-4.53c-.84-1.4-1.03-2.5-.59-3.07.44-.56 1.56-.64 3.12-.16a17.8 17.8 0 0 1 5.41 3 17.8 17.8 0 0 1 4.23 4.52c.84 1.4 1.03 2.5.59 3.07Z" fill="#fff"/>
<path d="M58.96 17.1a1.53 1.53 0 1 0 0-3.06 1.53 1.53 0 0 0 0 3.06Z" fill="#fff"/>
<image href="https://lucide.dev/framework-logos/preact.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 367 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/preact.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 391 B

View File

@@ -0,0 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/react-native.svg" height="24" width="24" y="4" x="47"/>
</svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/react-native.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 397 B

View File

@@ -1,10 +1,6 @@
<svg width="78" height="32" viewBox="0 0 78 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M58.5 18.2818C59.6321 18.2818 60.55 17.3639 60.55 16.2318C60.55 15.0996 59.6321 14.1818 58.5 14.1818C57.3678 14.1818 56.45 15.0996 56.45 16.2318C56.45 17.3639 57.3678 18.2818 58.5 18.2818Z" fill="#61DAFB"/>
<path d="M58.5 20.4317C64.5751 20.4317 69.5 18.5513 69.5 16.2317C69.5 13.9121 64.5751 12.0317 58.5 12.0317C52.4249 12.0317 47.5 13.9121 47.5 16.2317C47.5 18.5513 52.4249 20.4317 58.5 20.4317Z" stroke="#61DAFB"/>
<path d="M54.8626 18.3317C57.9002 23.593 61.9911 26.9178 63.9999 25.758C66.0087 24.5982 65.1748 19.393 62.1372 14.1317C59.0996 8.87053 55.0087 5.54567 52.9999 6.70547C50.9911 7.86527 51.825 13.0705 54.8626 18.3317Z" stroke="#61DAFB"/>
<path d="M54.8626 14.1317C51.825 19.3929 50.9911 24.5982 52.9999 25.758C55.0087 26.9178 59.0996 23.5929 62.1372 18.3317C65.1748 13.0705 66.0087 7.86522 63.9999 6.70542C61.9911 5.54562 57.9002 8.87048 54.8626 14.1317Z" stroke="#61DAFB"/>
<path d="M21 16C21 14.9392 20.5786 13.9217 19.8284 13.1716C19.0783 12.4215 18.0609 12 17 12C15.9391 12 14.9217 12.4215 14.1716 13.1716C13.4214 13.9217 13 14.9392 13 16C13 18.1218 13.8429 20.1566 15.3431 21.6569C16.8434 23.1572 18.8783 24 21 24C23.1217 24 25.1566 23.1572 26.6569 21.6569C28.1571 20.1566 29 18.1218 29 16C29.0019 14.3114 28.6464 12.6415 27.957 11.1C27.2676 9.55854 26.2599 8.18036 25 7.05603" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16C17 17.0609 17.4214 18.0783 18.1716 18.8284C18.9217 19.5786 19.9391 20 21 20C22.0609 20 23.0783 19.5786 23.8284 18.8284C24.5786 18.0783 25 17.0609 25 16C25 13.8783 24.1571 11.8434 22.6569 10.3431C21.1566 8.84285 19.1217 8 17 8C14.8783 8 12.8434 8.84285 11.3431 10.3431C9.84285 11.8434 9 13.8783 9 16C9 19.584 10.571 22.801 13.063 25" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/react.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/react.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -1,8 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.94" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0c0 3.58 1.57 6.8 4.06 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="M49 6h20v20H49V6Z" fill="#F7DF1E"/>
<path d="M62.43 21.62c.41.67.92 1.14 1.87 1.14.76 0 1.27-.38 1.27-.92 0-.63-.5-.89-1.36-1.24l-.48-.22c-1.36-.57-2.25-1.3-2.25-2.82 0-1.4 1.08-2.48 2.73-2.48 1.2 0 2.06.41 2.7 1.5l-1.47.94c-.34-.57-.7-.79-1.23-.79-.54 0-.9.35-.9.8 0 .57.36.79 1.18 1.14l.45.19c1.62.7 2.5 1.4 2.5 2.95 0 1.68-1.33 2.63-3.1 2.63-1.75 0-2.9-.85-3.44-1.93l1.53-.9Zm-6.64.16c.29.54.58.98 1.21.98s1.02-.25 1.02-1.17v-6.42h1.87v6.42c0 1.97-1.14 2.85-2.8 2.85a2.9 2.9 0 0 1-2.82-1.74l1.52-.92Z" fill="#000"/>
<image href="https://lucide.dev/framework-logos/js.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 1023 B

After

Width:  |  Height:  |  Size: 363 B

View File

@@ -1,11 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.94" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0c0 3.58 1.57 6.8 4.06 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="M47.68 16h22.64v8A3.26 3.26 0 0 1 67 27.32H51A3.26 3.26 0 0 1 47.68 24v-8Z" fill="#000"/>
<path d="M60.27 8.87a1.8 1.8 0 1 0-2.54 0v3.66l-2.59-2.59a1.8 1.8 0 1 0-1.8 1.8l2.59 2.59h-3.66a1.8 1.8 0 1 0 0 2.54h3.66l-2.58 2.58a1.8 1.8 0 1 0 1.8 1.8l2.58-2.58v3.65a1.8 1.8 0 1 0 2.54 0v-3.65l2.58 2.58a1.8 1.8 0 1 0 1.8-1.8l-2.58-2.58h3.65a1.8 1.8 0 1 0 0-2.54h-3.65l2.59-2.59a1.8 1.8 0 1 0-1.8-1.8l-2.59 2.59V8.87Z" fill="#FFB13B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M57.73 8.87a1.8 1.8 0 1 1 2.54 0v3.66l2.59-2.59a1.8 1.8 0 1 1 1.8 1.8l-2.59 2.59h3.65a1.8 1.8 0 1 1 0 2.54h-3.65l2.58 2.58a1.8 1.8 0 1 1-1.8 1.8l-2.58-2.58v3.65a1.8 1.8 0 1 1-2.54 0v-3.65l-2.58 2.58a1.8 1.8 0 1 1-1.8-1.8l2.58-2.58h-3.66a1.8 1.8 0 1 1 0-2.54h3.66l-2.59-2.59a1.8 1.8 0 1 1 1.8-1.8l2.59 2.59V8.87ZM55.69 7.6A3.31 3.31 0 0 0 51 12.3a3.31 3.31 0 0 0 0 6.62 3.31 3.31 0 0 0 4.69 4.69 3.31 3.31 0 0 0 6.62 0A3.31 3.31 0 0 0 67 18.9a3.31 3.31 0 0 0 0-6.62A3.31 3.31 0 0 0 62.3 7.6a3.31 3.31 0 0 0-6.62 0Z" fill="#000"/>
<path opacity=".8" d="M47.68 16h22.64v8A3.26 3.26 0 0 1 67 27.32H51A3.26 3.26 0 0 1 47.68 24v-8Z" fill="#000"/>
<path d="M51.08 21.65a2.93 2.93 0 0 1 2.08-5.01c1.6 0 2.93 1.31 2.93 2.94h-1.73a1.22 1.22 0 1 0-2.08.85c.22.23.42.29.86.37a3.3 3.3 0 0 1 2.08.85 2.93 2.93 0 1 1-4.15 4.15 2.93 2.93 0 0 1-.85-2.07h1.74a1.22 1.22 0 1 0 2.08-.87c-.24-.22-.54-.28-.88-.35-.78-.13-1.54-.32-2.08-.86Zm10.88-5.01-2.08 10.02h-1.73l-2.08-10.02h1.73l1.22 5.87 1.21-5.87h1.73Zm2.93 4.16h2.91v2.93a2.93 2.93 0 1 1-5.86 0v-4.16a2.93 2.93 0 1 1 5.86 0h-1.7a1.22 1.22 0 0 0-2.43 0v4.16a1.22 1.22 0 0 0 2.43 0V22.5H64.9V20.8Z" fill="#fff"/>
<image href="https://lucide.dev/framework-logos/svg.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 364 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/svg.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 388 B

View File

@@ -1,8 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 12 12 0 0 0-4-9" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0 12 12 0 0 0 4 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="M67.7 7.2A7.3 7.3 0 0 0 58 5l-5.6 3.5a6.4 6.4 0 0 0-2.9 4.3c-.3 1.5 0 3 .7 4.4a6.4 6.4 0 0 0-1 5c.3 1 .6 1.8 1.2 2.5A7.3 7.3 0 0 0 60 27l5.6-3.6a6.4 6.4 0 0 0 2.9-4.3c.3-1.5 0-3-.7-4.3a6.5 6.5 0 0 0 1-5.1c-.3-1-.6-1.8-1.2-2.5" fill="#FF3E00"/>
<path d="M57.4 25.2a4.4 4.4 0 0 1-5.5-3.3 4.1 4.1 0 0 1 .1-2.1l.1-.4.3.2c.7.5 1.4.9 2.2 1.1l.2.1v.2c0 .3 0 .6.2.8a1.3 1.3 0 0 0 1.5.6l.3-.2 5.6-3.5a1.2 1.2 0 0 0 .5-1.3l-.2-.5a1.3 1.3 0 0 0-1.4-.5c-.2 0-.3 0-.4.2l-2.1 1.3-1.2.5a4.4 4.4 0 0 1-5.4-3.2 4.1 4.1 0 0 1 .6-3.1c.3-.5.7-.9 1.1-1.2l5.6-3.5a4 4 0 0 1 1.1-.5 4.4 4.4 0 0 1 5.5 3.2 4.1 4.1 0 0 1-.1 2.2l-.1.3-.3-.2c-.7-.5-1.4-.9-2.2-1.1h-.2V11c0-.3 0-.6-.2-.8a1.3 1.3 0 0 0-1.8-.4l-5.6 3.6a1.2 1.2 0 0 0-.5 1.3l.2.4a1.3 1.3 0 0 0 1.4.5l.4-.1 2.1-1.4a4 4 0 0 1 1.2-.5 4.4 4.4 0 0 1 5.4 3.3c.1.5.1 1 0 1.6a3.9 3.9 0 0 1-1.7 2.6l-5.6 3.6-1.1.5Z" fill="#fff"/>
<image href="https://lucide.dev/framework-logos/svelte.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 367 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/svelte.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 391 B

View File

@@ -1,10 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 12 12 0 0 0-4-9" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0 12 12 0 0 0 4 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="m61.2 6-2.7 4.6L56 6H47l11.5 20L70.1 6h-8.9Z" fill="#41B883"/>
<path d="m61.2 6-2.7 4.6L56 6h-4.3l7 12 6.9-12h-4.3Z" fill="#34495E"/>
<circle cx="63.5" cy="19.5" r="4.5" fill="#2C3E50"/>
<path d="m62.5 17.8.4-.2.5-.1a1.3 1.3 0 0 1 .9.3l.2.3v.4l-.1.5a1 1 0 0 1-.4.3c.2 0 .3.2.5.3l.2.6a1 1 0 0 1-.4.8l-.4.2a2.6 2.6 0 0 1-1 0l-.5-.1.1-.4h.4a1.6 1.6 0 0 0 .7 0h.2l.2-.2v-.3l-.1-.4a1 1 0 0 0-.6-.2h-.4v-.5h.3l.5-.1c.2-.1.3-.3.3-.5l-.2-.4a.6.6 0 0 0-.4-.1 1 1 0 0 0-.4 0l-.3.2-.2-.4Z" fill="#fff"/>
<image href="https://lucide.dev/framework-logos/vue-next.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 985 B

After

Width:  |  Height:  |  Size: 369 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/vue-next.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 393 B

View File

@@ -1,8 +1,6 @@
<svg width="78" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="78" height="32" rx="5" fill="#fff"/>
<path d="M21 16a4 4 0 1 0-8 0 8 8 0 0 0 16 0 12 12 0 0 0-4-9" stroke="#2D3748" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17 16a4 4 0 1 0 8 0 8 8 0 0 0-16 0 12 12 0 0 0 4 9" stroke="#F56565" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<image href="https://lucide.dev/logo-icon.svg" height="24" width="24" y="4" x="8"/>
<circle cx="39" cy="16" r="2" fill="#DDD"/>
<path d="m61.2 6-2.7 4.6L56 6H47l11.5 20L70.1 6h-8.9Z" fill="#41B883"/>
<path d="m61.2 6-2.7 4.6L56 6h-4.3l7 12 6.9-12h-4.3Z" fill="#34495E"/>
<image href="https://lucide.dev/framework-logos/vue.svg" height="24" width="24" y="4" x="47"/>
</svg>

Before

Width:  |  Height:  |  Size: 622 B

After

Width:  |  Height:  |  Size: 364 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/vue.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 388 B

View File

@@ -0,0 +1,6 @@
<svg width="140" height="32" viewBox="0 0 140 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="140" height="32" rx="5" fill="#fff"/>
<image href="https://lucide.dev/logo-text.svg" height="24" width="82" y="4" x="8"/>
<circle cx="99" cy="16" r="2" fill="#DDD"/>
<image href="https://lucide.dev/framework-logos/js.svg" height="24" width="24" y="4" x="108"/>
</svg>

After

Width:  |  Height:  |  Size: 387 B

View File

@@ -182,7 +182,6 @@ const Header = ({ data }: HeaderProps) => {
size="lg"
href={repositoryUrl}
target="__blank"
onClick={downloadAllIcons}
>
Github
</Button>

View File

@@ -1343,6 +1343,22 @@
"chicken",
"meat"
],
"ear": [
"hearing",
"noise",
"audio",
"accessibility"
],
"ear-off": [
"hearing",
"hard of hearing",
"hearing loss",
"deafness",
"noise",
"silence",
"audio",
"accessibility"
],
"edit": [
"pencil",
"change"