Compare commits

..

1 Commits

Author SHA1 Message Date
Eric Fennis
224b4e60c2 Init setup commit lint 2024-07-22 13:46:09 +02:00
808 changed files with 24831 additions and 24701 deletions

View File

@@ -9,7 +9,6 @@ strikethrough
touchpad
ungroup
pilcrow
toc
# Brands
codepen

View File

@@ -17,6 +17,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -1,35 +0,0 @@
name: Close Issue with Banned Phrases
on:
issues:
types: [opened]
jobs:
block_phrases:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Check for blocked phrases in issue title
run: |
ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH")
BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky")
# Check title and body for blocked phrases
for PHRASE in "${BLOCKED_PHRASES[@]}"
do
if echo "$ISSUE_TITLE" | grep -i "$PHRASE"; then
gh issue close ${{ github.event.issue.number }} --reason "not planned" --comment "This looks like a duplicate, use the [search](https://github.com/lucide-icons/lucide/issues?q=is%3Aissue+$PHRASE) to find similar issues.
Read more about brand guideline rules at [We're not accepting new Brand icons #670](https://github.com/lucide-icons/lucide/issues/670).
Always happy to help on [Discord](https://discord.gg/EH6nSts)."
gh issue lock ${{ github.event.issue.number }} --reason spam
exit 1
fi
done
env:
GH_TOKEN: ${{ github.token }}

View File

@@ -11,6 +11,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -13,6 +13,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -29,6 +31,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -13,6 +13,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-preact/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-react-native/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-react/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- scripts/generateNextJSAliases.mjs
@@ -16,6 +15,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -32,6 +33,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -1,24 +0,0 @@
name: Lucide Shared Checks
on:
pull_request:
paths:
- packages/shared/**
- pnpm-lock.yaml
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3.8.1
with:
node-version: 18
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test
run: pnpm --filter lucide-react test

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-solid/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -31,6 +32,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -13,6 +13,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-svelte/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -31,6 +32,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-vue-next/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -31,6 +32,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- packages/lucide-vue/**
- packages/shared/**
- tools/build-icons/**
- tools/rollup-plugins/**
- pnpm-lock.yaml
@@ -15,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -31,6 +32,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -14,6 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -30,6 +32,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3.8.1
with:
node-version: 18

View File

@@ -0,0 +1,16 @@
name: Validate PR title
on:
pull_request:
types:
- opened
- edited
- synchronize
jobs:
semantic-pull-request:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -56,6 +56,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -87,6 +89,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18
@@ -117,6 +121,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v4
with:
node-version: 18

8
.gitignore vendored
View File

@@ -16,17 +16,11 @@ outlined
packages/**/src/icons/*.js
packages/**/src/icons/*.ts
packages/**/src/icons/*.tsx
packages/**/src/aliases/*.ts
packages/**/src/aliases.ts
!packages/**/src/aliases/index.ts
packages/**/src/dynamicIconImports.ts
packages/**/DynamicIcon.d.ts
packages/**/dynamicIconImports.js
packages/**/dynamicIconImports.d.ts
packages/**/dynamicIconImports.js.map
packages/**/dynamic.d.ts
packages/**/dynamic.mjs.map
packages/**/dynamic.mjs
packages/**/LICENSE
categories.json
tags.json
@@ -45,5 +39,3 @@ docs/.vitepress/data/iconDetails
docs/.vitepress/data/relatedIcons.json
docs/.vercel
docs/.nitro
.gitignore

View File

@@ -72,7 +72,7 @@ pnpm install # Install dependencies, including the workspace packages
### Packages -> PNPM Workspaces
To distribute different packages we use [PNPM workspaces](https://pnpm.io/workspaces). Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/en/docs/workspaces).
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/enhttps://lucide.dev/docs/workspaces).
The configured directory for workspaces is the [packages](https://github.com/lucide-icons/lucide/tree/main/packages) directory, located in the root directory. There you will find all the current packages from lucide.
There are more workspaces defined, see [`pnpm-workspace.yaml`](https://github.com/lucide-icons/lucide/blob/main/pnpm-workspace.yaml).
@@ -127,7 +127,7 @@ When adding new features to for example the icon component for a framework. It i
### Local Testing
To test changes in a local project, you can use `yarn link`, `npm link`, `bun link` or `pnpm link` to link the package. Before you do this make sure you builded the package first.
To test changes in a local project, you can use `yarn link`, `npm link` or `pnpm link` to link the package. Before you do this make sure you builded the package first.
```sh
# in packages/lucide-react

263
README.md
View File

@@ -8,39 +8,185 @@
</p>
<p align="center">
<a href="https://github.com/lucide-icons/lucide/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/lucide" alt="license"></a>
<a href="https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons"><img src="https://img.shields.io/badge/Figma-F24E1E?logo=figma&logoColor=white" alt="figma installs"></a>
<a href="https://www.npmjs.com/package/lucide"><img src="https://img.shields.io/npm/v/lucide" alt="npm package"></a>
<a href="https://www.figma.com/community/plugin/939567362549682242/Lucide-Icons"><img src="https://img.shields.io/endpoint?logo=figma&label=installs&url=https://yuanqing.github.io/figma-plugins-stats/plugin/939567362549682242/installs.json" alt="figma installs"></a>
<a href="https://github.com/lucide-icons/lucide/actions/workflows/release.yml"><img src="https://github.com/lucide-icons/lucide/actions/workflows/release.yml/badge.svg" alt="build status"></a>
<a href="https://discord.gg/EH6nSts"><img src="https://img.shields.io/discord/723074157486800936?label=chat&logo=discord&logoColor=%23ffffff&colorB=%237289DA" alt="discord chat"></a>
</p>
<p align="center">
<a href="https://lucide.dev/icons/">Icons</a>
·
<a href="https://lucide.dev/guide/">Guide</a>
·
<a href="https://lucide.dev/packages">Packages</a>
·
<a href="https://lucide.dev/license">License</a>
·
<a href="https://lucide.dev/showcase">Showcase</a>
</p>
# Lucide
Lucide is an open-source icon library that provides 1000+ vector (svg) files for displaying icons and symbols in digital and non-digital projects. The library aims to make it easier for designers and developers to incorporate icons into their projects by providing several official [packages](https://lucide.dev/packages) to make it easier to use these icons in your project.
Community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
## Packages
It began after growing dissatisfaction with the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
| Logo | Package | Version | Downloads | Links |
| ---- | ------- | ------- | --------- | ----- |
| <img src="https://lucide.dev/framework-logos/js.svg" alt="JS logo" width="48"> | **`lucide`** | [![npm](https://img.shields.io/npm/v/lucide)](https://www.npmjs.com/package/lucide) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide) | [Docs](https://lucide.dev/guide/packages/lucide) · [Source](./packages/lucide) |
| <img src="https://lucide.dev/framework-logos/react.svg" alt="React logo" width="48"> | **`lucide-react`** | [![npm](https://img.shields.io/npm/v/lucide-react)](https://www.npmjs.com/package/lucide-react) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-react) | [Docs](https://lucide.dev/guide/packages/lucide-react) · [Source](./packages/lucide-react) |
| <img src="https://lucide.dev/framework-logos/vue.svg" alt="Vue logo" width="48"> | **`lucide-vue-next`** | [![npm](https://img.shields.io/npm/v/lucide-vue-next)](https://www.npmjs.com/package/lucide-vue-next) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-vue-next) | [Docs](https://lucide.dev/guide/packages/lucide-vue-next) · [Source](./packages/lucide-vue-next) |
| <img src="https://lucide.dev/framework-logos/svelte.svg" alt="Svelte logo" width="48"> | **`lucide-svelte`** | [![npm](https://img.shields.io/npm/v/lucide-svelte)](https://www.npmjs.com/package/lucide-svelte) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-svelte) | [Docs](https://lucide.dev/guide/packages/lucide-svelte) · [Source](./packages/lucide-svelte) |
| <img src="https://lucide.dev/framework-logos/solid.svg" alt="Solid logo" width="48"> | **`lucide-solid`** | [![npm](https://img.shields.io/npm/v/lucide-solid)](https://www.npmjs.com/package/lucide-solid) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-solid) | [Docs](https://lucide.dev/guide/packages/lucide-solid) · [Source](./packages/lucide-solid) |
| <img src="https://lucide.dev/framework-logos/preact.svg" alt="Preact logo" width="48"> | **`lucide-preact`** | [![npm](https://img.shields.io/npm/v/lucide-preact)](https://www.npmjs.com/package/lucide-preact) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-preact) | [Docs](https://lucide.dev/guide/packages/lucide-preact) · [Source](./packages/lucide-preact) |
| <img src="https://lucide.dev/framework-logos/react-native.svg" alt="React Native logo" width="48"> | **`lucide-react-native`** | [![npm](https://img.shields.io/npm/v/lucide-react-native)](https://www.npmjs.com/package/lucide-react-native) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-react-native) | [Docs](https://lucide.dev/guide/packages/lucide-react-native) · [Source](./packages/lucide-react-native) |
| <img src="https://lucide.dev/framework-logos/angular.svg" alt="Angular logo" width="48"> | **`lucide-angular`** | [![npm](https://img.shields.io/npm/v/lucide-angular)](https://www.npmjs.com/package/lucide-angular) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-angular) | [Docs](https://lucide.dev/guide/packages/lucide-angular) · [Source](./packages/lucide-angular) |
| <img src="https://lucide.dev/framework-logos/svg.svg" alt="SVG logo" width="48"> | **`lucide-static`** | [![npm](https://img.shields.io/npm/v/lucide-static)](https://www.npmjs.com/package/lucide-static) | ![NPM Downloads](https://img.shields.io/npm/dw/lucide-static) | [Docs](https://lucide.dev/guide/packages/lucide-static) · [Source](./packages/lucide-static) |
Lucide is trying to expand the icon set as much as possible while staying faithful to the original simplistic design language. We do this as a community of devs and designers and hope that you'll join us!
### Why choose Lucide over Feather Icons
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
- Official libraries and integrations with popular frameworks and design tools.
- Well maintained code base.
- Active community, regularly growing and improving the set.
## 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)
- [Svelte](#svelte)
- [Solid](#solid)
- [Hyva](#hyva)
- [Eleventy](#eleventy)
- [Contributing](#contributing)
- [Community](#community)
- [License](#license)
- [Credits](#credits)
- [Sponsors](#sponsors)
## Usage
At its core, Lucide is a collection of [SVG](https://svgontheweb.com/#svg) files. This means that you can use Lucide icons in all the same ways you can use SVGs (e.g. `img`, `background-image`, `inline`, `object`, `embed`, `iframe`). Here's a helpful article detailing the many ways SVGs can be used on the web: [SVG on the Web Implementation Options](https://svgontheweb.com/#implementation)
The following are additional ways you can use Lucide.
With the Javascript library you can easily incorporate the icon you want in your webpage.
### Web
Implementation of the lucide icon library for web applications.
```sh
npm install lucide
```
or
```sh
yarn add lucide
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide#lucide).
### React
Implementation of the lucide icon library for react applications.
```sh
yarn add lucide-react
```
or
```sh
npm install lucide-react
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-react#lucide-react).
### React Native
Implementation of the lucide icon library for React Native applications.
```sh
yarn add lucide-react-native
```
or
```sh
npm install lucide-react-native
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-react-native#lucide-react-native).
### Vue 2
Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue
```
or
```sh
npm install lucide-vue
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue#lucide-vue).
### Vue 3
Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue-next
```
or
```sh
npm install lucide-vue-next
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-vue-next#lucide-vue-next).
### Angular
```sh
yarn add lucide-angular
```
or
```sh
npm install lucide-angular
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-angular#lucide-angular).
### Preact
Implementation of the lucide icon library for preact applications.
```sh
yarn add lucide-preact
```
or
```sh
npm install lucide-preact
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-preact#lucide-preact).
### Static (svg sprite, font, icons ..)
Assets:
[Font Files](https://github.com/lucide-icons/lucide/releases/latest)
[SVG Files](https://github.com/lucide-icons/lucide/releases/latest)
[SVG Sprite](https://cdn.jsdelivr.net/npm/lucide-static@latest/sprite.svg)
NPM package
```sh
yarn add lucide-static
```
or
```sh
npm install lucide-static
```
### Figma
@@ -50,6 +196,68 @@ Visit [Figma community page](https://www.figma.com/community/plugin/939567362549
<img width="420" src="https://www.figma.com/community/plugin/939567362549682242/thumbnail" alt="Figma Lucide Cover">
### Laravel
Implementation of Lucide icon's using `blade-icons` for Laravel based projects.
```sh
composer require mallardduck/blade-lucide-icons
```
For more details, see the [documentation](https://github.com/mallardduck/blade-lucide-icons/blob/main/README.md).
### Svelte
Implementation of the lucide icon library for Svelte applications.
```sh
yarn add lucide-svelte
```
or
```sh
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
```sh
npm install lucide-solid
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-solid#lucide-solid).
### Hyva
Implementation of Lucide icon's using Hyvä's svg php viewmodal to render icons for Magento 2 Hyva theme based projects.
```sh
composer require siteation/magento2-hyva-icons-lucide
```
For more details, see the [documentation](https://github.com/Siteation/magento2-hyva-icons-lucide/blob/main/README.md).
### Eleventy
Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.
```sh
npm install @grimlink/eleventy-plugin-lucide-icons
```
For more details, see the [documentation](https://github.com/GrimLink/eleventy-plugin-lucide-icons/blob/main/README.md).
## Contributing
For more info on how to contribute please see the [contribution guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
@@ -62,7 +270,7 @@ Join the community on our [Discord](https://discord.gg/EH6nSts) server!
## License
Lucide is totally free for commercial use and personal use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE).
Lucide is totally free for commercial use and personally use, this software is licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE).
## Credits
@@ -79,7 +287,6 @@ Thank you to all the people who contributed to Lucide!
<a href="https://www.digitalocean.com/?refcode=b0877a2caebd&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="docs/public/digitalocean.svg" width="200" alt="DigitalOcean Referral Badge" /></a>
### Awesome backers 🍺
### Awesome backer 🍺
<a href="https://www.scipress.io?utm_source=lucide"><img src="docs/public/sponsors/scipress.svg" width="180" alt="Scipress sponsor badge" /></a>
<a href="https://github.com/pdfme/pdfme"><img src="docs/public/sponsors/pdfme.svg" width="180" alt="pdfme sponsor badge" /></a>

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Charts",
"icon": "chart-pie"
"icon": "pie-chart"
}

5
categories/currency.json Normal file
View File

@@ -0,0 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Currency",
"icon": "dollar-sign"
}

View File

@@ -0,0 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Furniture",
"icon": "rocking-chair"
}

5
categories/maps.json Normal file
View File

@@ -0,0 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Maps",
"icon": "map"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Mathematics",
"title": "Maths",
"icon": "divide"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Finance",
"title": "Money",
"icon": "piggy-bank"
}

View File

@@ -1,5 +1,5 @@
{
"$schema": "../category.schema.json",
"title": "Notification",
"title": "Notifications",
"icon": "triangle-alert"
}

View File

28
commitlint.config.ts Normal file
View File

@@ -0,0 +1,28 @@
import type { UserConfig } from '@commitlint/types';
import fs from 'fs/promises'
import path from 'path'
// Read directory
const getAllPackageFromDirectory = async (directory: string) => {
return fs.readdir(path.resolve(process.cwd(), directory))
}
const Configuration: UserConfig = {
extends: ['@commitlint/config-conventional'],
rules: {
'scope-enum': async () => {
const packages = await getAllPackageFromDirectory('packages')
const toolPackages = await getAllPackageFromDirectory('tools')
return [2, 'always', [
'site',
'meta',
...packages,
...toolPackages,
]
]
}
},
};
export default Configuration;

View File

@@ -28,7 +28,7 @@ export default eventHandler((event) => {
.map((_, idx, arr) => arr.slice(0, idx + 1).join('-'))
.reverse()
.find((groupName) => groupName in iconNodes);
if (!(name in iconNodes) && backdropName) {
if (backdropName) {
const iconNode = iconNodes[backdropName];
const LucideIcon = createLucideIcon(backdropName, iconNode);
@@ -39,9 +39,18 @@ export default eventHandler((event) => {
createElement(Backdrop, {
backdropString,
src,
color: '#777',
color: name in iconNodes ? 'red' : '#777',
}),
);
if (name in iconNodes) {
children.push(
createElement(Backdrop, {
backdropString: src,
src: backdropString,
color: 'lime',
}),
);
}
}
const svg = Buffer.from(

View File

@@ -1,37 +0,0 @@
import { eventHandler, setResponseHeader, defaultContentType } from 'h3';
import { renderToString, renderToStaticMarkup } from 'react-dom/server';
import { createElement } from 'react';
import Diff from '../../../lib/SvgPreview/Diff.tsx';
import iconNodes from '../../../data/iconNodes';
import createLucideIcon from 'lucide-react/src/createLucideIcon';
export default eventHandler((event) => {
const { params } = event.context;
const pathData = params.data.split('/');
const data = pathData.at(-1).slice(0, -4);
const [name] = pathData;
const newSrc = Buffer.from(data, 'base64')
.toString('utf8')
.replaceAll('\n', '')
.replace(/<svg[^>]*>|<\/svg>/g, '');
const children = [];
const oldSrc = iconNodes[name]
? renderToStaticMarkup(createElement(createLucideIcon(name, iconNodes[name])))
.replaceAll('\n', '')
.replace(/<svg[^>]*>|<\/svg>/g, '')
: '';
const svg = Buffer.from(
// We can't use jsx here, is not supported here by nitro.
renderToString(createElement(Diff, { oldSrc, newSrc, showGrid: true }, children)),
).toString('utf8');
defaultContentType(event, 'image/svg+xml');
setResponseHeader(event, 'Cache-Control', 'public,max-age=31536000');
return svg;
});

View File

@@ -35,6 +35,10 @@
"name": "connectivity",
"title": "Connectivity"
},
{
"name": "currency",
"title": "Currency"
},
{
"name": "cursors",
"title": "Cursors"
@@ -59,14 +63,14 @@
"name": "files",
"title": "File icons"
},
{
"name": "finance",
"title": "Finance"
},
{
"name": "food-beverage",
"title": "Food & beverage"
},
{
"name": "furniture",
"title": "Furniture"
},
{
"name": "gaming",
"title": "Gaming"
@@ -84,13 +88,21 @@
"title": "Mail"
},
{
"name": "math",
"title": "Mathematics"
"name": "maps",
"title": "Maps"
},
{
"name": "maths",
"title": "Maths"
},
{
"name": "medical",
"title": "Medical"
},
{
"name": "money",
"title": "Money"
},
{
"name": "multimedia",
"title": "Multimedia"
@@ -105,7 +117,7 @@
},
{
"name": "notifications",
"title": "Notification"
"title": "Notifications"
},
{
"name": "people",

View File

@@ -14,13 +14,5 @@
"light": "/library-logos/tamagui.svg",
"dark": "/library-logos/tamagui.svg"
}
},
{
"name": "Reflex",
"url": "https://reflex.dev",
"image": {
"light": "/library-logos/reflex-light.svg",
"dark": "/library-logos/reflex-dark.svg"
}
}
]

View File

@@ -31,8 +31,24 @@
}
]
},
"lucide-vue-next": {
"lucide-vue": {
"order": 2,
"icon": "vue",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-vue",
"href": "https://www.npmjs.com/package/lucide-vue"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-vue",
"href": "https://www.npmjs.com/package/lucide-vue"
}
]
},
"lucide-vue-next": {
"order": 3,
"icon": "vue-next",
"shields": [
{
@@ -48,7 +64,7 @@
]
},
"lucide-svelte": {
"order": 3,
"order": 4,
"icon": "svelte",
"shields": [
{
@@ -79,8 +95,24 @@
}
]
},
"lucide-react-native": {
"lucide-preact": {
"order": 5,
"icon": "preact",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
}
]
},
"lucide-react-native": {
"order": 6,
"icon": "react-native",
"shields": [
{
@@ -96,7 +128,7 @@
]
},
"lucide-angular": {
"order": 6,
"order": 7,
"icon": "angular",
"shields": [
{
@@ -111,22 +143,6 @@
}
]
},
"lucide-preact": {
"order": 7,
"icon": "preact",
"shields": [
{
"alt": "npm",
"src": "https://img.shields.io/npm/v/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
},
{
"alt": "npm",
"src": "https://img.shields.io/npm/dw/lucide-preact",
"href": "https://www.npmjs.com/package/lucide-preact"
}
]
},
"lucide-static": {
"order": 8,
"icon": "svg",

View File

@@ -76,24 +76,5 @@
],
"source": "https://github.com/swisnl/nuxt-lucide-icons",
"documentation": "https://github.com/swisnl/nuxt-lucide-icons/blob/main/README.md"
},
{
"name": "lucide-lustre",
"description": "A library providing https://lucide.dev icons to lustre",
"icon": "/framework-logos/lustre.webp",
"shields": [
{
"alt": "Latest Stable Version",
"src": "https://img.shields.io/hexpm/v/lucide_lustre",
"href": "https://hex.pm/packages/lucide_lustre"
},
{
"alt": "Total Downloads",
"src": "https://img.shields.io/hexpm/dw/lucide_lustre",
"href": "https://hex.pm/packages/lucide_lustre"
}
],
"source": "https://github.com/dinkelspiel/lucide_lustre",
"documentation": "https://github.com/dinkelspiel/lucide_lustre/blob/master/README.md"
}
]

View File

@@ -11,7 +11,7 @@
},
{
"icon": "x",
"link": "https://x.com/ericfennis"
"link": "https://github.com/ericfennis"
}
]
},

View File

@@ -3,16 +3,10 @@ import React from 'react';
interface BackdropProps {
src: string;
color?: string;
outline?: boolean;
backdropString: string;
}
const Backdrop = ({
src,
color = 'red',
outline = true,
backdropString,
}: BackdropProps): JSX.Element => {
const Backdrop = ({ src, color = 'red', backdropString }: BackdropProps): JSX.Element => {
const id = React.useId();
return (
<>
@@ -79,15 +73,13 @@ const Backdrop = ({
opacity={0.75}
dangerouslySetInnerHTML={{ __html: src }}
/>
{outline && (
<g
stroke={color}
strokeWidth={2.25}
opacity={0.75}
mask={`url(#svg-preview-backdrop-mask-outline-${id})`}
dangerouslySetInnerHTML={{ __html: backdropString }}
/>
)}
<g
stroke={color}
strokeWidth={2.25}
opacity={0.75}
mask={`url(#svg-preview-backdrop-mask-outline-${id})`}
dangerouslySetInnerHTML={{ __html: backdropString }}
/>
</g>
</>
);

View File

@@ -1,71 +0,0 @@
import React from 'react';
import Backdrop from './Backdrop.tsx';
import { darkModeCss, Grid } from './index.tsx';
const SvgPreview = React.forwardRef<
SVGSVGElement,
{
oldSrc: string;
newSrc: string;
} & React.SVGProps<SVGSVGElement>
>(({ oldSrc, newSrc, children, ...props }, ref) => {
return (
<svg
ref={ref}
xmlns="http://www.w3.org/2000/svg"
width={24}
height={24}
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth={2}
strokeLinecap="round"
strokeLinejoin="round"
{...props}
>
<style>{darkModeCss}</style>
<Grid
strokeWidth={0.1}
stroke="#777"
strokeOpacity={0.3}
radius={1}
/>
<mask
id="gray"
maskUnits="userSpaceOnUse"
>
<rect
x="0"
y="0"
width="24"
height="24"
fill="#000"
stroke="none"
/>
<g
stroke="#fff"
dangerouslySetInnerHTML={{ __html: oldSrc }}
/>
</mask>
<Backdrop
src=""
outline={false}
backdropString={`<g mask="url('#gray')">${newSrc}</g>`}
color="#777"
/>
<Backdrop
src={oldSrc}
backdropString={newSrc}
color="lime"
/>
<Backdrop
src={newSrc}
backdropString={oldSrc}
color="red"
/>
{children}
</svg>
);
});
export default SvgPreview;

View File

@@ -2,23 +2,7 @@ import React from 'react';
import { PathProps, Path } from './types';
import { getPaths, assert } from './utils';
export const darkModeCss = `
@media screen and (prefers-color-scheme: light) {
.svg-preview-grid-rect { fill: none }
}
@media screen and (prefers-color-scheme: dark) {
.svg-preview-grid-rect { fill: none }
.svg
.svg-preview-grid-group,
.svg-preview-radii-group,
.svg-preview-shadow-mask-group,
.svg-preview-shadow-group {
stroke: #fff;
}
}
`;
export const Grid = ({
const Grid = ({
radius,
fill = '#fff',
...props
@@ -355,6 +339,19 @@ const SvgPreview = React.forwardRef<
>(({ src, children, showGrid = false, ...props }, ref) => {
const paths = typeof src === 'string' ? getPaths(src) : src;
const darkModeCss = `@media screen and (prefers-color-scheme: light) {
.svg-preview-grid-rect { fill: none }
}
@media screen and (prefers-color-scheme: dark) {
.svg-preview-grid-rect { fill: none }
.svg
.svg-preview-grid-group,
.svg-preview-radii-group,
.svg-preview-shadow-mask-group,
.svg-preview-shadow-group {
stroke: #fff;
}
}`;
return (
<svg
ref={ref}

View File

@@ -49,7 +49,7 @@ import { $CamelCase } from '@lucide/lab';
</script>
<template>
<Icon :iconNode="$CamelCase" />
<Icon :iconNode="burger" />
</template>
`,
},
@@ -61,7 +61,7 @@ import { Icon } from 'lucide-svelte';
import { $CamelCase } from '@lucide/lab';
</script>
<Icon iconNode={$CamelCase} />
<Icon iconNode={burger} />
`,
},
{

View File

@@ -46,10 +46,6 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
text: 'Filled icons',
link: '/guide/advanced/filled-icons',
},
{
text: 'Aliased Names',
link: '/guide/advanced/aliased-names',
},
// {
// text: 'Combining icons',
// },
@@ -72,6 +68,10 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
text: 'Lucide React',
link: '/guide/packages/lucide-react',
},
{
text: 'Lucide React Native',
link: '/guide/packages/lucide-react-native',
},
{
text: 'Lucide Vue',
link: '/guide/packages/lucide-vue-next',
@@ -85,17 +85,13 @@ const sidebar: UserConfig<DefaultTheme.Config>['themeConfig']['sidebar'] = {
link: '/guide/packages/lucide-solid',
},
{
text: 'Lucide React Native',
link: '/guide/packages/lucide-react-native',
text: 'Lucide Preact',
link: '/guide/packages/lucide-preact',
},
{
text: 'Lucide Angular',
link: '/guide/packages/lucide-angular',
},
{
text: 'Lucide Preact',
link: '/guide/packages/lucide-preact',
},
{
text: 'Lucide Static',
link: '/guide/packages/lucide-static',

View File

@@ -42,7 +42,7 @@ onMounted(() => {
font-weight: 400;
background: var(--vp-c-brand-dark);
color: white;
z-index: 99;
z-index: 10;
white-space: nowrap;
padding: 2px 8px;
border-radius: 4px;

View File

@@ -9,7 +9,7 @@ export default {
}
return null;
})
.then((res) => res?.tag_name);
.then((res) => res.tag_name);
return {
version,

View File

@@ -171,14 +171,16 @@ watch(absoluteStrokeWidth, (enabled) => {
margin-top: 32px;
padding: 0;
background: none;
max-width: 280px;
}
@media (min-width: 640px) {
.card {
display: grid;
grid-template-columns: 8fr 10fr;
}
/*
/*
.card-column {
flex: 1;
} */

View File

@@ -75,7 +75,6 @@ defineProps<TeamMember>()
font-weight: 500;
color: var(--vp-c-text-2);
text-align: center;
text-wrap: balance;
margin-bottom: 16px;;
}

View File

@@ -5,32 +5,22 @@ import IconButton from '../base/IconButton.vue';
import VPDocAsideCarbonAds from 'vitepress/dist/client/theme-default/components/VPDocAsideCarbonAds.vue'
import { x } from '../../../data/iconNodes'
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon';
import { onMounted, ref } from 'vue';
const { theme } = useData()
const showAd = useSessionStorage('show-carbon-ads', true)
const carbonLoaded = ref(true)
const showAd = useSessionStorage('show-carbon-ads',true)
defineProps<{
drawerOpen: boolean
}>()
const CloseIcon = createLucideIcon('Close', x)
onMounted(() => {
setTimeout(() => {
if (window?._carbonads == null) {
carbonLoaded.value = false
}
}, 5000)
})
</script>
<template>
<div
:class="{
'drawer-open': drawerOpen,
'hide-ad': !(showAd && carbonLoaded)
'hide-ad': !showAd
}"
class="floating-ad"
v-if="theme.carbonAds"

View File

@@ -1,98 +1,98 @@
<script setup lang="ts">
import { computed } from 'vue';
import { toPascalCase } from '@lucide/shared';
import ButtonMenu from '../base/ButtonMenu.vue';
import { startCase, camelCase } from 'lodash-es'
import ButtonMenu from '../base/ButtonMenu.vue'
import { useIconStyleContext } from '../../composables/useIconStyle';
import useConfetti from '../../composables/useConfetti';
const props = defineProps<{
name: string;
popoverPosition?: 'top' | 'bottom';
}>();
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext();
const { animate, confetti } = useConfetti();
name: string
popoverPosition?: 'top' | 'bottom'
}>()
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext()
const { animate, confetti } = useConfetti()
const componentName = computed(() => {
return (toPascalCase(props.name) as string).replace(/\s/g, '');
});
return startCase(camelCase(props.name)).replace(/\s/g, '')
})
function copyJSX() {
let attrs = [''];
let attrs = ['']
if (size.value && size.value !== 24) {
attrs.push(`size={${size.value}}`);
attrs.push(`size={${size.value}}`)
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`);
attrs.push(`color="${color.value}"`)
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`strokeWidth={${strokeWidth.value}}`);
attrs.push(`strokeWidth={${strokeWidth.value}}`)
}
if (absoluteStrokeWidth.value) {
attrs.push(`absoluteStrokeWidth`);
attrs.push(`absoluteStrokeWidth`)
}
const code = `<${componentName.value}${attrs.join(' ')} />`;
const code = `<${componentName.value}${attrs.join(' ')} />`
navigator.clipboard.writeText(code);
navigator.clipboard.writeText(code)
}
function copyComponentName() {
const code = componentName.value;
const code = componentName.value
navigator.clipboard.writeText(code);
navigator.clipboard.writeText(code)
}
function copyVue() {
let attrs = [''];
let attrs = ['']
if (size.value && size.value !== 24) {
attrs.push(`:size="${size.value}"`);
attrs.push(`:size="${size.value}"`)
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`);
attrs.push(`color="${color.value}"`)
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`:stroke-width="${strokeWidth.value}"`);
attrs.push(`:stroke-width="${strokeWidth.value}"`)
}
if (absoluteStrokeWidth.value) {
attrs.push(`absoluteStrokeWidth`);
attrs.push(`absoluteStrokeWidth`)
}
const code = `<${componentName.value}${attrs.join(' ')} />`;
const code = `<${componentName.value}${attrs.join(' ')} />`
navigator.clipboard.writeText(code);
navigator.clipboard.writeText(code)
}
function copyAngular() {
let attrs = [''];
let attrs = ['']
attrs.push(`name="${props.name}"`);
attrs.push(`name="${props.name}"`)
if (size.value && size.value !== 24) {
attrs.push(`[size]="${size.value}"`);
attrs.push(`[size]="${size.value}"`)
}
if (color.value && color.value !== 'currentColor') {
attrs.push(`color="${color.value}"`);
attrs.push(`color="${color.value}"`)
}
if (strokeWidth.value && strokeWidth.value !== 2) {
attrs.push(`[strokeWidth]="${strokeWidth.value}"`);
attrs.push(`[strokeWidth]="${strokeWidth.value}"`)
}
if (absoluteStrokeWidth.value) {
attrs.push(`[absoluteStrokeWidth]="true"`);
attrs.push(`[absoluteStrokeWidth]="true"`)
}
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`;
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`
navigator.clipboard.writeText(code);
navigator.clipboard.writeText(code)
}
</script>
@@ -106,11 +106,11 @@ function copyAngular() {
data-confetti-text="Copied!"
:popoverPosition="popoverPosition"
:options="[
{ text: 'Copy JSX', onClick: copyJSX },
{ text: 'Copy Component Name', onClick: copyComponentName },
{ text: 'Copy Vue', onClick: copyVue },
{ text: 'Copy Svelte', onClick: copyJSX },
{ text: 'Copy Angular', onClick: copyAngular },
{ text: 'Copy JSX' , onClick: copyJSX },
{ text: 'Copy Component Name' , onClick: copyComponentName },
{ text: 'Copy Vue' , onClick: copyVue },
{ text: 'Copy Svelte' , onClick: copyJSX },
{ text: 'Copy Angular' , onClick: copyAngular },
]"
/>
</template>

View File

@@ -1,438 +0,0 @@
<script setup lang="ts">
import type { IconEntity } from '../../types';
import { computed } from 'vue';
import createLucideIcon from 'lucide-vue-next/src/createLucideIcon.ts';
import Calendar from '../../../data/iconDetails/calendar.ts';
import Clock from '../../../data/iconDetails/clock.ts';
import Bug from '../../../data/iconDetails/bug.ts';
import Rocket from '../../../data/iconDetails/rocket.ts';
import TriangleAlert from '../../../data/iconDetails/triangle-alert.ts';
import PartyPopper from '../../../data/iconDetails/party-popper.ts';
import Scissors from '../../../data/iconDetails/scissors.ts';
import Copy from '../../../data/iconDetails/copy.ts';
import Save from '../../../data/iconDetails/save.ts';
import Clipboard from '../../../data/iconDetails/clipboard.ts';
import MessageCircle from '../../../data/iconDetails/message-circle.ts';
import ThumbsDown from '../../../data/iconDetails/thumbs-down.ts';
import ThumbsUp from '../../../data/iconDetails/thumbs-up.ts';
import Heart from '../../../data/iconDetails/heart.ts';
import Folder from '../../../data/iconDetails/folder.ts';
import Files from '../../../data/iconDetails/files.ts';
import Plus from '../../../data/iconDetails/plus.ts';
import File from '../../../data/iconDetails/file.ts';
import FileText from '../../../data/iconDetails/file-text.ts';
const props = defineProps<{
name: IconEntity['name'];
iconNode: IconEntity['iconNode'];
}>();
const iconComponent = computed(() => {
if (!props.name || !props.iconNode) return null;
return createLucideIcon(props.name, props.iconNode);
});
const CalendarIcon = createLucideIcon('calendar', Calendar.iconNode);
const ClockIcon = createLucideIcon('clock', Clock.iconNode);
const BugIcon = createLucideIcon('bug', Bug.iconNode);
const RocketIcon = createLucideIcon('rocket', Rocket.iconNode);
const AlertTriangleIcon = createLucideIcon('alert-triangle', TriangleAlert.iconNode);
const ScissorsIcon = createLucideIcon('scissors', Scissors.iconNode);
const CopyIcon = createLucideIcon('copy', Copy.iconNode);
const SaveIcon = createLucideIcon('save', Save.iconNode);
const ClipboardIcon = createLucideIcon('clipboard', Clipboard.iconNode);
const PartyPopperIcon = createLucideIcon('party-popper', PartyPopper.iconNode);
const HeartIcon = createLucideIcon('heart', Heart.iconNode);
const ThumbsUpIcon = createLucideIcon('thumbs-up', ThumbsUp.iconNode);
const ThumbsDownIcon = createLucideIcon('thumbs-down', ThumbsDown.iconNode);
const MessageCircleIcon = createLucideIcon('message-circle', MessageCircle.iconNode);
const FolderIcon = createLucideIcon('folder.ts', Folder.iconNode);
const FilesIcon = createLucideIcon('files.ts', Files.iconNode);
const PlusIcon = createLucideIcon('plus.ts', Plus.iconNode);
const FileIcon = createLucideIcon('file.ts', File.iconNode);
const FileTextIcon = createLucideIcon('file-text.ts', FileText.iconNode);
const prettyName = props.name
.split('-')
.at(0)
.split('')
.map((character, index) => (index === 0 ? character.toUpperCase() : character))
.join('');
</script>
<template>
<section class="showcase">
<h2 class="title">See this icon in action</h2>
<div class="showcase-grid">
<div class="showcase-item column">
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder narrow"></div>
<div class="spacer"></div>
<div class="actions">
<button class="button button-brand">
<iconComponent />
{{ prettyName }}
</button>
<button class="button button-alt">Cancel</button>
</div>
</div>
<div class="showcase-item column">
<div class="placeholder narrow"></div>
<div class="input-wrapper">
<CalendarIcon v-if="name !== 'calendar'" />
<ClockIcon v-if="name == 'calendar'" />
<input
type="text"
v-if="name !== 'calendar'"
placeholder="Enter a date..."
/>
<input
type="text"
v-if="name == 'calendar'"
placeholder="Enter a time..."
/>
</div>
<div class="spacer"></div>
<div class="placeholder narrow"></div>
<div class="input-wrapper">
<iconComponent />
<input
type="text"
placeholder="Enter a value..."
/>
</div>
</div>
<div class="showcase-item column">
<div
class="row"
v-if="name !== 'bug'"
>
<div class="placeholder"></div>
<div class="badge badge-red">
<BugIcon :size="20" />
Bug
</div>
</div>
<div
class="row"
v-else
>
<div class="placeholder"></div>
<div class="badge badge-red">
<AlertTriangleIcon :size="20" />
Alert
</div>
</div>
<div class="row">
<div class="placeholder"></div>
<div class="badge badge-indigo">
<RocketIcon
:size="20"
v-if="name !== 'rocket'"
/>
<PartyPopperIcon
:size="20"
v-else
/>
Feature
</div>
</div>
<div class="row">
<div class="placeholder"></div>
<div class="badge badge-green">
<iconComponent :size="20" />
{{ prettyName }}
</div>
</div>
</div>
<div class="showcase-item column">
<button class="button button-alt button-square">
<FolderIcon v-if="name !== 'folder'" />
<FilesIcon v-else />
Documents
<PlusIcon class="ms-auto" />
</button>
<button class="button button-alt button-square">
<FileIcon v-if="name !== 'file'" />
<FileTextIcon v-else />
Readme
</button>
<button class="button button-alt button-square">
<iconComponent />
{{ prettyName }}
<span class="badge-notification ms-auto">12</span>
</button>
</div>
<div class="showcase-item column">
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder narrow"></div>
<div class="spacer"></div>
<div class="actions">
<div class="icon-counter">
<HeartIcon v-if="name !== 'heart'" />
<ThumbsUpIcon v-else />
112
</div>
<div class="spacer"></div>
<div class="icon-counter">
<MessageCircleIcon v-if="name !== 'message-circle'" />
<ThumbsDownIcon v-else />
8
</div>
<div class="spacer"></div>
<div class="icon-counter">
<iconComponent />
11
</div>
</div>
</div>
<div class="showcase-item">
<div class="column align-items-center">
<div class="actions justify-content-center">
<button class="button button-icon">
<CopyIcon v-if="name !== 'copy'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<ScissorsIcon v-if="name !== 'scissors'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<ClipboardIcon v-if="name !== 'clipboard'" />
<SaveIcon v-else />
</button>
<button class="button button-icon">
<iconComponent></iconComponent>
<span class="badge-notification">2</span>
</button>
</div>
<div class="spacer"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
<div class="placeholder"></div>
</div>
</div>
</div>
</section>
</template>
<style scoped>
.showcase {
margin-bottom: 32px;
}
.showcase-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 48px;
margin-inline-start: 24px;
margin-block-start: 48px;
}
.showcase-item {
padding: 24px;
border-radius: 8px;
background-color: var(--vp-c-bg);
box-shadow:
var(--vp-shadow-4),
-24px -24px 0 var(--vp-c-bg-soft);
display: flex;
align-items: center;
justify-content: center;
min-height: 240px;
}
.spacer {
flex-basis: 0;
}
.button {
position: relative;
border-radius: 32px;
padding: 8px 16px;
display: flex;
flex-direction: row;
gap: 12px;
font-weight: 500;
transition:
color 0.25s,
border-color 0.25s,
background-color 0.25s;
border-color: var(--vp-button-alt-border);
color: var(--vp-button-alt-text);
background-color: var(--vp-button-alt-bg);
&:hover {
border-color: var(--vp-button-alt-hover-border);
color: var(--vp-button-alt-hover-text);
background-color: var(--vp-button-alt-hover-bg);
}
&.button-brand {
border-color: var(--vp-button-brand-border);
color: var(--vp-button-brand-text);
background-color: var(--vp-button-brand-bg);
&:hover {
border-color: var(--vp-button-brand-hover-border);
color: var(--vp-button-brand-hover-text);
background-color: var(--vp-button-brand-hover-bg);
}
}
&.button-icon {
padding: 12px;
}
&.button-square {
border-radius: 8px;
width: 100%;
}
}
.actions {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
}
.lucide {
flex-shrink: 0;
flex-grow: 0;
}
.placeholder {
display: block;
background-color: var(--vp-c-bg-soft);
border-radius: 32px;
height: 16px;
width: 100%;
&.narrow {
width: 33%;
}
}
.input-wrapper {
position: relative;
width: 100%;
.lucide {
position: absolute;
inset-inline-start: 12px;
inset-block: 50%;
translate: 0 -50%;
color: var(--vp-c-text-1);
opacity: 0.7;
}
input {
padding: 12px 20px;
padding-inline-start: 48px;
border-radius: 8px;
background-color: var(--vp-c-bg-soft);
color: var(--vp-c-text-1);
display: block;
width: 100%;
border: 2px solid transparent;
transition:
color 0.25s,
border-color 0.25s,
background-color 0.25s;
&:hover {
border-color: var(--vp-c-border);
}
&:focus {
border-color: var(--vp-c-brand);
}
}
&:focus-within {
.lucide {
opacity: 1;
}
}
}
.badge {
flex-shrink: 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
padding: 4px 8px;
border-radius: 8px;
background-color: transparent;
overflow: hidden;
position: relative;
color: var(--badge-color);
&:before {
content: ' ';
inset: 0;
position: absolute;
background-color: var(--badge-color);
opacity: 0.1;
}
&.badge-indigo {
--badge-color: var(--vp-c-indigo-2);
}
&.badge-green {
--badge-color: var(--vp-c-green-2);
}
&.badge-red {
--badge-color: var(--vp-c-brand);
}
}
.badge-notification {
background-color: var(--vp-c-brand);
color: var(--vp-button-brand-text);
border-radius: 32px;
padding: 0 8px;
min-width: 24px;
min-height: 24px;
}
.button-icon {
.badge-notification {
position: absolute;
top: 0;
right: 0;
translate: 33% -33%;
}
}
.row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
width: 100%;
}
.icon-counter {
display: flex;
flex-direction: row;
gap: 6px;
color: var(--vp-c-text-2);
align-items: center;
}
.column {
display: flex;
flex-direction: column;
gap: 12px;
align-items: start;
width: 100%;
}
.align-items-center {
align-items: center;
}
.justify-content-center {
justify-content: center;
}
.ms-auto {
margin-inline-start: auto;
}
</style>

View File

@@ -14,7 +14,6 @@ import CarbonAdOverlay from './CarbonAdOverlay.vue';
const ICON_SIZE = 56;
const ICON_GRID_GAP = 8;
const DEFAULT_GRID_ITEMS = 10 * 160;
const props = defineProps<{
icons: IconEntity[];
@@ -115,23 +114,11 @@ function handleCloseDrawer() {
/>
</StickyBar>
<NoResults
v-if="list.length === 0 && searchQuery !== ''"
v-if="list.length === 0"
:searchQuery="searchQuery"
@clear="searchQuery = ''"
/>
<IconGrid
v-else-if="list.length === 0"
:key="index"
overlayMode
:icons="[...searchResults].splice(0, DEFAULT_GRID_ITEMS)"
:activeIcon="activeIconName"
@setActiveIcon="setActiveIconName"
/>
<div
v-bind="wrapperProps"
class="icon"
v-else
>
<div v-bind="wrapperProps" class="icon">
<IconGrid
v-for="{ index, data: icons } in list"
:key="index"

View File

@@ -1,20 +1,29 @@
<script setup lang="ts">
import type { IconEntity } from '../../types';
import IconGrid from './IconGrid.vue';
import type { IconEntity } from '../../types'
import IconGrid from './IconGrid.vue'
defineProps<{
icons: IconEntity[];
}>();
icons: IconEntity[]
}>()
</script>
<template>
<section class="related-icons">
<h2 class="title">More icons like this</h2>
<IconGrid :icons="icons" />
<h2 class="title">
Related Icons
</h2>
<IconGrid
:icons="icons"
/>
</section>
</template>
<style scoped>
.title {
margin-bottom: 24px;
font-size: 19px;
font-weight: 500;
}
.related-icons {
margin-bottom: 32px;
}

View File

@@ -23,7 +23,7 @@ const links = computed(() => [
href: `${githubLink.value}/releases`
},
{
text: 'GitHub',
text: 'Github',
href: `${githubLink.value}`
},
{

View File

@@ -1,93 +0,0 @@
# Aliased Names
Icons can have multiple names for the same icon. This is because we choose to rename some icons to make them more consistent with the rest of the icon set, or the name was not generic. For example, the `edit-2` icon is renamed to `pen` to make the name more generic, since it is just a pen icon.
Beside aliases names lucide also includes prefixed and suffixed names to use within your project. This is to prevent import name collisions with other libraries or your own code.
```tsx
// These are all the same icon
import {
Home,
HomeIcon,
LucideHome,
} from "lucide-react";
```
## Choosing import name style
To be consistent in your imports or want to change the autocompletion of Lucide icons in your IDE there an option to able the choose the import name style you want.
This can be done by creating a custom module declaration file to override the lucide imports and turning off the autocomplete in your IDE.
### Turn off autocomplete in your IDE
```json [.vscode/settings.json]
{
"typescript.preferences.autoImportFileExcludePatterns": [
"lucide-react", // or
"lucide-preact", // or
"lucide-react-native", // or
"lucide-vue-next",
]
}
```
### Create a custom module declaration file
Only available for `lucide-react`, `lucide-preact`, `lucide-react-native`, `lucide-vue-next` package.
This will enable you to choose the import name style you want to use in your project.
::: code-group
```ts [React]
declare module "lucide-react" {
// Prefixed import names
export * from "lucide-react/dist/lucide-react.prefixed";
// or
// Suffixed import names
export * from "lucide-react/dist/lucide-react.suffixed";
}
```
```ts [Vue]
declare module "lucide-vue-next" {
// Prefixed import names
export * from "lucide-vue-next/dist/lucide-vue-next.prefixed";
// or
// Suffixed import names
export * from "lucide-vue-next/dist/lucide-vue-next.suffixed";
}
```
```ts [Preact]
declare module "lucide-preact" {
// Prefixed import names
export * from "lucide-preact/dist/lucide-preact.prefixed";
// or
// Suffixed import names
export * from "lucide-preact/dist/lucide-preact.suffixed";
}
```
```ts [React Native]
declare module "lucide-react-native" {
// Prefixed import names
export * from "lucide-react-native/dist/lucide-react-native.prefixed";
// or
// Suffixed import names
export * from "lucide-react-native/dist/lucide-react-native.suffixed";
}
```
:::
Place this in your project root or in a folder where your tsconfig.json is located, or locate it in your defined type directory.
Easiest way is to create a `@types` folder in your project root and name the file `[package-name].d.ts`.
### Import name styles
| Import Style | Available imports | Declaration file import |
| ------------- | --------------------------- | ----------------------- |
| Default | Home, HomeIcon, LucideHome | |
| Prefixed | LucideHome | [package].prefixed |
| Suffixed | HomeIcon | [package].suffixed |

View File

@@ -52,7 +52,7 @@ Here are rules that should be followed to keep quality and consistency when maki
![optical-volume-high](../../images/optical-volume-high.svg?raw=true "optical-volume-high")
**Tip:** place your icon next to the circle or square icon and blur them both; your icon should not feel much darker than the base shape.
**Tip:** place your icon next to circle or square and blur them both; your icon should not feel much darker than the base shape.
### 10. Icons should be visually centered by their center of gravity.
@@ -76,7 +76,7 @@ Here are rules that should be followed to keep quality and consistency when maki
![curvature-uneven](../../images/curvature-uneven.svg?raw=true "curvature-uneven")
**Tip:** make sure to use arcs or quadratic curves. When using cubic curves control points should have mirrored angles for smooth curves.
**Tip:** make sure to use arcs or quadratic curves, when using cubic curves control points should have mirrored angles for smooth curves.
### 13. Icons should aim to be pixel perfect so that they will be sharp on low DPI displays.
@@ -142,7 +142,7 @@ For each icon these attributes are applied, corresponding to the above rules.
### Minify paths
The code of paths can sometimes get quite large. To reduce file size we like to minify the code.
We recommend to use [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
We recommend to use the [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
### Allowed elements

View File

@@ -12,8 +12,7 @@ Lucide is an open-source icon library that provides 1000+ vector (svg) files for
## Available Icons
Lucide contains icons with different variants and states, allowing users to choose the most suitable icon for their needs. And if a desired icon isn't available yet, users can open a design request, and the Lucide community contributors will help provide new icons. With more icons to choose from, users have more options to work with in their projects.
### Complete Set of Icons
Complete Set of Icons
As new applications with specific features arise, Lucide aims to provide a complete set of icons for every project. The community follows a set of design rules when designing new icons. These rules maintain standards for the icons, such as recognizability, consistency in style, and readability at all sizes. While creativity is valued in new icons, recognizable design conventions are important to ensure that the icons are easily identifiable by users.
@@ -29,7 +28,7 @@ However, not everyone can understand them easily. Read more about [how to use Lu
## Official Packages
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte), [Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte),[Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
## Community
If you have any questions about Lucide, feel free to reach out to the community. You can find them on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).

View File

@@ -22,10 +22,6 @@ yarn add lucide
npm install lucide
```
```sh [bun]
bun add lucide
```
:::
For more details, see the [documentation](packages/lucide.md).
@@ -48,10 +44,6 @@ yarn add lucide-react
npm install lucide-react
```
```sh [bun]
bun add lucide-react
```
:::
For more details, see the [documentation](packages/lucide-react.md).
@@ -75,10 +67,6 @@ yarn add lucide-vue-next
npm install lucide-vue-next
```
```sh [bun]
bun add lucide-vue-next
```
:::
For more details, see the [documentation](packages/lucide-vue-next.md).
@@ -102,10 +90,6 @@ yarn add lucide-svelte
npm install lucide-svelte
```
```sh [bun]
bun add lucide-svelte
```
:::
For more details, see the [documentation](packages/lucide-svelte.md).
@@ -128,10 +112,6 @@ yarn add lucide-solid
npm install lucide-solid
```
```sh [bun]
bun add lucide-solid
```
:::
For more details, see the [documentation](packages/lucide-solid.md).
@@ -154,10 +134,6 @@ yarn add lucide-angular
npm install lucide-angular
```
```sh [bun]
bun add lucide-angular
```
:::
For more details, see the [documentation](packages/lucide-angular.md).
@@ -180,10 +156,6 @@ yarn add lucide-preact
npm install lucide-preact
```
```sh [bun]
bun add lucide-preact
```
:::
## Static usage
@@ -204,10 +176,6 @@ yarn add lucide-static
npm install lucide-static
```
```sh [bun]
bun add lucide-static
```
:::
For more details, see the [documentation](packages/lucide-static.md).

View File

@@ -18,10 +18,6 @@ yarn add lucide-angular
npm install lucide-angular
```
```sh [bun]
bun add lucide-angular
```
:::
## How to use
@@ -41,23 +37,6 @@ import { LucideAngularModule, File, Home, Menu, UserCheck } from 'lucide-angular
export class AppModule { }
```
or using standalone version:
```js
import { Component } from '@angular/core';
import { LucideAngularModule, FileIcon } from 'lucide-angular';
@Component({
standalone: true,
selector: 'app-root',
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
imports: [LucideAngularModule]
})
export class AppComponent {
readonly FileIcon = FileIcon;
}
```
### Step 2: Use the icons in templates
Within your templates you may now use one of the following component tags to insert an icon:
@@ -68,13 +47,6 @@ Within your templates you may now use one of the following component tags to ins
<i-lucide name="menu" class="my-icon"></i-lucide>
<span-lucide name="user-check" class="my-icon"></span-lucide>
```
for standalone
```html
<lucide-angular [img]="FileIcon" class="my-icon"></lucide-angular>
<lucide-icon [img]="FileIcon" class="my-icon"></lucide-icon>
<i-lucide [img]="FileIcon" class="my-icon"></i-lucide>
<span-lucide [img]="FileIcon" class="my-icon"></span-lucide>
```
### Props

View File

@@ -22,10 +22,6 @@ yarn add lucide-preact
npm install lucide-preact
```
```sh [bun]
bun add lucide-preact
```
:::
## How to use

View File

@@ -20,10 +20,6 @@ yarn add lucide-react-native
npm install lucide-react-native
```
```sh [bun]
bun add lucide-react-native
```
:::
## How to use

View File

@@ -18,10 +18,6 @@ yarn add lucide-react
npm install lucide-react
```
```sh [bun]
bun add lucide-react
```
:::
## How to use
@@ -85,21 +81,108 @@ const App = () => (
);
```
## Dynamic Icon Component
## One generic icon component
It is possible to create one generic icon component to load icons, but it is not recommended.
Since it is importing all icons during build. This increases build time and the different modules it will create.
`DynamicIcon` is useful for applications that want to show icons dynamically by icon name. For example, when using a content management system with where icon names are stored in a database.
::: danger
The example below imports all ES Modules, so exercise caution when using it. Importing all icons will significantly increase the build size of the application, negatively affecting its performance. This is especially important to keep in mind when using bundlers like `Webpack`, `Rollup`, or `Vite`.
For static use cases, it is recommended to import the icons directly.
This is not the case for the latest NextJS, because it uses server side rendering. The icons will be streamed to the client when needed. For NextJS with Dynamic Imports, see [dynamic imports](#nextjs-example) section for more information.
:::
The same props can be passed to adjust the icon appearance. The `name` prop is required to load the correct icon.
### Icon Component Example
```jsx
import { DynamicIcon } from 'lucide-react/dynamic';
import { icons } from 'lucide-react';
const App = () => (
<DynamicIcon name="camera" color="red" size={48} />
);
const Icon = ({ name, color, size }) => {
const LucideIcon = icons[name];
return <LucideIcon color={color} size={size} />;
};
export default Icon;
```
#### Using the Icon Component
```jsx
import Icon from './Icon';
const App = () => {
return <Icon name="Home" />;
};
export default App;
```
#### With Dynamic Imports
Lucide react exports a dynamic import map `dynamicIconImports`, which is useful for applications that want to show icons dynamically by icon name. For example, when using a content management system with where icon names are stored in a database.
When using client side rendering, it will fetch the icon component when it's needed. This will reduce the initial bundle size.
The keys of the dynamic import map are the lucide original icon names (kebab case).
Example with React suspense:
```tsx
import React, { lazy, Suspense } from 'react';
import { LucideProps } from 'lucide-react';
import dynamicIconImports from 'lucide-react/dynamicIconImports';
const fallback = <div style={{ background: '#ddd', width: 24, height: 24 }}/>
interface IconProps extends Omit<LucideProps, 'ref'> {
name: keyof typeof dynamicIconImports;
}
const Icon = ({ name, ...props }: IconProps) => {
const LucideIcon = lazy(dynamicIconImports[name]);
return (
<Suspense fallback={fallback}>
<LucideIcon {...props} />
</Suspense>
);
}
export default Icon
```
##### NextJS Example
In NextJS, [the dynamic function](https://nextjs.org/docs/pages/building-your-application/optimizing/lazy-loading#nextdynamic) can be used to dynamically load the icon component.
To make dynamic imports work with NextJS, you need to add `lucide-react` to the [`transpilePackages`](https://nextjs.org/docs/app/api-reference/next-config-js/transpilePackages) option in your `next.config.js` like this:
```js
/** @type {import('next').NextConfig} */
const nextConfig = {
transpilePackages: ['lucide-react'] // add this
}
module.exports = nextConfig
```
You can then start using it:
```tsx
import dynamic from 'next/dynamic'
import { LucideProps } from 'lucide-react';
import dynamicIconImports from 'lucide-react/dynamicIconImports';
interface IconProps extends LucideProps {
name: keyof typeof dynamicIconImports;
}
const Icon = ({ name, ...props }: IconProps) => {
const LucideIcon = dynamic(dynamicIconImports[name])
return <LucideIcon {...props} />;
};
export default Icon;
```

View File

@@ -18,10 +18,6 @@ yarn add lucide-solid
npm install lucide-solid
```
```sh [bun]
bun add lucide-solid
```
:::
## How to use
@@ -45,19 +41,6 @@ const App = () => {
export default App;
```
Vite loading/performing issues with the dev server can be resolved by import icons directly from the `lucide-solid/icons` directory:
```jsx
import Camera from 'lucide-solid/icons/camera';
// Usage
const App = () => {
return <Camera color="red" size={48} />;
};
export default App;
```
## Props
| name | type | default |

View File

@@ -33,17 +33,13 @@ yarn add lucide-static
npm install lucide-static
```
```sh [bun]
bun add lucide-static
```
:::
### CDN
```html
<!-- SVG file for a single icon -->
<img src="https://unpkg.com/lucide-static@latest/icons/house.svg" />
<img src="https://unpkg.com/lucide-static@latest/icons/home.svg" />
<!-- Icon font -->
<style>
@@ -66,12 +62,12 @@ To use it in for example html:
```html
<!-- SVG file for a single icon -->
<img src="~lucide-static/icons/house.svg" />
<img src="~lucide-static/icons/home.svg" />
```
```css
.house-icon {
background-image: url(~lucide-static/icons/house.svg);
.home-icon {
background-image: url(~lucide-static/icons/home.svg);
}
```
@@ -94,7 +90,7 @@ You may need additional loader for this.
```html
<!-- Icon Sprite, not recommended for production! -->
<img src="lucide-static/sprite.svg#house" />
<img src="lucide-static/sprite.svg#home" />
<!-- or -->
<svg
@@ -151,7 +147,7 @@ and update the SVG as follows
```
```html
<div class="icon-house"></div>
<div class="icon-home"></div>
```
### Node.js

View File

@@ -7,7 +7,7 @@ Implementation of the lucide icon library for svelte applications.
::: code-group
```sh [pnpm]
pnpm add lucide-svelte
pnpm install lucide-svelte
```
```sh [yarn]
@@ -18,10 +18,6 @@ yarn add lucide-svelte
npm install lucide-svelte
```
```sh [bun]
bun add lucide-svelte
```
:::
## How to use
@@ -56,10 +52,10 @@ For faster builds and load times, you can import icons directly from the `lucide
```svelte
<script>
import CircleAlert from 'lucide-svelte/icons/circle-alert';
import AlertCircle from 'lucide-svelte/icons/alert-circle';
</script>
<CircleAlert color="#ff3e98" />
<AlertCircle color="#ff3e98" />
```
## Props
@@ -91,95 +87,54 @@ The package includes type definitions for all icons. This is useful if you want
### TypeScript Example
#### Svelte 4
```svelte
<script lang="ts">
import { Home, Library, Cog, type Icon } from 'lucide-svelte';
import type { ComponentType } from 'svelte';
import Home from 'lucide-svelte/icons/home';
import Library from 'lucide-svelte/icons/library';
import Cog from 'lucide-svelte/icons/cog';
import type { ComponentType } from 'svelte';
import type { Icon } from 'lucide-svelte';
type MenuItem = {
name: string;
href: string;
icon: ComponentType<Icon>;
};
type MenuItem = {
name: string;
href: string;
icon: ComponentType<Icon>;
}
const menuItems: MenuItem[] = [
{
name: 'Home',
href: '/',
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog
}
];
const menuItems: MenuItem[] = [
{
name: 'Home',
href: '/',
icon: Home,
},
{
name: 'Blog',
href: '/blog',
icon: Library,
},
{
name: 'Projects',
href: '/projects',
icon: Cog,
}
];
</script>
{#each menuItems as item}
<a href={item.href}>
<svelte:component this={item.icon} />
<span>{item.name}</span>
</a>
{/each}
```
#### Svelte 5
Some changes are required since Svelte 5 [deprecates](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes-Component-typing-changes) the `ComponentType` typescript type.
```svelte
<script lang="ts">
import { Home, Library, Cog, type Icon as IconType } from 'lucide-svelte';
type MenuItem = {
name: string;
href: string;
icon: typeof IconType;
};
const menuItems: MenuItem[] = [
{
name: 'Home',
href: '/',
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog
}
];
</script>
{#each menuItems as item}
{@const Icon = item.icon}
<a href={item.href}>
<Icon />
<span>{item.name}</span>
</a>
<a href={item.href}>
<svelte:component this={item.icon} />
<span>{item.name}</span>
</a>
{/each}
```
### JSDoc Example
#### Svelte 4
```svelte
<script>
import { Home, Library, Cog } from 'lucide-svelte';
import Home from 'lucide-svelte/icons/home';
import Library from 'lucide-svelte/icons/library';
import Cog from 'lucide-svelte/icons/cog';
/**
* @typedef {Object} MenuItem
@@ -207,57 +162,6 @@ Some changes are required since Svelte 5 [deprecates](https://svelte.dev/docs/sv
}
];
</script>
{#each menuItems as item}
<a href={item.href}>
<svelte:component this={item.icon} />
<span>{item.name}</span>
</a>
{/each}
```
#### Svelte 5
```svelte
<script>
import { Home, Library, Cog } from 'lucide-svelte';
/**
* @typedef {Object} MenuItem
* @property {string} name
* @property {string} href
* @property {typeof import('lucide-svelte').Icon} icon
*/
/** @type {MenuItem[]} */
const menuItems = [
{
name: 'Home',
href: '/',
icon: Home
},
{
name: 'Blog',
href: '/blog',
icon: Library
},
{
name: 'Projects',
href: '/projects',
icon: Cog
}
];
</script>
{#each menuItems as item}
{@const Icon = item.icon}
<a href={item.href}>
<Icon />
<span>{item.name}</span>
</a>
{/each}
```
For more details about typing the `svelte:component` directive, see the [Svelte documentation](https://svelte.dev/docs/typescript#types-componenttype).
@@ -293,28 +197,13 @@ The example below imports all ES Modules, so exercise caution when using it. Imp
### Icon Component Example
#### Svelte 4
```svelte
<script>
import * as icons from 'lucide-svelte';
export let name;
</script>
<svelte:component this={icons[name]} {...$$props} />
```
#### Svelte 5
```svelte
<script>
import * as icons from 'lucide-svelte';
let { name } = $props();
const Icon = icons[name];
</script>
<Icon {...props} />
<svelte:component this="{icons[name]}" {...$$props} />
```
#### Using the Icon Component

View File

@@ -2,6 +2,12 @@
Implementation of the lucide icon library for Vue 3 applications.
## Vue 3 or Vue 2
::: tip
This version of lucide is for Vue 3, For Vue 2 got to [lucide-vue ->](lucide-vue)
:::
## Installation
::: code-group
@@ -18,10 +24,6 @@ yarn add lucide-vue-next
npm install lucide-vue-next
```
```sh [bun]
bun add lucide-vue-next
```
:::
## How to use

View File

@@ -2,8 +2,15 @@
Implementation of the lucide icon library for Vue applications.
::: danger
This package is deprecated. Vue 2 is EOF See [Announcement](https://v2.vuejs.org/eol/). Migrate to Vue 3.
::: warning
This package will be deprecated end of 2023. Vue v2 will be EOF at the end of 2023 See [Announcement](https://v2.vuejs.org/lts/). We recommend to migrate to Vue 3.
The Lucide Vue package will be only maintained for Vue 3 after the deprecation.
:::
## Vue 2 or Vue 3
::: tip
This version of lucide is for Vue 2, For Vue 3 go to [lucide-vue-next ->](lucide-vue-next)
:::
## Installation
@@ -22,10 +29,6 @@ yarn add lucide-vue
npm install lucide-vue
```
```sh [bun]
bun add lucide-vue
```
:::
## How to use

View File

@@ -20,10 +20,6 @@ yarn add lucide
npm install lucide
```
```sh [bun]
bun add lucide
```
:::
### CDN

View File

@@ -14,13 +14,13 @@ import IconPreview from '~/.vitepress/theme/components/icons/IconPreview.vue'
import IconPreviewSmall from '~/.vitepress/theme/components/icons/IconPreviewSmall.vue'
import IconInfo from '~/.vitepress/theme/components/icons/IconInfo.vue'
import IconContributors from '~/.vitepress/theme/components/icons/IconContributors.vue'
import IconShowcase from '~/.vitepress/theme/components/icons/IconShowcase.vue'
import RelatedIcons from '~/.vitepress/theme/components/icons/RelatedIcons.vue'
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
import Label from '~/.vitepress/theme/components/base/Label.vue'
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue';
import { data } from './codeExamples.data'
import { toCamelCase, toPascalCase } from '@lucide/shared'
import { camelCase, startCase } from 'lodash-es'
import { satisfies } from 'semver'
const { params } = useData()
@@ -31,8 +31,8 @@ const tabs = computed(() => data.codeExamples?.map(
const codeExample = computed(() => data.codeExamples?.map(
(codeExample) => {
const pascalCaseName = toPascalCase( params.value.name)
const camelCaseName = toCamelCase(params.value.name)
const pascalCaseName = startCase(camelCase( params.value.name)).replace(/\s/g, '')
const camelCaseName = camelCase(params.value.name)
return codeExample.code
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
@@ -105,11 +105,6 @@ function releaseTagLink(version) {
</div>
</div>
<IconShowcase
:name="params.name"
:iconNode="params.iconNode"
/>
<RelatedIcons
v-if="params.relatedIcons"
:icons="params.relatedIcons"
@@ -239,12 +234,3 @@ function releaseTagLink(version) {
}
}
</style>
<style>
section h2.title {
text-align: center;
font-weight: 500;
margin-block-end: 64px;
padding-top: 32px;
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,7 +1,6 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
markdownStyles: false
head:
- - link

View File

@@ -28,19 +28,20 @@
"@lucide/build-icons": "workspace:*",
"@lucide/helpers": "workspace:*",
"@lucide/shared": "workspace:*",
"@rollup/plugin-replace": "^6.0.1",
"@rollup/plugin-replace": "^5.0.2",
"@types/semver": "^7.5.3",
"h3": "^1.8.0",
"nitropack": "2.8.1",
"node-fetch": "2",
"rollup-plugin-copy": "^3.4.0",
"vitepress": "^1.3.1"
"vitepress": "1.0.0-rc.36"
},
"dependencies": {
"@floating-ui/vue": "^1.0.3",
"@headlessui/vue": "^1.7.17",
"@resvg/resvg-wasm": "^2.6.2",
"@vueuse/components": "^12.0.0",
"@vueuse/core": "^12.0.0",
"@resvg/resvg-wasm": "^2.4.1",
"@vueuse/components": "^10.7.2",
"@vueuse/core": "^10.7.2",
"element-to-path": "^1.2.1",
"fuse.js": "^6.5.3",
"jszip": "^3.7.0",
@@ -57,6 +58,6 @@
"sitemap": "^7.1.1",
"svg-pathdata": "^6.0.3",
"svgson": "^5.2.1",
"vue": "^3.5.13"
"vue": "^3.4.13"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="16" viewBox="0 0 81 16" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 16H32V10H39V7H32V4H39V1H29V16ZM42 16H52V13H45V1H42V16ZM55 16H65V13H58.0439L58 10H65V7H58V4H65V1H55V16ZM68 7H71V10H68V16H71V10H78V16H81V10H78V7H81V1H78V7H71V1H68V7Z" fill="#1C2024"/>
<path d="M16 16V1H26V4H19V7H26V10H19L19.0439 13H26V16H16Z" fill="#1C2024"/>
<path d="M10 10V16H13V10H10Z" fill="#1C2024"/>
<path d="M0 1V16H3V10H10V7H3V4H10V7H13V1H0Z" fill="#1C2024"/>
</svg>

Before

Width:  |  Height:  |  Size: 522 B

View File

@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="16" viewBox="0 0 81 16" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 16H32V10H39V7H32V4H39V1H29V16ZM42 16H52V13H45V1H42V16ZM55 16H65V13H58.0439L58 10H65V7H58V4H65V1H55V16ZM68 7H71V10H68V16H71V10H78V16H81V10H78V7H81V1H78V7H71V1H68V7Z" fill="#FCFCFD"/>
<path d="M16 16V1H26V4H19V7H26V10H19L19.0439 13H26V16H16Z" fill="#FCFCFD"/>
<path d="M10 10V16H13V10H10Z" fill="#FCFCFD"/>
<path d="M0 1V16H3V10H10V7H3V4H10V7H13V1H0Z" fill="#FCFCFD"/>
</svg>

Before

Width:  |  Height:  |  Size: 522 B

View File

@@ -1,30 +1,27 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22" height="22" width="118" x="4" y="5">
<path fill="#1B1B1F" d="M74.202 17.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.041.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 17.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V5.364h2.062V17h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 17V8.273h2.057V17h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
<path fill="#1B1B1F" d="M50.66 17.17c-.87 0-1.619-.19-2.244-.573a3.831 3.831 0 0 1-1.437-1.586c-.334-.678-.5-1.458-.5-2.34 0-.887.17-1.67.511-2.347a3.817 3.817 0 0 1 1.443-1.591c.625-.383 1.364-.574 2.216-.574.709 0 1.335.13 1.88.392.55.258.988.623 1.313 1.097.326.47.512 1.019.557 1.647h-1.966c-.08-.42-.269-.77-.568-1.05-.295-.285-.691-.427-1.187-.427-.42 0-.79.114-1.108.341-.319.223-.567.545-.745.966-.174.42-.261.924-.261 1.511 0 .595.087 1.106.261 1.534.175.425.419.752.733.983.319.228.692.341 1.12.341.303 0 .574-.056.812-.17.242-.118.445-.286.608-.506a1.94 1.94 0 0 0 .335-.801H54.4a3.427 3.427 0 0 1-.545 1.642 3.23 3.23 0 0 1-1.284 1.114c-.542.265-1.178.397-1.91.397Z"/>
<path fill="#1B1B1F" d="M42.682 13.33V8.272h2.057V17h-1.995v-1.551h-.09c-.198.489-.521.888-.972 1.199-.447.31-.998.466-1.654.466-.572 0-1.077-.127-1.517-.381a2.645 2.645 0 0 1-1.022-1.12c-.246-.492-.37-1.086-.37-1.784V8.273h2.057v5.238c0 .553.152.993.455 1.319.303.325.7.488 1.193.488.303 0 .596-.074.88-.221.285-.148.518-.368.7-.66.185-.295.278-.664.278-1.107Z"/>
<path fill="#1B1B1F" d="M28.148 17V5.364h2.108v9.869h5.125V17h-7.233Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.944"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.584 1.571 6.801 4.063 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="url(#a)" d="m117.917 4.466-.719 11.135L110.322 1l7.595 3.466Zm-4.762 14.399-5.196 2.922-5.196-2.922 1.057-2.526h8.278l1.056 2.526h.001Zm-5.197-12.322 2.723 6.526h-5.445l2.723-6.526h-.001Zm-9.246 9.059L98 4.466 105.596 1l-6.884 14.602Z"/>
<path fill="url(#b)" d="m117.917 4.466-.719 11.135L110.322 1l7.595 3.466Zm-4.762 14.399-5.196 2.922-5.196-2.922 1.057-2.526h8.278l1.056 2.526h.001Zm-5.197-12.322 2.723 6.526h-5.445l2.723-6.526h-.001Zm-9.246 9.059L98 4.466 105.596 1l-6.884 14.602Z"/>
<defs>
<linearGradient id="a" x1="102.396" x2="118.171" y1="19.902" y2="12.299" gradientUnits="userSpaceOnUse">
<stop stop-color="#E40035"/>
<stop offset=".24" stop-color="#F60A48"/>
<stop offset=".35" stop-color="#F20755"/>
<stop offset=".49" stop-color="#DC087D"/>
<stop offset=".74" stop-color="#9717E7"/>
<stop offset="1" stop-color="#6C00F5"/>
</linearGradient>
<linearGradient id="b" x1="101.679" x2="111.892" y1="3.506" y2="15.322" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF31D9"/>
<stop offset="1" stop-color="#FF5BE1" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22">
<path fill="#1B1B1F" d="M74.202 17.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.041.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 17.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V5.364h2.062V17h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 17V8.273h2.057V17h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
<path fill="#1B1B1F" d="M50.66 17.17c-.87 0-1.619-.19-2.244-.573a3.831 3.831 0 0 1-1.437-1.586c-.334-.678-.5-1.458-.5-2.34 0-.887.17-1.67.511-2.347a3.817 3.817 0 0 1 1.443-1.591c.625-.383 1.364-.574 2.216-.574.709 0 1.335.13 1.88.392.55.258.988.623 1.313 1.097.326.47.512 1.019.557 1.647h-1.966c-.08-.42-.269-.77-.568-1.05-.295-.285-.691-.427-1.187-.427-.42 0-.79.114-1.108.341-.319.223-.567.545-.745.966-.174.42-.261.924-.261 1.511 0 .595.087 1.106.261 1.534.175.425.419.752.733.983.319.228.692.341 1.12.341.303 0 .574-.056.812-.17.242-.118.445-.286.608-.506a1.94 1.94 0 0 0 .335-.801H54.4a3.427 3.427 0 0 1-.545 1.642 3.23 3.23 0 0 1-1.284 1.114c-.542.265-1.178.397-1.91.397Z"/>
<path fill="#1B1B1F" d="M42.682 13.33V8.272h2.057V17h-1.995v-1.551h-.09c-.198.489-.521.888-.972 1.199-.447.31-.998.466-1.654.466-.572 0-1.077-.127-1.517-.381a2.645 2.645 0 0 1-1.022-1.12c-.246-.492-.37-1.086-.37-1.784V8.273h2.057v5.238c0 .553.152.993.455 1.319.303.325.7.488 1.193.488.303 0 .596-.074.88-.221.285-.148.518-.368.7-.66.185-.295.278-.664.278-1.107Z"/>
<path fill="#1B1B1F" d="M28.148 17V5.364h2.108v9.869h5.125V17h-7.233Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.944"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.584 1.571 6.801 4.063 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="url(#a)" d="m117.917 4.466-.719 11.135L110.322 1l7.595 3.466Zm-4.762 14.399-5.196 2.922-5.196-2.922 1.057-2.526h8.278l1.056 2.526h.001Zm-5.197-12.322 2.723 6.526h-5.445l2.723-6.526h-.001Zm-9.246 9.059L98 4.466 105.596 1l-6.884 14.602Z"/>
<path fill="url(#b)" d="m117.917 4.466-.719 11.135L110.322 1l7.595 3.466Zm-4.762 14.399-5.196 2.922-5.196-2.922 1.057-2.526h8.278l1.056 2.526h.001Zm-5.197-12.322 2.723 6.526h-5.445l2.723-6.526h-.001Zm-9.246 9.059L98 4.466 105.596 1l-6.884 14.602Z"/>
<defs>
<linearGradient id="a" x1="102.396" x2="118.171" y1="19.902" y2="12.299" gradientUnits="userSpaceOnUse">
<stop stop-color="#E40035"/>
<stop offset=".24" stop-color="#F60A48"/>
<stop offset=".35" stop-color="#F20755"/>
<stop offset=".49" stop-color="#DC087D"/>
<stop offset=".74" stop-color="#9717E7"/>
<stop offset="1" stop-color="#6C00F5"/>
</linearGradient>
<linearGradient id="b" x1="101.679" x2="111.892" y1="3.506" y2="15.322" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF31D9"/>
<stop offset="1" stop-color="#FF5BE1" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,18 +1,15 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 24" height="24" width="118" x="4" y="4">
<path fill="#1B1B1F" d="M74.202 18.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.042.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 18.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V6.364h2.062V18h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 18V9.273h2.057V18h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
<path fill="#1B1B1F" d="M50.66 18.17c-.87 0-1.619-.19-2.244-.573a3.831 3.831 0 0 1-1.437-1.586c-.334-.678-.5-1.458-.5-2.34 0-.887.17-1.67.511-2.347a3.817 3.817 0 0 1 1.443-1.591c.625-.383 1.364-.574 2.216-.574.709 0 1.335.13 1.88.392.55.258.988.623 1.313 1.097.326.47.512 1.019.557 1.647h-1.966c-.08-.42-.269-.77-.568-1.05-.295-.285-.691-.427-1.187-.427-.42 0-.79.114-1.108.341-.319.223-.567.545-.745.966-.174.42-.261.924-.261 1.511 0 .595.087 1.106.261 1.534.175.425.419.752.733.983.319.228.692.341 1.12.341.303 0 .574-.056.812-.17.242-.118.445-.286.608-.506a1.94 1.94 0 0 0 .335-.801H54.4a3.427 3.427 0 0 1-.545 1.642 3.23 3.23 0 0 1-1.284 1.114c-.542.265-1.178.397-1.91.397Z"/>
<path fill="#1B1B1F" d="M42.682 14.33V9.272h2.057V18h-1.995v-1.551h-.09c-.198.488-.521.888-.972 1.199-.447.31-.998.466-1.654.466-.572 0-1.077-.127-1.517-.381a2.645 2.645 0 0 1-1.022-1.12c-.246-.492-.37-1.086-.37-1.784V9.273h2.057v5.238c0 .553.152.993.455 1.319.303.325.7.488 1.193.488.303 0 .596-.074.88-.221.285-.148.518-.368.7-.66.185-.295.278-.664.278-1.107Z"/>
<path fill="#1B1B1F" d="M28.148 18V6.364h2.108v9.869h5.125V18h-7.233Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.944"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.584 1.571 6.801 4.063 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#673AB8" d="m108 0 10 5.773V17.32l-10 5.774-10-5.774V5.773L108 0Z"/>
<path fill="#fff" d="M100.724 17.225c1.329 1.701 5.554.405 9.543-2.711 3.988-3.117 6.269-6.902 4.939-8.604-1.329-1.702-5.554-.405-9.543 2.711-3.988 3.117-6.269 6.902-4.939 8.604Zm.568-.444c-.441-.564-.249-1.672.591-3.067.885-1.468 2.386-3.09 4.224-4.525 1.837-1.435 3.774-2.5 5.412-3.003 1.557-.478 2.678-.397 3.119.168.441.564.248 1.672-.591 3.066-.885 1.469-2.386 3.09-4.224 4.526-1.837 1.435-3.774 2.5-5.412 3.003-1.557.478-2.678.396-3.119-.168Z"/>
<path fill="#fff" d="M115.206 17.225c1.33-1.702-.951-5.487-4.939-8.604-3.989-3.116-8.214-4.413-9.543-2.711-1.33 1.702.951 5.487 4.939 8.604 3.989 3.116 8.214 4.413 9.543 2.71Zm-.568-.444c-.441.565-1.562.646-3.119.168-1.638-.503-3.575-1.568-5.412-3.003-1.838-1.436-3.339-3.057-4.224-4.526-.84-1.394-1.032-2.502-.591-3.066.441-.565 1.562-.646 3.119-.168 1.638.503 3.575 1.568 5.412 3.003 1.838 1.436 3.339 3.057 4.224 4.525.839 1.395 1.032 2.503.591 3.067Z"/>
<path fill="#fff" d="M107.965 13.099a1.531 1.531 0 1 0 0-3.062 1.531 1.531 0 0 0 0 3.062Z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 24">
<path fill="#1B1B1F" d="M74.202 18.17c-.875 0-1.63-.181-2.267-.545a3.694 3.694 0 0 1-1.46-1.557c-.341-.674-.512-1.468-.512-2.38 0-.898.17-1.686.512-2.364a3.867 3.867 0 0 1 1.443-1.591c.617-.383 1.342-.574 2.176-.574.538 0 1.045.087 1.523.261.48.17.905.436 1.272.796.371.36.663.818.875 1.375.212.553.319 1.212.319 1.977v.63h-7.154v-1.386h5.182a2.213 2.213 0 0 0-.256-1.05c-.166-.311-.4-.556-.699-.734a1.964 1.964 0 0 0-1.034-.267c-.42 0-.79.103-1.108.307-.318.2-.566.466-.744.796a2.289 2.289 0 0 0-.267 1.073v1.21c0 .508.093.944.278 1.307.186.36.445.637.779.83.333.19.723.284 1.17.284.3 0 .57-.042.813-.125.242-.087.452-.214.63-.38.178-.167.313-.374.404-.62l1.92.216c-.121.508-.352.95-.693 1.33a3.379 3.379 0 0 1-1.295.875c-.527.204-1.13.306-1.807.306Z"/>
<path fill="#1B1B1F" d="M63.498 18.153c-.685 0-1.299-.176-1.84-.528-.542-.352-.97-.864-1.285-1.534-.314-.67-.471-1.485-.471-2.443 0-.97.159-1.788.477-2.455.322-.67.756-1.176 1.301-1.517a3.344 3.344 0 0 1 1.824-.517c.512 0 .932.087 1.262.261.329.17.59.377.784.62.193.238.342.464.448.676h.086V6.364h2.062V18h-2.023v-1.375h-.125c-.106.212-.259.438-.46.676a2.53 2.53 0 0 1-.795.602c-.33.167-.745.25-1.245.25Zm.574-1.687c.436 0 .807-.117 1.114-.352.307-.239.54-.57.699-.995.159-.424.238-.918.238-1.483 0-.564-.08-1.055-.238-1.471-.156-.417-.387-.74-.693-.972-.303-.23-.676-.346-1.12-.346-.458 0-.84.119-1.147.358-.307.238-.538.568-.694.988-.155.42-.233.902-.233 1.443 0 .546.078 1.033.233 1.46.16.425.392.76.7 1.006.31.243.69.364 1.141.364Z"/>
<path fill="#1B1B1F" d="M56.088 18V9.273h2.057V18h-2.057Zm1.034-9.966a1.2 1.2 0 0 1-.84-.324 1.044 1.044 0 0 1-.353-.79c0-.31.117-.573.352-.79.235-.219.515-.329.841-.329.33 0 .61.11.841.33.235.216.352.479.352.79 0 .306-.117.57-.352.79a1.187 1.187 0 0 1-.84.323Z"/>
<path fill="#1B1B1F" d="M50.66 18.17c-.87 0-1.619-.19-2.244-.573a3.831 3.831 0 0 1-1.437-1.586c-.334-.678-.5-1.458-.5-2.34 0-.887.17-1.67.511-2.347a3.817 3.817 0 0 1 1.443-1.591c.625-.383 1.364-.574 2.216-.574.709 0 1.335.13 1.88.392.55.258.988.623 1.313 1.097.326.47.512 1.019.557 1.647h-1.966c-.08-.42-.269-.77-.568-1.05-.295-.285-.691-.427-1.187-.427-.42 0-.79.114-1.108.341-.319.223-.567.545-.745.966-.174.42-.261.924-.261 1.511 0 .595.087 1.106.261 1.534.175.425.419.752.733.983.319.228.692.341 1.12.341.303 0 .574-.056.812-.17.242-.118.445-.286.608-.506a1.94 1.94 0 0 0 .335-.801H54.4a3.427 3.427 0 0 1-.545 1.642 3.23 3.23 0 0 1-1.284 1.114c-.542.265-1.178.397-1.91.397Z"/>
<path fill="#1B1B1F" d="M42.682 14.33V9.272h2.057V18h-1.995v-1.551h-.09c-.198.488-.521.888-.972 1.199-.447.31-.998.466-1.654.466-.572 0-1.077-.127-1.517-.381a2.645 2.645 0 0 1-1.022-1.12c-.246-.492-.37-1.086-.37-1.784V9.273h2.057v5.238c0 .553.152.993.455 1.319.303.325.7.488 1.193.488.303 0 .596-.074.88-.221.285-.148.518-.368.7-.66.185-.295.278-.664.278-1.107Z"/>
<path fill="#1B1B1F" d="M28.148 18V6.364h2.108v9.869h5.125V18h-7.233Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0 11.97 11.97 0 0 0-4-8.944"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.584 1.571 6.801 4.063 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#673AB8" d="m108 0 10 5.773V17.32l-10 5.774-10-5.774V5.773L108 0Z"/>
<path fill="#fff" d="M100.724 17.225c1.329 1.701 5.554.405 9.543-2.711 3.988-3.117 6.269-6.902 4.939-8.604-1.329-1.702-5.554-.405-9.543 2.711-3.988 3.117-6.269 6.902-4.939 8.604Zm.568-.444c-.441-.564-.249-1.672.591-3.067.885-1.468 2.386-3.09 4.224-4.525 1.837-1.435 3.774-2.5 5.412-3.003 1.557-.478 2.678-.397 3.119.168.441.564.248 1.672-.591 3.066-.885 1.469-2.386 3.09-4.224 4.526-1.837 1.435-3.774 2.5-5.412 3.003-1.557.478-2.678.396-3.119-.168Z"/>
<path fill="#fff" d="M115.206 17.225c1.33-1.702-.951-5.487-4.939-8.604-3.989-3.116-8.214-4.413-9.543-2.711-1.33 1.702.951 5.487 4.939 8.604 3.989 3.116 8.214 4.413 9.543 2.71Zm-.568-.444c-.441.565-1.562.646-3.119.168-1.638-.503-3.575-1.568-5.412-3.003-1.838-1.436-3.339-3.057-4.224-4.526-.84-1.394-1.032-2.502-.591-3.066.441-.565 1.562-.646 3.119-.168 1.638.503 3.575 1.568 5.412 3.003 1.838 1.436 3.339 3.057 4.224 4.525.839 1.395 1.032 2.503.591 3.067Z"/>
<path fill="#fff" d="M107.965 13.099a1.531 1.531 0 1 0 0-3.062 1.531 1.531 0 0 0 0 3.062Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,29 +1,26 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 26" height="26" width="119" x="4" y="3">
<g clip-path="url(#a)">
<path fill="#1B1B1F" d="M74.2 19.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V13.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 19.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V7.36h2.07V19h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 19v-8.73h2.05V19H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 19.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 15.33v-5.06h2.06V19h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78v-5.56h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 19V7.36h2.1v9.87h5.13V19h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 13a4 4 0 1 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 13a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
</g>
<path fill="#54C1DE" d="m112.75 6.34-.63-.2.1-.42c.47-2.3.17-4.14-.89-4.75-1.01-.58-2.67.02-4.34 1.48l-.48.44-.32-.3c-1.75-1.55-3.51-2.2-4.56-1.6-1.02.6-1.31 2.33-.89 4.5l.14.65c-.25.07-.49.15-.71.23-2.06.71-3.37 1.84-3.37 3 0 1.2 1.4 2.4 3.55 3.14l.52.16c-.06.23-.1.46-.15.7-.4 2.13-.09 3.83.92 4.41 1.04.6 2.79-.02 4.5-1.5l.4-.38c.17.17.34.33.52.48 1.65 1.42 3.28 2 4.28 1.41 1.05-.6 1.38-2.42.94-4.64l-.11-.52.36-.11c2.22-.75 3.67-1.94 3.67-3.16 0-1.17-1.35-2.3-3.45-3.02Zm-5.21-3.27c1.43-1.25 2.77-1.73 3.37-1.38.65.37.9 1.88.5 3.86a12 12 0 0 1-.09.39c-.85-.2-1.72-.33-2.59-.41-.5-.72-1.05-1.4-1.64-2.05l.45-.4Zm-5.01 7.29c.36.68.74 1.35 1.16 2-.6-.07-1.2-.17-1.79-.3.18-.57.4-1.14.63-1.7Zm0-1.95c-.23-.55-.44-1.11-.62-1.68.56-.13 1.15-.23 1.76-.3-.41.64-.8 1.3-1.14 1.98Zm.44.97c.51-1.06 1.1-2.09 1.77-3.06 1.17-.1 2.35-.1 3.53 0 .66.97 1.25 2 1.77 3.05a26.12 26.12 0 0 1-1.76 3.07c-1.18.09-2.36.09-3.53.01-.67-.98-1.26-2-1.78-3.07Zm6.95 1.97c.2-.33.39-.68.57-1.02.25.55.46 1.12.65 1.7-.6.14-1.2.24-1.81.31l.6-.99Zm.56-2.94a29.97 29.97 0 0 0-1.15-1.98c.62.08 1.21.18 1.77.3-.18.58-.38 1.13-.62 1.68Zm-3.97-4.33c.4.43.78.9 1.14 1.37-.76-.03-1.53-.03-2.3 0 .37-.47.76-.93 1.16-1.37Zm-4.47-2.37c.65-.37 2.08.16 3.6 1.5l.29.27c-.6.64-1.15 1.33-1.65 2.05-.87.08-1.74.21-2.6.4l-.13-.6c-.36-1.86-.12-3.27.5-3.62Zm-.94 10.16-.48-.15a7.1 7.1 0 0 1-2.27-1.2c-.47-.42-.72-.83-.72-1.16 0-.7 1.05-1.61 2.8-2.22.23-.08.45-.15.68-.2.26.83.57 1.65.94 2.44-.37.8-.69 1.64-.95 2.49Zm4.49 3.77a6.9 6.9 0 0 1-2.17 1.36c-.6.21-1.08.22-1.36.05-.62-.35-.87-1.71-.53-3.54l.15-.64c.86.18 1.73.3 2.61.37.51.72 1.07 1.41 1.67 2.06l-.37.34Zm.94-.93c-.4-.45-.8-.92-1.17-1.4.77.03 1.54.03 2.31 0-.35.48-.73.95-1.14 1.4Zm5.03 1.15c-.11.63-.34 1.04-.63 1.2-.61.36-1.92-.1-3.33-1.31a9.83 9.83 0 0 1-.49-.45c.6-.65 1.13-1.34 1.63-2.07.88-.07 1.76-.2 2.62-.4a6.93 6.93 0 0 1 .2 3.03Zm.7-4.14-.32.1c-.27-.84-.6-1.66-.98-2.45.37-.79.69-1.6.95-2.43l.57.19c1.8.62 2.9 1.53 2.9 2.23 0 .75-1.2 1.73-3.11 2.36Z"/>
<path fill="#54C1DE" d="M106.5 11.1a1.73 1.73 0 1 0 0-3.47 1.73 1.73 0 0 0 0 3.47Z"/>
<path fill="#54C1DE" d="M100.25 19.75v4.62h-.71l-2.56-3.13v3.14h-.86v-4.63h.71l2.56 3.13v-3.13h.86Z"/>
<path fill="#54C1DE" d="M104.38 22.25v2.08h-.8v-.43c-.2.3-.58.48-1.12.48-.82 0-1.33-.46-1.33-1.07 0-.6.4-1.05 1.48-1.05h.92v-.05c0-.49-.3-.77-.89-.77-.39 0-.77.12-1.08.35l-.33-.6c.45-.3.98-.46 1.52-.44 1.03 0 1.63.48 1.63 1.5Zm-.84.97v-.41h-.87c-.56 0-.72.21-.72.47 0 .3.26.49.7.49a.91.91 0 0 0 .89-.55Z"/>
<path fill="#54C1DE" d="M107.5 24.15c-.24.16-.52.24-.8.22-.79 0-1.24-.4-1.24-1.2v-1.7h-.58v-.66h.58V20h.84v.81h.95v.66h-.95v1.69c0 .34.17.53.5.53.16 0 .32-.05.45-.14l.25.6Z"/>
<path fill="#54C1DE" d="M108 19.75a.5.5 0 0 1 .17-.36.53.53 0 0 1 .4-.14c.14 0 .28.04.38.13a.48.48 0 0 1 .17.35c0 .14-.06.26-.17.36a.58.58 0 0 1-.77.01.52.52 0 0 1-.18-.35Zm.12 1.08h.88v3.55h-.88v-3.55Z"/>
<path fill="#54C1DE" d="m113.38 20.88-1.52 3.5h-.85l-1.51-3.5h.86l1.1 2.59 1.13-2.6h.78Z"/>
<path fill="#54C1DE" d="M117 22.82h-2.69c.1.52.51.85 1.1.85a1.2 1.2 0 0 0 .93-.38l.43.5a1.73 1.73 0 0 1-1.38.58c-1.14 0-1.89-.76-1.89-1.81a1.8 1.8 0 0 1 .5-1.3 1.67 1.67 0 0 1 1.26-.51c1 0 1.73.72 1.73 1.82v.25Zm-2.7-.54h1.95a.97.97 0 0 0-.32-.63.92.92 0 0 0-.65-.23.93.93 0 0 0-.65.23.99.99 0 0 0-.32.63Z"/>
<circle cx="88" cy="13" r="2" fill="#DDD"/>
<defs>
<clipPath id="a">
<path fill="#fff" d="M0 2h82v22H0z"/>
</clipPath>
</defs>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 26">
<g clip-path="url(#a)">
<path fill="#1B1B1F" d="M74.2 19.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V13.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 19.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V7.36h2.07V19h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 19v-8.73h2.05V19H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 19.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 15.33v-5.06h2.06V19h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78v-5.56h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 19V7.36h2.1v9.87h5.13V19h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 13a4 4 0 1 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 13a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
</g>
<path fill="#54C1DE" d="m112.75 6.34-.63-.2.1-.42c.47-2.3.17-4.14-.89-4.75-1.01-.58-2.67.02-4.34 1.48l-.48.44-.32-.3c-1.75-1.55-3.51-2.2-4.56-1.6-1.02.6-1.31 2.33-.89 4.5l.14.65c-.25.07-.49.15-.71.23-2.06.71-3.37 1.84-3.37 3 0 1.2 1.4 2.4 3.55 3.14l.52.16c-.06.23-.1.46-.15.7-.4 2.13-.09 3.83.92 4.41 1.04.6 2.79-.02 4.5-1.5l.4-.38c.17.17.34.33.52.48 1.65 1.42 3.28 2 4.28 1.41 1.05-.6 1.38-2.42.94-4.64l-.11-.52.36-.11c2.22-.75 3.67-1.94 3.67-3.16 0-1.17-1.35-2.3-3.45-3.02Zm-5.21-3.27c1.43-1.25 2.77-1.73 3.37-1.38.65.37.9 1.88.5 3.86a12 12 0 0 1-.09.39c-.85-.2-1.72-.33-2.59-.41-.5-.72-1.05-1.4-1.64-2.05l.45-.4Zm-5.01 7.29c.36.68.74 1.35 1.16 2-.6-.07-1.2-.17-1.79-.3.18-.57.4-1.14.63-1.7Zm0-1.95c-.23-.55-.44-1.11-.62-1.68.56-.13 1.15-.23 1.76-.3-.41.64-.8 1.3-1.14 1.98Zm.44.97c.51-1.06 1.1-2.09 1.77-3.06 1.17-.1 2.35-.1 3.53 0 .66.97 1.25 2 1.77 3.05a26.12 26.12 0 0 1-1.76 3.07c-1.18.09-2.36.09-3.53.01-.67-.98-1.26-2-1.78-3.07Zm6.95 1.97c.2-.33.39-.68.57-1.02.25.55.46 1.12.65 1.7-.6.14-1.2.24-1.81.31l.6-.99Zm.56-2.94a29.97 29.97 0 0 0-1.15-1.98c.62.08 1.21.18 1.77.3-.18.58-.38 1.13-.62 1.68Zm-3.97-4.33c.4.43.78.9 1.14 1.37-.76-.03-1.53-.03-2.3 0 .37-.47.76-.93 1.16-1.37Zm-4.47-2.37c.65-.37 2.08.16 3.6 1.5l.29.27c-.6.64-1.15 1.33-1.65 2.05-.87.08-1.74.21-2.6.4l-.13-.6c-.36-1.86-.12-3.27.5-3.62Zm-.94 10.16-.48-.15a7.1 7.1 0 0 1-2.27-1.2c-.47-.42-.72-.83-.72-1.16 0-.7 1.05-1.61 2.8-2.22.23-.08.45-.15.68-.2.26.83.57 1.65.94 2.44-.37.8-.69 1.64-.95 2.49Zm4.49 3.77a6.9 6.9 0 0 1-2.17 1.36c-.6.21-1.08.22-1.36.05-.62-.35-.87-1.71-.53-3.54l.15-.64c.86.18 1.73.3 2.61.37.51.72 1.07 1.41 1.67 2.06l-.37.34Zm.94-.93c-.4-.45-.8-.92-1.17-1.4.77.03 1.54.03 2.31 0-.35.48-.73.95-1.14 1.4Zm5.03 1.15c-.11.63-.34 1.04-.63 1.2-.61.36-1.92-.1-3.33-1.31a9.83 9.83 0 0 1-.49-.45c.6-.65 1.13-1.34 1.63-2.07.88-.07 1.76-.2 2.62-.4a6.93 6.93 0 0 1 .2 3.03Zm.7-4.14-.32.1c-.27-.84-.6-1.66-.98-2.45.37-.79.69-1.6.95-2.43l.57.19c1.8.62 2.9 1.53 2.9 2.23 0 .75-1.2 1.73-3.11 2.36Z"/>
<path fill="#54C1DE" d="M106.5 11.1a1.73 1.73 0 1 0 0-3.47 1.73 1.73 0 0 0 0 3.47Z"/>
<path fill="#54C1DE" d="M100.25 19.75v4.62h-.71l-2.56-3.13v3.14h-.86v-4.63h.71l2.56 3.13v-3.13h.86Z"/>
<path fill="#54C1DE" d="M104.38 22.25v2.08h-.8v-.43c-.2.3-.58.48-1.12.48-.82 0-1.33-.46-1.33-1.07 0-.6.4-1.05 1.48-1.05h.92v-.05c0-.49-.3-.77-.89-.77-.39 0-.77.12-1.08.35l-.33-.6c.45-.3.98-.46 1.52-.44 1.03 0 1.63.48 1.63 1.5Zm-.84.97v-.41h-.87c-.56 0-.72.21-.72.47 0 .3.26.49.7.49a.91.91 0 0 0 .89-.55Z"/>
<path fill="#54C1DE" d="M107.5 24.15c-.24.16-.52.24-.8.22-.79 0-1.24-.4-1.24-1.2v-1.7h-.58v-.66h.58V20h.84v.81h.95v.66h-.95v1.69c0 .34.17.53.5.53.16 0 .32-.05.45-.14l.25.6Z"/>
<path fill="#54C1DE" d="M108 19.75a.5.5 0 0 1 .17-.36.53.53 0 0 1 .4-.14c.14 0 .28.04.38.13a.48.48 0 0 1 .17.35c0 .14-.06.26-.17.36a.58.58 0 0 1-.77.01.52.52 0 0 1-.18-.35Zm.12 1.08h.88v3.55h-.88v-3.55Z"/>
<path fill="#54C1DE" d="m113.38 20.88-1.52 3.5h-.85l-1.51-3.5h.86l1.1 2.59 1.13-2.6h.78Z"/>
<path fill="#54C1DE" d="M117 22.82h-2.69c.1.52.51.85 1.1.85a1.2 1.2 0 0 0 .93-.38l.43.5a1.73 1.73 0 0 1-1.38.58c-1.14 0-1.89-.76-1.89-1.81a1.8 1.8 0 0 1 .5-1.3 1.67 1.67 0 0 1 1.26-.51c1 0 1.73.72 1.73 1.82v.25Zm-2.7-.54h1.95a.97.97 0 0 0-.32-.63.92.92 0 0 0-.65-.23.93.93 0 0 0-.65.23.99.99 0 0 0-.32.63Z"/>
<circle cx="88" cy="13" r="2" fill="#DDD"/>
<defs>
<clipPath id="a">
<path fill="#fff" d="M0 2h82v22H0z"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,18 +1,15 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 22" height="22" width="119" x="4" y="5">
<path fill="#61DAFB" d="M107.5 13.28a2.05 2.05 0 1 0 0-4.1 2.05 2.05 0 0 0 0 4.1Z"/>
<path stroke="#61DAFB" d="M107.5 15.43c6.08 0 11-1.88 11-4.2 0-2.32-4.92-4.2-11-4.2s-11 1.88-11 4.2c0 2.32 4.92 4.2 11 4.2Z"/>
<path stroke="#61DAFB" d="M103.86 13.33c3.04 5.26 7.13 8.59 9.14 7.43 2-1.16 1.17-6.37-1.86-11.63C108.1 3.87 104 .55 102 1.71c-2 1.16-1.17 6.36 1.86 11.62Z"/>
<path stroke="#61DAFB" d="M103.86 9.13C100.83 14.4 100 19.6 102 20.76c2 1.16 6.1-2.17 9.14-7.43C114.17 8.07 115 2.87 113 1.71c-2-1.16-6.1 2.16-9.14 7.42Z"/>
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 119 22">
<path fill="#61DAFB" d="M107.5 13.28a2.05 2.05 0 1 0 0-4.1 2.05 2.05 0 0 0 0 4.1Z"/>
<path stroke="#61DAFB" d="M107.5 15.43c6.08 0 11-1.88 11-4.2 0-2.32-4.92-4.2-11-4.2s-11 1.88-11 4.2c0 2.32 4.92 4.2 11 4.2Z"/>
<path stroke="#61DAFB" d="M103.86 13.33c3.04 5.26 7.13 8.59 9.14 7.43 2-1.16 1.17-6.37-1.86-11.63C108.1 3.87 104 .55 102 1.71c-2 1.16-1.17 6.36 1.86 11.62Z"/>
<path stroke="#61DAFB" d="M103.86 9.13C100.83 14.4 100 19.6 102 20.76c2 1.16 6.1-2.17 9.14-7.43C114.17 8.07 115 2.87 113 1.71c-2-1.16-6.1 2.16-9.14 7.42Z"/>
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,42 +1,39 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 23" height="23" width="120" x="4" y="4">
<path fill="#76B3E1" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z"/>
<path fill="url(#a)" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z" opacity=".3"/>
<path fill="#518AC8" d="m102.7 5.18-.6.15c-2.5.74-3.25 3.11-1.92 5.19a7.01 7.01 0 0 0 7.11 2.22l9.18-3.11s-7.84-5.78-13.77-4.45Z"/>
<path fill="url(#b)" d="m102.7 5.18-.6.15c-2.5.74-3.25 3.11-1.92 5.19a7.01 7.01 0 0 0 7.11 2.22l9.18-3.11s-7.84-5.78-13.77-4.45Z" opacity=".3"/>
<path fill="url(#c)" d="M114.84 11.85a6.66 6.66 0 0 0-7.1-2.22l-9.19 2.96-2.96 5.18 16.59 2.82 2.96-5.34c.6-1.03.45-2.22-.3-3.4Z"/>
<path fill="url(#d)" d="M111.88 17.03a6.66 6.66 0 0 0-7.1-2.22l-9.19 2.96s7.85 5.93 13.92 4.45l.45-.15c2.52-.74 3.4-3.11 1.92-5.04Z"/>
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<defs>
<linearGradient id="a" x1="99.07" x2="117.51" y1=".44" y2="9.4" gradientUnits="userSpaceOnUse">
<stop offset=".1" stop-color="#76B3E1"/>
<stop offset=".3" stop-color="#DCF2FD"/>
<stop offset="1" stop-color="#76B3E1"/>
</linearGradient>
<linearGradient id="b" x1="109.19" x2="105.96" y1="4.83" y2="15.58" gradientUnits="userSpaceOnUse">
<stop stop-color="#76B3E1"/>
<stop offset=".5" stop-color="#4377BB"/>
<stop offset="1" stop-color="#1F3B77"/>
</linearGradient>
<linearGradient id="c" x1="97.72" x2="116.37" y1="9.51" y2="22.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#315AA9"/>
<stop offset=".5" stop-color="#518AC8"/>
<stop offset="1" stop-color="#315AA9"/>
</linearGradient>
<linearGradient id="d" x1="106.14" x2="98.61" y1="11.03" y2="38.62" gradientUnits="userSpaceOnUse">
<stop stop-color="#4377BB"/>
<stop offset=".5" stop-color="#1A336B"/>
<stop offset="1" stop-color="#1A336B"/>
</linearGradient>
</defs>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 23">
<path fill="#76B3E1" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z"/>
<path fill="url(#a)" d="M119.14 5.18S111.29-.59 105.22.74l-.44.15c-.9.3-1.63.74-2.08 1.33l-.3.45-2.22 3.85 3.85.74a7.51 7.51 0 0 0 5.63 1.03l6.81 1.34 2.67-4.45Z" opacity=".3"/>
<path fill="#518AC8" d="m102.7 5.18-.6.15c-2.5.74-3.25 3.11-1.92 5.19a7.01 7.01 0 0 0 7.11 2.22l9.18-3.11s-7.84-5.78-13.77-4.45Z"/>
<path fill="url(#b)" d="m102.7 5.18-.6.15c-2.5.74-3.25 3.11-1.92 5.19a7.01 7.01 0 0 0 7.11 2.22l9.18-3.11s-7.84-5.78-13.77-4.45Z" opacity=".3"/>
<path fill="url(#c)" d="M114.84 11.85a6.66 6.66 0 0 0-7.1-2.22l-9.19 2.96-2.96 5.18 16.59 2.82 2.96-5.34c.6-1.03.45-2.22-.3-3.4Z"/>
<path fill="url(#d)" d="M111.88 17.03a6.66 6.66 0 0 0-7.1-2.22l-9.19 2.96s7.85 5.93 13.92 4.45l.45-.15c2.52-.74 3.4-3.11 1.92-5.04Z"/>
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<defs>
<linearGradient id="a" x1="99.07" x2="117.51" y1=".44" y2="9.4" gradientUnits="userSpaceOnUse">
<stop offset=".1" stop-color="#76B3E1"/>
<stop offset=".3" stop-color="#DCF2FD"/>
<stop offset="1" stop-color="#76B3E1"/>
</linearGradient>
<linearGradient id="b" x1="109.19" x2="105.96" y1="4.83" y2="15.58" gradientUnits="userSpaceOnUse">
<stop stop-color="#76B3E1"/>
<stop offset=".5" stop-color="#4377BB"/>
<stop offset="1" stop-color="#1F3B77"/>
</linearGradient>
<linearGradient id="c" x1="97.72" x2="116.37" y1="9.51" y2="22.19" gradientUnits="userSpaceOnUse">
<stop stop-color="#315AA9"/>
<stop offset=".5" stop-color="#518AC8"/>
<stop offset="1" stop-color="#315AA9"/>
</linearGradient>
<linearGradient id="d" x1="106.14" x2="98.61" y1="11.03" y2="38.62" gradientUnits="userSpaceOnUse">
<stop stop-color="#4377BB"/>
<stop offset=".5" stop-color="#1A336B"/>
<stop offset="1" stop-color="#1A336B"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,19 +1,16 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 24" height="24" width="120" x="4" y="4">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#000" d="M96.68 12h22.64v8a3.26 3.26 0 0 1-3.32 3.32h-16A3.26 3.26 0 0 1 96.68 20v-8Z"/>
<path fill="#FFB13B" d="M109.27 4.87a1.8 1.8 0 1 0-2.54 0v3.66l-2.59-2.59A1.78 1.78 0 0 0 102 4.2a1.8 1.8 0 0 0 .34 3.55l2.59 2.59h-3.66a1.79 1.79 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 0 0 114 19a1.79 1.79 0 0 0-.35-3.55l-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.59V4.87Z"/>
<path fill="#000" fill-rule="evenodd" d="M106.73 4.87a1.8 1.8 0 1 1 2.54 0v3.66l2.59-2.59A1.78 1.78 0 0 1 114 4.2a1.8 1.8 0 0 1-.34 3.55l-2.59 2.59h3.65a1.79 1.79 0 1 1 0 2.54h-3.65l2.58 2.58a1.79 1.79 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 0 1 102 19a1.79 1.79 0 0 1 .35-3.55l2.58-2.58h-3.66a1.79 1.79 0 1 1 0-2.54h3.66l-2.59-2.59a1.8 1.8 0 1 1 1.8-1.8l2.59 2.59V4.87Zm-2.04-1.27A3.32 3.32 0 0 0 100 8.3a3.31 3.31 0 0 0 0 6.62 3.31 3.31 0 0 0 4.69 4.69 3.3 3.3 0 0 0 3.31 3.3 3.31 3.31 0 0 0 3.31-3.3A3.31 3.31 0 0 0 116 14.9a3.32 3.32 0 0 0 0-6.62 3.3 3.3 0 0 0 0-4.68 3.31 3.31 0 0 0-4.69 0 3.3 3.3 0 0 0-5.15-2.76 3.31 3.31 0 0 0-1.47 2.75Z" clip-rule="evenodd"/>
<path fill="#000" d="M96.68 12h22.64v8a3.26 3.26 0 0 1-3.32 3.32h-16A3.26 3.26 0 0 1 96.68 20v-8Z" opacity=".8"/>
<path fill="#fff" d="M100.08 17.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 0 0-1.09-1.21 1.21 1.21 0 0 0-.99 2.06c.22.23.42.29.86.37a3.3 3.3 0 0 1 2.08.85 2.93 2.93 0 1 1-5 2.08h1.74a1.21 1.21 0 0 0 1.68 1.11 1.22 1.22 0 0 0 .7-1.47c-.06-.19-.16-.36-.3-.5-.24-.23-.54-.3-.88-.36-.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 0 1-5.86 0v-4.16a2.92 2.92 0 1 1 5.86 0h-1.7a1.22 1.22 0 1 0-2.43 0v4.16a1.22 1.22 0 1 0 2.43 0V18.5h-1.21V16.8Z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 24">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#000" d="M96.68 12h22.64v8a3.26 3.26 0 0 1-3.32 3.32h-16A3.26 3.26 0 0 1 96.68 20v-8Z"/>
<path fill="#FFB13B" d="M109.27 4.87a1.8 1.8 0 1 0-2.54 0v3.66l-2.59-2.59A1.78 1.78 0 0 0 102 4.2a1.8 1.8 0 0 0 .34 3.55l2.59 2.59h-3.66a1.79 1.79 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 0 0 114 19a1.79 1.79 0 0 0-.35-3.55l-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.59V4.87Z"/>
<path fill="#000" fill-rule="evenodd" d="M106.73 4.87a1.8 1.8 0 1 1 2.54 0v3.66l2.59-2.59A1.78 1.78 0 0 1 114 4.2a1.8 1.8 0 0 1-.34 3.55l-2.59 2.59h3.65a1.79 1.79 0 1 1 0 2.54h-3.65l2.58 2.58a1.79 1.79 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 0 1 102 19a1.79 1.79 0 0 1 .35-3.55l2.58-2.58h-3.66a1.79 1.79 0 1 1 0-2.54h3.66l-2.59-2.59a1.8 1.8 0 1 1 1.8-1.8l2.59 2.59V4.87Zm-2.04-1.27A3.32 3.32 0 0 0 100 8.3a3.31 3.31 0 0 0 0 6.62 3.31 3.31 0 0 0 4.69 4.69 3.3 3.3 0 0 0 3.31 3.3 3.31 3.31 0 0 0 3.31-3.3A3.31 3.31 0 0 0 116 14.9a3.32 3.32 0 0 0 0-6.62 3.3 3.3 0 0 0 0-4.68 3.31 3.31 0 0 0-4.69 0 3.3 3.3 0 0 0-5.15-2.76 3.31 3.31 0 0 0-1.47 2.75Z" clip-rule="evenodd"/>
<path fill="#000" d="M96.68 12h22.64v8a3.26 3.26 0 0 1-3.32 3.32h-16A3.26 3.26 0 0 1 96.68 20v-8Z" opacity=".8"/>
<path fill="#fff" d="M100.08 17.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 0 0-1.09-1.21 1.21 1.21 0 0 0-.99 2.06c.22.23.42.29.86.37a3.3 3.3 0 0 1 2.08.85 2.93 2.93 0 1 1-5 2.08h1.74a1.21 1.21 0 0 0 1.68 1.11 1.22 1.22 0 0 0 .7-1.47c-.06-.19-.16-.36-.3-.5-.24-.23-.54-.3-.88-.36-.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 0 1-5.86 0v-4.16a2.92 2.92 0 1 1 5.86 0h-1.7a1.22 1.22 0 1 0-2.43 0v4.16a1.22 1.22 0 1 0 2.43 0V18.5h-1.21V16.8Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,16 +1,13 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 25" height="25" width="118" x="4" y="4">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#FF3E00" d="M116.72 3.18a7.34 7.34 0 0 0-9.82-2.11l-5.6 3.57a6.42 6.42 0 0 0-2.9 4.29 6.77 6.77 0 0 0 .67 4.34c-.48.73-.81 1.54-.96 2.4a6.84 6.84 0 0 0 1.17 5.18 7.34 7.34 0 0 0 9.82 2.1l5.6-3.54a6.44 6.44 0 0 0 2.9-4.3c.27-1.48.03-3-.67-4.34a6.45 6.45 0 0 0 .9-5.1 6.84 6.84 0 0 0-1.1-2.47"/>
<path fill="#fff" d="M106.35 21.16a4.45 4.45 0 0 1-5.44-3.26 4.1 4.1 0 0 1 .1-2.14l.1-.33.3.22c.65.48 1.4.85 2.17 1.09l.22.06-.02.21c-.02.3.06.59.23.83a1.34 1.34 0 0 0 1.78.38l5.6-3.57a1.16 1.16 0 0 0 .5-1.27 1.35 1.35 0 0 0-1.64-.98c-.11.03-.23.09-.34.15l-2.14 1.37c-.35.22-.74.39-1.14.5a4.45 4.45 0 0 1-5.42-3.26 4.12 4.12 0 0 1-.04-1.63 3.86 3.86 0 0 1 1.75-2.58l5.6-3.57c.35-.22.73-.4 1.13-.5a4.45 4.45 0 0 1 5.44 3.26 4.1 4.1 0 0 1-.1 2.14l-.1.33-.3-.22a7.24 7.24 0 0 0-2.18-1.1l-.22-.06.02-.21c.03-.3-.05-.59-.22-.83a1.33 1.33 0 0 0-1.78-.37l-5.6 3.56a1.17 1.17 0 0 0-.5 1.27 1.34 1.34 0 0 0 1.97.83l2.14-1.36a4 4 0 0 1 1.14-.5 4.44 4.44 0 0 1 5.43 3.25 3.87 3.87 0 0 1-1.7 4.22l-5.6 3.57c-.35.22-.74.39-1.14.5Z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 25">
<path fill="#1B1B1F" d="M74.2 18.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V12.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 18.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V6.36h2.07V18h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 18V9.27h2.05V18H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 18.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 14.33V9.27h2.06V18h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V9.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 18V6.36h2.1v9.87h5.13V18h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="12" r="2" fill="#DDD"/>
<path fill="#FF3E00" d="M116.72 3.18a7.34 7.34 0 0 0-9.82-2.11l-5.6 3.57a6.42 6.42 0 0 0-2.9 4.29 6.77 6.77 0 0 0 .67 4.34c-.48.73-.81 1.54-.96 2.4a6.84 6.84 0 0 0 1.17 5.18 7.34 7.34 0 0 0 9.82 2.1l5.6-3.54a6.44 6.44 0 0 0 2.9-4.3c.27-1.48.03-3-.67-4.34a6.45 6.45 0 0 0 .9-5.1 6.84 6.84 0 0 0-1.1-2.47"/>
<path fill="#fff" d="M106.35 21.16a4.45 4.45 0 0 1-5.44-3.26 4.1 4.1 0 0 1 .1-2.14l.1-.33.3.22c.65.48 1.4.85 2.17 1.09l.22.06-.02.21c-.02.3.06.59.23.83a1.34 1.34 0 0 0 1.78.38l5.6-3.57a1.16 1.16 0 0 0 .5-1.27 1.35 1.35 0 0 0-1.64-.98c-.11.03-.23.09-.34.15l-2.14 1.37c-.35.22-.74.39-1.14.5a4.45 4.45 0 0 1-5.42-3.26 4.12 4.12 0 0 1-.04-1.63 3.86 3.86 0 0 1 1.75-2.58l5.6-3.57c.35-.22.73-.4 1.13-.5a4.45 4.45 0 0 1 5.44 3.26 4.1 4.1 0 0 1-.1 2.14l-.1.33-.3-.22a7.24 7.24 0 0 0-2.18-1.1l-.22-.06.02-.21c.03-.3-.05-.59-.22-.83a1.33 1.33 0 0 0-1.78-.37l-5.6 3.56a1.17 1.17 0 0 0-.5 1.27 1.34 1.34 0 0 0 1.97.83l2.14-1.36a4 4 0 0 1 1.14-.5 4.44 4.44 0 0 1 5.43 3.25 3.87 3.87 0 0 1-1.7 4.22l-5.6 3.57c-.35.22-.74.39-1.14.5Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,16 +1,13 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 22" height="22" width="120" x="4" y="5">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#41B883" d="m110.21 1-2.66 4.62L104.88 1H96l11.55 20 11.54-20h-8.88Z"/>
<path fill="#34495E" d="m110.21 1-2.66 4.62L104.88 1h-4.26l6.93 12 6.92-12h-4.26Z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 22">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#41B883" d="m110.21 1-2.66 4.62L104.88 1H96l11.55 20 11.54-20h-8.88Z"/>
<path fill="#34495E" d="m110.21 1-2.66 4.62L104.88 1h-4.26l6.93 12 6.92-12h-4.26Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,16 +1,13 @@
<svg viewBox="0 0 160 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="128" height="32" rx="8" fill="#fff"/>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22" height="22" width="118" x="4" y="5">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#F7DF1E" d="M98 1h20v20H98V1Z"/>
<path fill="#000" d="M111.43 16.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.57.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"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 118 22">
<path fill="#1B1B1F" d="M74.2 17.17a4.5 4.5 0 0 1-2.27-.55 3.7 3.7 0 0 1-1.46-1.55 5.21 5.21 0 0 1-.5-2.38c0-.9.16-1.69.5-2.37a3.87 3.87 0 0 1 3.62-2.16c.54 0 1.05.09 1.53.26s.9.44 1.27.8c.37.36.66.81.87 1.37.22.55.32 1.21.32 1.98v.63h-7.15V11.8h5.18c0-.4-.09-.74-.25-1.05-.17-.3-.4-.55-.7-.73-.3-.18-.64-.27-1.04-.27a2 2 0 0 0-1.1.3c-.32.2-.57.47-.75.8-.17.33-.26.69-.27 1.08v1.2c0 .52.1.95.28 1.31.19.36.45.64.78.83.33.2.72.29 1.17.29.3 0 .57-.04.81-.13.25-.08.46-.21.63-.38.18-.16.32-.37.4-.62l1.93.22a3 3 0 0 1-.7 1.33c-.33.37-.76.67-1.3.87-.52.2-1.12.31-1.8.31Z"/>
<path fill="#1B1B1F" d="M63.5 17.15a3.3 3.3 0 0 1-3.13-2.06 5.73 5.73 0 0 1-.47-2.44c0-.97.16-1.79.48-2.46a3.34 3.34 0 0 1 4.39-1.77c.33.17.59.38.78.62.2.24.34.46.45.68h.08V5.36h2.07V17h-2.03v-1.38H66c-.1.22-.26.44-.46.68a2.53 2.53 0 0 1-2.04.85Zm.57-1.68c.44 0 .8-.12 1.12-.36.3-.23.54-.57.7-1 .15-.41.23-.9.23-1.47s-.08-1.06-.24-1.48a2.1 2.1 0 0 0-.69-.97 1.8 1.8 0 0 0-1.12-.34c-.46 0-.84.12-1.15.35-.3.24-.53.57-.69 1-.15.41-.23.9-.23 1.44 0 .54.08 1.03.23 1.46.16.42.4.76.7 1 .31.24.7.37 1.14.37Z"/>
<path fill="#1B1B1F" d="M56.09 17V8.27h2.05V17H56.1Zm1.03-9.97c-.32 0-.6-.1-.84-.32a1.04 1.04 0 0 1-.35-.79c0-.31.12-.57.35-.79.24-.22.52-.33.84-.33.33 0 .61.11.84.33.24.22.36.48.36.79 0 .3-.12.57-.36.79-.23.22-.5.32-.84.32Z"/>
<path fill="#1B1B1F" d="M50.66 17.17a3.83 3.83 0 0 1-3.68-2.16 5.24 5.24 0 0 1-.5-2.34c0-.89.17-1.67.51-2.35.34-.68.82-1.2 1.44-1.59a4.16 4.16 0 0 1 2.22-.57c.7 0 1.33.13 1.88.4a3.21 3.21 0 0 1 1.87 2.74h-1.97a1.88 1.88 0 0 0-.56-1.06c-.3-.28-.7-.42-1.2-.42-.41 0-.78.11-1.1.34-.32.22-.57.54-.74.96-.18.43-.27.93-.27 1.52 0 .6.1 1.1.27 1.53.17.42.41.75.73.98.32.23.69.34 1.12.34.3 0 .57-.05.81-.17.24-.11.45-.28.6-.5.17-.22.28-.49.34-.8h1.97a3.23 3.23 0 0 1-1.83 2.76 4.3 4.3 0 0 1-1.9.39Z"/>
<path fill="#1B1B1F" d="M42.68 13.33V8.27h2.06V17h-2v-1.55h-.09c-.2.49-.52.89-.97 1.2-.45.3-1 .46-1.65.46a2.64 2.64 0 0 1-2.54-1.5 3.95 3.95 0 0 1-.37-1.78V8.27h2.06v5.24c0 .55.15 1 .45 1.32.3.33.7.49 1.2.49a1.89 1.89 0 0 0 1.57-.88c.19-.3.28-.67.28-1.11Z"/>
<path fill="#1B1B1F" d="M28.15 17V5.36h2.1v9.87h5.13V17h-7.23Z"/>
<path stroke="#1B1B1F" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 11a4 4 0 0 0-8 0 8 8 0 0 0 16 0c0-3.55-1.55-6.75-4-8.94"/>
<path stroke="#F56565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11a4 4 0 0 0 8 0 8 8 0 1 0-16 0c0 3.58 1.57 6.8 4.06 9"/>
<circle cx="88" cy="11" r="2" fill="#DDD"/>
<path fill="#F7DF1E" d="M98 1h20v20H98V1Z"/>
<path fill="#000" d="M111.43 16.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.57.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"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,41 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="138" height="42" fill="none" viewBox="0 0 138 42">
<path fill="#fff" fill-rule="evenodd" d="M138 4a4 4 0 0 0-4-4H4a4 4 0 0 0-4 4v34a4 4 0 0 0 4 4h130a4 4 0 0 0 4-4V4Z" clip-rule="evenodd"/>
<path fill="#000" d="M55.78 32.95V14.42h1.8l.21 1.52h.05c.6-.5 1.24-.93 1.96-1.3a4.73 4.73 0 0 1 2.2-.55c1.11 0 2.06.27 2.84.83.8.58 1.4 1.38 1.75 2.31.39 1 .59 2.16.59 3.5 0 1.5-.27 2.76-.8 3.81-.47.97-1.2 1.8-2.1 2.4-.85.55-1.78.83-2.77.83-.6 0-1.2-.13-1.8-.4-.6-.26-1.2-.63-1.8-1.11l.07 2.28v4.41h-2.2Zm5.37-7.03c.72 0 1.37-.2 1.93-.61.57-.4 1.02-1 1.34-1.78.32-.77.48-1.7.48-2.77 0-.96-.12-1.8-.35-2.53-.23-.73-.6-1.3-1.1-1.7a3.52 3.52 0 0 0-3.68-.14c-.57.3-1.16.75-1.79 1.32v6.87c.58.5 1.15.84 1.7 1.04.57.2 1.06.3 1.47.3Zm13.95 1.85c-1 .02-2-.26-2.85-.8a5.09 5.09 0 0 1-1.87-2.31 9.32 9.32 0 0 1-.66-3.7c0-1.42.26-2.63.8-3.66a6.1 6.1 0 0 1 2.07-2.37 4.97 4.97 0 0 1 4.75-.44c.61.3 1.18.67 1.7 1.11l-.13-2.23V8.35h2.2v19.1h-1.8l-.18-1.53h-.07a7.5 7.5 0 0 1-1.78 1.3c-.67.37-1.4.55-2.18.55Zm.48-1.85c.6 0 1.18-.15 1.72-.44.55-.3 1.08-.74 1.61-1.34V17.3c-.46-.44-1-.8-1.58-1.05-.5-.2-1.04-.31-1.59-.31-.68 0-1.31.2-1.88.63a4.58 4.58 0 0 0-1.37 1.75c-.36.82-.53 1.7-.51 2.6 0 1.05.14 1.94.43 2.7.29.75.7 1.32 1.23 1.71.54.4 1.18.6 1.94.6v-.01Zm10.32 1.54V12.34c0-.88.13-1.64.4-2.28.28-.64.7-1.14 1.25-1.5.65-.37 1.4-.55 2.14-.52.4 0 .79.04 1.16.12.38.08.72.18 1.02.29l-.48 1.7a3.24 3.24 0 0 0-1.46-.36c-.63 0-1.1.22-1.4.65-.3.43-.45 1.07-.45 1.92v15.1H85.9ZM84.12 16.2v-1.66l1.87-.12h4.85v1.78h-6.72Zm9.22 11.26V14.42h1.8l.21 1.9h.05a9.48 9.48 0 0 1 1.88-1.58c.68-.44 1.4-.65 2.18-.65 1 0 1.79.22 2.35.67.56.45.97 1.06 1.25 1.82.68-.73 1.38-1.33 2.07-1.8.7-.46 1.45-.7 2.25-.7 1.32 0 2.31.44 2.96 1.32.65.87.97 2.14.97 3.8v8.26h-2.18v-7.97c0-1.23-.2-2.12-.6-2.67-.38-.54-1-.81-1.83-.81-.5 0-1 .16-1.54.5-.54.32-1.12.82-1.74 1.5v9.45h-2.19v-7.97c0-1.23-.2-2.12-.59-2.67-.39-.54-1-.81-1.83-.81-.5 0-1.02.16-1.56.5-.55.32-1.11.82-1.7 1.5v9.45h-2.21Zm27.5.31a6.23 6.23 0 0 1-3.17-.82 5.87 5.87 0 0 1-2.24-2.34 7.56 7.56 0 0 1-.83-3.66c0-1.07.16-2.03.48-2.87.32-.84.76-1.56 1.3-2.16a5.66 5.66 0 0 1 4.05-1.83c1.12 0 2.07.25 2.83.74.77.5 1.36 1.2 1.77 2.13.52 1.24.73 2.58.59 3.92-.02.2-.04.4-.08.58h-8.78c.05.92.26 1.73.64 2.4.37.69.87 1.22 1.5 1.6.62.37 1.35.56 2.18.56.64 0 1.22-.1 1.74-.28.54-.2 1.05-.45 1.52-.76l.77 1.47c-.6.38-1.23.7-1.9.93-.7.26-1.5.39-2.37.39Zm-4.1-7.87h6.98c0-1.32-.28-2.32-.85-3.02a2.91 2.91 0 0 0-2.4-1.04c-.6 0-1.17.16-1.7.48-.54.32-1 .78-1.35 1.37a5.23 5.23 0 0 0-.68 2.2v.01Z"/>
<path fill="#fff" d="m18.9 25.51 2.17-.73.18-.8a2.7 2.7 0 0 0-.06-1.13c-.05-.14-.12-.27-.16-.41-.04-.16.02-.37-.06-.5-.11-.16-.5-.2-.67-.11-.26.12-.24.33-.28.55-.02.1-.06.13-.12.2-.06.08-.11.17-.15.27-.43 0-.78-.17-1.2-.23l-1.01-.14c-.55-.09-.94-.13-1.42-.18-.55-.06-1.49-.04-1.64.31-.44.07-.8.22-.76.55-.14.1-.2.24 0 .39l-.01.02c-.21.33.47.43.7.47.8.13 1.6.1 2.39.27.64.15 1.07.49 1.6.86l.5.34Z"/>
<path fill="#CE9FB5" d="M23.2 38.66c0-.35.5-3.02.5-3.02-.38.1-.82.24-1.22.13a1.8 1.8 0 0 1-1.03-.79c-.96-1.4-1.75-5.33-2.23-6.96-.18-.62-.55-1.57-.82-2.17-.07-.14-.28-.4-.2-.57.1-.16.47-.11.66-.13.68-.1 2.3-.46 2.4-1.25.25 0 .53.6.64.77.23.4 1.3 3.26 1.54 3.66.2.35.3.74.5 1.1l.25.49c.67-1.89 3.07-6.37 3.92-7.26a4.87 4.87 0 0 1 2.35-1.4c.17-.04.4-.04.56-.12.47-.24 1.1.04 1.62 0 .7-.04 1.38-.32 2.03-.57.7-.26 1.42-.57 2.18-.61.8-.05 1.6.17 2.2.76.4.02.52-.02.9-.04 2.25.08 3.48 2.31 4.42 4.12 1.3 2.49 1.85 6.23 2.32 13.83"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M23.2 38.66c0-.35.5-3.02.5-3.02-.38.1-.82.24-1.22.13a1.8 1.8 0 0 1-1.03-.79c-.96-1.4-1.75-5.33-2.23-6.96-.18-.62-.55-1.57-.82-2.17-.07-.14-.28-.4-.2-.57.1-.16.47-.11.66-.13.68-.1 2.3-.46 2.4-1.25.25 0 .53.6.64.77.23.4 1.3 3.26 1.54 3.66.2.35.3.74.5 1.1l.25.49c.67-1.89 3.07-6.37 3.92-7.26a4.87 4.87 0 0 1 2.35-1.4c.17-.04.4-.04.56-.12.47-.24 1.1.04 1.62 0 .7-.04 1.38-.32 2.03-.57.7-.26 1.42-.57 2.18-.61.8-.05 1.6.17 2.2.76.4.02.52-.02.9-.04 2.25.08 3.48 2.31 4.42 4.12 1.3 2.49 1.85 6.23 2.32 13.83"/>
<path fill="#000" d="m33.48 21.33 1.97 1.14c0-.03 1.48-2.8 1.48-2.8l-1.84-.43"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="m33.48 21.33 1.97 1.14c0-.03 1.48-2.8 1.48-2.8l-1.84-.43"/>
<path fill="#FFD153" d="M37.08 18.66c3 1.7.78 2.58.47 3.31-.74 1.77-1.48 2.04-2.3 3.44-2.08 3.56-2.47 8.07-2.8 12.09h-.02c-.06-.07-.18-.11-.27-.2h-.02c0 .1-.06.16-.08.25-.17-.19-.34-.15-.46.04h-.02c-.02-.06-.09-.12-.1-.18h-.32a.75.75 0 0 1-.1.12h-.03c-.03-.08-.12-.17-.15-.25h-.02l-.15.15h-.02c-.1-.11-.23-.14-.36-.04h-.02a4.73 4.73 0 0 1-.18-.4c-.04.05-.12.11-.16.18-.13-.14-.28-.13-.4.02h-.03c-.04-.05-.12-.1-.16-.16-.06.04-.09.03-.12.1h-.02c-.02-.09-.09-.18-.1-.24h-.02a.5.5 0 0 1-.15.1c0-3.21.4-6.28 1.57-9.28.86-2.2 1.98-3.24 3.53-5.02.52-.6 1.08-1.21 1.56-1.83.2-.27.35-.48.3-.84"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M37.08 18.66c3 1.7.78 2.58.47 3.31-.74 1.77-1.48 2.04-2.3 3.44-2.08 3.56-2.47 8.07-2.8 12.09h-.02c-.06-.07-.18-.11-.27-.2h-.02c0 .1-.06.16-.08.25-.17-.19-.34-.15-.46.04h-.02c-.02-.06-.09-.12-.1-.18h-.32a.75.75 0 0 1-.1.12h-.03c-.03-.08-.12-.17-.15-.25h-.02l-.15.15h-.02c-.1-.11-.23-.14-.36-.04h-.02a4.73 4.73 0 0 1-.18-.4c-.04.05-.12.11-.16.18-.13-.14-.28-.13-.4.02h-.03c-.04-.05-.12-.1-.16-.16-.06.04-.09.03-.12.1h-.02c-.02-.09-.09-.18-.1-.24h-.02a.5.5 0 0 1-.15.1c0-3.21.4-6.28 1.57-9.28.86-2.2 1.98-3.24 3.53-5.02.52-.6 1.08-1.21 1.56-1.83.2-.27.35-.48.3-.84"/>
<path fill="#000" d="M30.95 23.65s1.15 2.14 3.27 1.7a5.8 5.8 0 0 0 3.96-2.85c.78-1.24 1.14-1.47 1.73-1.82"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M30.95 23.65s1.15 2.14 3.27 1.7a5.8 5.8 0 0 0 3.96-2.85c.78-1.24 1.14-1.47 1.73-1.82"/>
<path fill="#FFD153" d="M35.93 18.7c-.9.32-1.92.27-2.83.6a3.98 3.98 0 0 0-2.27 2.13c-.28.72-.36 1.7.04 2.38.72 1.26 2.61 1.6 3.9 1.22 1.26-.4 2.37-1.54 3.18-2.55.33-.41.61-.85 1.01-1.22.23-.21.55-.54.95-.58.66-.07-.92-.7-1.26-.75a1.8 1.8 0 0 0-1.29.22c-.68.4-1.14 1.24-1.93 1.5-.38.12-.68.06-.9-.26-.35-.48-.08-.85.34-1.25"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.93 18.7c-.9.32-1.92.27-2.83.6a3.98 3.98 0 0 0-2.27 2.13c-.28.72-.36 1.7.04 2.38.72 1.26 2.61 1.6 3.9 1.22 1.26-.4 2.37-1.54 3.18-2.55.33-.41.61-.85 1.01-1.22.23-.21.55-.54.95-.58.66-.07-.92-.7-1.26-.75a1.8 1.8 0 0 0-1.29.22c-.68.4-1.14 1.24-1.93 1.5-.38.12-.68.06-.9-.26-.35-.48-.08-.85.34-1.25"/>
<path fill="#000" d="M32.26 20.53s1.27 1.02 2.71.6c1.45-.43 1.66-1.89 2.52-2.22a1.8 1.8 0 0 0-.52-.25"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.26 20.53s1.27 1.02 2.71.6c1.45-.43 1.66-1.89 2.52-2.22a1.8 1.8 0 0 0-.52-.25M18.4 25.17c-.53-.37-.96-.71-1.6-.86-.8-.17-1.6-.14-2.4-.27-.22-.04-.9-.14-.7-.47.15-.23.77-.15.99-.14.74.02 1.55.12 2.3.2"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M13.72 23.55c-.34-.26.1-.5.35-.55.27-.06.6-.02.87 0 .65.02 1.3.13 1.96.14.22 0 .38.05.6.06"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M13.72 23.16c-.08-.73 1.77-.6 2.17-.57.43.02.86.15 1.3.19.33.03.53.04.86.1"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M14.48 22.61c.15-.35 1.1-.37 1.64-.31.48.05.87.1 1.42.18.34.06.66.09 1 .14.43.06.78.23 1.2.23"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M19.73 23.43c-.11-.32 0-.6.17-.85.06-.07.1-.1.12-.2.04-.22.02-.43.28-.55.16-.08.56-.05.67.12.08.12.02.33.06.49.04.14.1.27.16.4.1.31.11.83.06 1.14"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M16.8 23.84c.34-.5.99-.82 1.5-1.1m-.54 1.24a7.9 7.9 0 0 1 1.66-.41"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="m23.69 35.64.9-3.49c.64-2.27.58-2.36 1.63-4.48a38.32 38.32 0 0 1 2.92-4.82"/>
<path fill="#000" d="M40.6 38.67v-2.52c0-2.26-.13-4.43-.42-6.66 0 0 .15 4.88 0 5.13s-.1.73.09 1.13c.19.4.06.67-.09 1.14-.15.47.1 1.15-.09 1.78"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M24.2 29.88c.05.25.23.5.36.72.13.23.2.49.3.73"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".05" d="M18.74 26.06c.49 0 .94 0 1.4-.17m-.76.64c-.22-.04-.4-.1-.6-.21m5.55 3.95c.15.05.36.08.49.19"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M39.2 21.04s1.36-.06 1.9.42c.54.48 1.79 1.54 2.21 2.53.43 1 .82.8 1.1 2 .29 1.17.74 3.77.94 5.5.2 1.73-.48 2.27-.11 2.2.37-.1.56-.16.4.2-.18.32-.1 1.07.06 1.86.16.8.25 2.88.25 2.88"/>
<path fill="#fff" d="M31.1 14.3c.34-2.78.48-5.63 1.08-8.38.2-.85.43-1.7.94-2.43.2-.3.64-.55 1.06-.4 1 .36.48 1.99.26 3.13a32.28 32.28 0 0 0-.68 6.58"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M31.1 14.3c.34-2.78.48-5.63 1.08-8.38.2-.85.43-1.7.94-2.43.2-.3.64-.55 1.06-.4 1 .36.48 1.99.26 3.13a32.28 32.28 0 0 0-.68 6.58"/>
<path fill="#fff" d="M35.75 11.74c-2.04-.74-4.26.42-4.65 2.2-.27 1.19-.38 2.1-.37 3.34.01 1.14.22 1.97.98 2.8.54.59 1.31.84 2.06.86 2.3.05 3.82-2.29 4.3-4.37.63-2.7.9-5.54 1.29-8.28.16-1.1.3-2.19.37-3.3.04-.7.13-1.5-.19-2.17-.37-.8-1.3-.54-1.7.04-.42.62-.58 1.5-.77 2.21-.2.77-.37 1.54-.52 2.32l-.58 3.05-.3 1.7"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.75 11.74c-2.04-.74-4.26.42-4.65 2.2-.27 1.19-.38 2.1-.37 3.34.01 1.14.22 1.97.98 2.8.54.59 1.31.84 2.06.86 2.3.05 3.82-2.29 4.3-4.37.63-2.7.9-5.54 1.29-8.28.16-1.1.3-2.19.37-3.3.04-.7.13-1.5-.19-2.17-.37-.8-1.3-.54-1.7.04-.42.62-.58 1.5-.77 2.21-.2.77-.37 1.54-.52 2.32l-.58 3.05-.3 1.7"/>
<path fill="#000" d="M32.2 16.17c-.17.69 1.01.53.73-.11-.16-.35-.63-.28-.73.11Z"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.2 16.17c-.17.69 1 .53.73-.11-.16-.35-.63-.28-.73.11Z" clip-rule="evenodd"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M32.2 16.17c-.17.69 1 .53.73-.11-.16-.35-.63-.28-.73.11Z" clip-rule="evenodd"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M35.38 16.63c-1.07.79-2.4.97-2.97.5 0 0-.75.62-1.81-.31m7.3-13.48c.1-.24.28-.53.58-.5.36.02.32.63.3.87-.03.33-.16.7-.3.97-.17.34-.2.5-.08.82.1.3-.03.49-.1.76s.1.44.1.7c.01.41-.13.79-.2 1.2-.1.53-.3 1.07-.37 1.62-.03.22 0 .22.1.38.08.12.13.15.09.3-.06.26-.28.45-.32.72-.05.3.16.52-.12.72-.19.13-.28.17-.06.32l-.2.1c0 .05.03.03.05.04"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="M36.8 12.17c.41.14.78.31 1.1.6"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".04" d="M33.03 4.01c.11-.26.49-.6.76-.4.26.2.14.48-.02.69-.17.22-.46.37-.33.66.07.17.1.26.06.46l-.2.7c-.16.6-.25 1.15-.22 1.77.01.33.02.59-.14.87-.13.21-.38.6-.27.87.06.19.23.22.2.47 0 .13-.08.25-.15.36-.04.07-.2.26-.17.36.03.16.26.15.24.36-.03.25-.42.28-.4.53.07.02.14 0 .2.03-.09.14-.36.1-.5.17l.1.2c0 .06-.06.08-.08.14l-.01.1"/>
<path stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M35.33 26.99s.45.04 1.17 0c.73-.04 2.34 0 2.34 0m-6.77-6.5a3 3 0 0 0 2.78 1.45c2.02-.05 5-2.36 2.99-1.68"/>
<path fill="#000" stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".04" d="M31.66 14.3c-.22 0-.37-.52 0-.59.37-.07 0 .6 0 .6v-.01Zm2.94.3c-.23 0-.38-.52 0-.59.37-.07 0 .6 0 .6v-.01Z"/>
<path fill="#F4EED8" stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="m21.95 20.79-9.59-.75V5.77l9.59.74V20.8v-.01Z"/>
<path stroke="#000" stroke-miterlimit="10" stroke-width=".05" d="m13.02 9.08 8.27.64M19.52 7.3l1.78.13m-1.78.2 1.78.14m-1.78.19 1.78.14m-8.28 1.96 8.27.64m-8.27.33 8.27.65m-8.27.33 8.27.64m-8.27.34 8.27.64m-8.27.34 8.27.64m-8.27.33 8.27.64m-8.27.34 8.27.64m-8.27.34 8.27.64m-8.27.33 6.72.53"/>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,17 +1,16 @@
import fs from 'fs/promises';
import fs from 'fs';
import path from 'path';
const currentDir = process.cwd();
const dataDirectory = path.resolve(currentDir, '.vitepress/data');
const directory = path.join(process.cwd(), '../categories');
async function getAllCategoryFiles() {
const categoryDirectoryContents = await fs.readdir(directory);
const fileNames = categoryDirectoryContents.filter((file) => path.extname(file) === '.json');
function getAllCategoryFiles() {
const fileNames = fs.readdirSync(directory).filter((file) => path.extname(file) === '.json');
const categoryJSONReadPromises = fileNames.map(async (fileName) => {
return fileNames.map((fileName) => {
const name = path.basename(fileName, '.json');
const fileContent = await fs.readFile(path.join(directory, fileName), 'utf8');
const fileContent = fs.readFileSync(path.join(directory, fileName), 'utf8');
const parsedFileContent = JSON.parse(fileContent);
@@ -20,15 +19,14 @@ async function getAllCategoryFiles() {
title: parsedFileContent.title,
};
});
return Promise.all(categoryJSONReadPromises);
}
const categoriesFile = path.resolve(dataDirectory, `categoriesData.json`);
const categoriesData = await getAllCategoryFiles();
const categoriesData = getAllCategoryFiles();
fs.writeFile(categoriesFile, JSON.stringify(categoriesData, null, 2), 'utf-8')
fs.promises
.writeFile(categoriesFile, JSON.stringify(categoriesData, null, 2), 'utf-8')
.then(() => {
console.log('Successfully written categoriesData.json file');
})

View File

@@ -4,7 +4,7 @@ import { readSvgDirectory, toCamelCase } from '@lucide/helpers';
const currentDir = process.cwd();
const ICONS_DIR = path.resolve(currentDir, '../icons');
const icons = await readSvgDirectory(ICONS_DIR, '.json');
const icons = readSvgDirectory(ICONS_DIR, '.json');
const iconDetailsDirectory = path.resolve(currentDir, '.vitepress/data', 'iconDetails');

View File

@@ -4,7 +4,7 @@ import { readSvgDirectory, toCamelCase } from '@lucide/helpers';
const currentDir = process.cwd();
const ICONS_DIR = path.resolve(currentDir, '../icons');
const iconJsonFiles = await readSvgDirectory(ICONS_DIR, '.json');
const iconJsonFiles = readSvgDirectory(ICONS_DIR, '.json');
const location = path.resolve(currentDir, '.vitepress/data', 'iconMetaData.ts');

View File

@@ -5,8 +5,8 @@ import { readSvgDirectory, toCamelCase } from '@lucide/helpers';
const currentDir = process.cwd();
const ICONS_DIR = path.resolve(currentDir, '../icons');
const svgFiles = await readSvgDirectory(ICONS_DIR);
const icons = await renderIconsObject(svgFiles, ICONS_DIR, true);
const svgFiles = readSvgDirectory(ICONS_DIR);
const icons = renderIconsObject(svgFiles, ICONS_DIR, true);
const iconNodesDirectory = path.resolve(currentDir, '.vitepress/data', 'iconNodes');
@@ -32,7 +32,7 @@ const writeIconFiles = Object.entries(icons).map(async ([iconName, { children }]
await fs.promises.writeFile(location, output, 'utf-8');
iconIndexFileImports.push(
`import ${toCamelCase(iconName)}Node from './${iconName}.node.json' with { type: "json" };`,
`import ${toCamelCase(iconName)}Node from './${iconName}.node.json' assert { type: "json" };`,
);
iconIndexFileExports.push(` ${toCamelCase(iconName)}Node as ${toCamelCase(iconName)},`);
iconIndexFileDefaultExports.push(` '${iconName}': ${toCamelCase(iconName)}Node,`);

View File

@@ -4,7 +4,7 @@ import { readSvgDirectory } from '@lucide/helpers';
const currentDir = process.cwd();
const ICONS_DIR = path.resolve(currentDir, '../icons');
const svgFiles = await readSvgDirectory(ICONS_DIR, '.json');
const svgFiles = readSvgDirectory(ICONS_DIR, '.json');
const location = path.resolve(currentDir, '.vitepress/data', 'relatedIcons.json');
@@ -18,7 +18,9 @@ const categoryWeight = 3;
const MAX_RELATED_ICONS = 4 * 17; // grid of 4x17 icons, = 68 icons
const arrayMatches = (a, b) => a.filter((item) => b.includes(item)).length;
const arrayMatches = (a, b) => {
return a.filter((item) => b.includes(item)).length;
};
const nameParts = (icon) =>
[
@@ -34,7 +36,6 @@ const getRelatedIcons = (currentIcon, icons) => {
nameWeight * arrayMatches(nameParts(item), nameParts(currentIcon)) +
categoryWeight * arrayMatches(item.categories ?? [], currentIcon.categories ?? []) +
tagWeight * arrayMatches(item.tags ?? [], currentIcon.tags ?? []);
return icons
.filter((i) => i.name !== currentIcon.name)
.map((icon) => ({ icon, similarity: iconSimilarity(icon) }))
@@ -45,8 +46,7 @@ const getRelatedIcons = (currentIcon, icons) => {
};
const iconsMetaDataPromises = svgFiles.map(async (iconName) => {
const metaDataFileContent = await fs.promises.readFile(`../icons/${iconName}`);
const metaData = JSON.parse(metaDataFileContent);
const metaData = JSON.parse(fs.readFileSync(`../icons/${iconName}`));
const name = iconName.replace('.json', '');

View File

@@ -11,7 +11,7 @@ const git = simpleGit();
const currentDir = process.cwd();
const ICONS_DIR = path.resolve(currentDir, '../icons');
const iconJsonFiles = await readSvgDirectory(ICONS_DIR, '.json');
const iconJsonFiles = readSvgDirectory(ICONS_DIR, '.json');
const location = path.resolve(currentDir, '.vitepress/data', 'releaseMetaData.json');
const releaseMetaDataDirectory = path.resolve(currentDir, '.vitepress/data', 'releaseMetadata');

View File

@@ -6,7 +6,7 @@ import { getCurrentDirPath } from '@lucide/helpers';
const currentDir = process.cwd();
const scriptDir = getCurrentDirPath(import.meta.url);
const iconMetaData = await getIconMetaData(path.resolve(scriptDir, '../../icons'));
const iconMetaData = await getIconMetaData(path.resolve(scriptDir, '../icons'));
const iconAliasesRedirectRoutes = Object.entries(iconMetaData)
.filter(([, { aliases }]) => aliases?.length)
@@ -16,7 +16,7 @@ const iconAliasesRedirectRoutes = Object.entries(iconMetaData)
const aliasRouteMatches = aliases.join('|');
return {
src: `/icons/${aliasRouteMatches}`,
src: `/icons/(${aliasRouteMatches})`,
status: 302,
headers: {
Location: `/icons/${iconName}`,
@@ -44,4 +44,4 @@ const output = JSON.stringify(vercelRouteConfig, null, 2);
const vercelOutputJSON = path.resolve(currentDir, '.vercel/output/config.json');
await fs.promises.writeFile(vercelOutputJSON, output, 'utf-8');
fs.writeFileSync(vercelOutputJSON, output, 'utf-8');

View File

@@ -64,20 +64,23 @@
"charts",
"communication",
"connectivity",
"currency",
"cursors",
"design",
"development",
"devices",
"emoji",
"files",
"finance",
"food-beverage",
"furniture",
"gaming",
"home",
"layout",
"mail",
"math",
"maps",
"maths",
"medical",
"money",
"multimedia",
"nature",
"navigation",
@@ -139,7 +142,7 @@
},
"aliasDeprecationReasons": {
"type": "string",
"enum": ["alias.typo", "alias.name", "alias.duplicate"]
"enum": ["alias.typo", "alias.name"]
},
"versionNumber": {
"type": "string",

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M17 12H7" />
<path d="M19 18H5" />
<path d="M21 6H3" />
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="17" x2="7" y1="12" y2="12" />
<line x1="19" x2="5" y1="18" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 12h18" />
<path d="M3 18h18" />
<path d="M3 6h18" />
<line x1="3" x2="21" y1="6" y2="6" />
<line x1="3" x2="21" y1="12" y2="12" />
<line x1="3" x2="21" y1="18" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M15 12H3" />
<path d="M17 18H3" />
<path d="M21 6H3" />
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="15" x2="3" y1="12" y2="12" />
<line x1="17" x2="3" y1="18" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 12H9" />
<path d="M21 18H7" />
<path d="M21 6H3" />
<line x1="21" x2="3" y1="6" y2="6" />
<line x1="21" x2="9" y1="12" y2="12" />
<line x1="21" x2="7" y1="18" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -1,22 +0,0 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"karsa-mistmere"
],
"tags": [
"pottery",
"artifact",
"artefact",
"vase",
"ceramics",
"clay",
"archaeology",
"museum",
"wine",
"oil"
],
"categories": [
"food-beverage",
"gaming"
]
}

View File

@@ -1,18 +0,0 @@
<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="M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8" />
<path d="M10 5H8a2 2 0 0 0 0 4h.68" />
<path d="M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8" />
<path d="M14 5h2a2 2 0 0 1 0 4h-.68" />
<path d="M18 22H6" />
<path d="M9 2h6" />
</svg>

Before

Width:  |  Height:  |  Size: 497 B

View File

@@ -10,6 +10,7 @@
],
"categories": [
"transportation",
"text"
"text",
"maps"
]
}

View File

@@ -13,6 +13,6 @@
"couch"
],
"categories": [
"home"
"furniture"
]
}

View File

@@ -13,6 +13,7 @@
],
"categories": [
"arrows",
"navigation"
"navigation",
"maps"
]
}

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